BroRelo - Browser Auto Refresh / Reload for Firefox, Chrome & Opera

Overview

BroRelo - Browser Auto Refresh / Reload for Firefox, Chrome & Opera

Ubuntu 21.10 | Apache/2.4.48 | PHP 8.0.18

This package can reload windows regardless of which Browser are in them and without the need of any additional Browser-extensions for any Browser.

Currently it works with Firefox, Chrome & Opera (but it should work with all Browsers). It doesn't even needs a URL or IP to work, but a identifier in the Title of the Page. And it also doesn't use an observer or services in order to work, it runs, when it's requested.

@install xdotool - window management

sudo apt-get install xdotool

@install browser-reload

# create directory, if not exists
mkdir -p ~/bin/browser-reload

# enter directory
cd ~/bin/browser-reload

# get browser-reload
git clone https://github.com/eypsilon/browser-reload.git

# make it executable
chmod +x ~/bin/browser-reload/browser-reload.php

To restrict the script to your local environment, set an EnvVar on your local Server and pass it to Env. For Apache2:

sudo gedit /etc/apache2/envvars
# append
export LOCAL_MACHINE_TITLE=" local-dev-many-title"
sudo gedit /etc/apache2/apache2.conf
# put
PassEnv LOCAL_MACHINE_TITLE

See config.php.example to set custom default configs and handle error occurrences.


To now make a Page (window) auto reloadable, just put the EnvVar in it's Title (or the value itself). This script searches in windownames of open windows to check if they contain the specified EnvVar. If a Window matches the criteria, the key defined in $config['trigger_key'] will get fired ("F5" | "ctrl+r").

Multiple windows with multiple Browsers at the same time are working as well - the Pages have to be active in the windows they're in (visible, top tab), and that's it.

<span class="pl-c1">.</span>.<span class="pl-c1">.</span><?= <span class="pl-c">/*local*/</span> <span class="pl-s1"><span class="pl-c1">$</span><span class="pl-c1">_SERVER</span></span>[<span class="pl-s">'LOCAL_MACHINE_TITLE'</span>] ?? <span class="pl-c1">null</span> <span class="pl-ent">?></span><span class="pl-kos"></</span>title<span class="pl-kos">></span></pre>
</div> 
<hr> 
<h2 dir="auto"><a id="user-content-visual-studio-code" class="anchor" aria-hidden="true" href="#visual-studio-code">
  <svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true">
   <path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path>
  </svg></a>Visual Studio Code</h2> 
<p dir="auto">To reload Browser on save, @install <a href="https://github.com/pucelle/vscode-run-on-save">vscode-run-on-save</a></p> 
<p dir="auto"><code>~/.config/Code/User/settings.json</code></p> 
<div class="highlight highlight-source-js position-relative overflow-auto" data-snippet-clipboard-copy-content="{
    "runOnSave.statusMessageTimeout": 1000,
    "runOnSave.commands": [
        {
            "match": ".*",

            // # Options
            // "command": "...browser-reload.php    Options=GoesHere",

            // output=true                          // [false | 'minimal'] :: default true
            // set_timeout=0.1                      // > 0                 :: default 0.1
            // trigger_key='ctrl%2Br'               // ['F5' | 'ctrl%2Br'] :: default 'ctrl+r'
            // srch_title='local-dev-many-title'    // (string)            :: default 'local-dev-many-title'

            // # set custom Browser names to search for. To get
            // # the Name of a window, run "xprop | grep WM_CLASS"
            // # and click the window of interest. Defaults are
            // srch_browser[]=Navigator
            // srch_browser[]=Google-chrome
            // srch_browser[]=Opera

            // # Additional titles to search for, on error for example
            // # see config.php.example for more infos
            // match_title[]='Mozilla Firefox'

            // # Add regexe, see config.php.example for more infos
            // regex_title[]='~localhost.loc~'

            // # the file, that has triggered the reload
            // filename=${fileBasename}
            // extension=${fileExtname}
            // file=${file}
            // dir=${fileDirname}

            "command": "~/bin/browser-reload/browser-reload.php",
            "runIn": "backend",
            "runningStatusMessage": "BrowserReload started ${fileBasename}",
            "finishStatusMessage": "BrowserReload done, ${fileBasename}"
        }
    ]
}">
 <pre><span class="pl-kos">{</span>
    <span class="pl-s">"runOnSave.statusMessageTimeout"</span>: <span class="pl-c1">1000</span><span class="pl-kos">,</span>
    <span class="pl-s">"runOnSave.commands"</span>: <span class="pl-kos">[</span>
        <span class="pl-kos">{</span>
            <span class="pl-s">"match"</span>: <span class="pl-s">".*"</span><span class="pl-kos">,</span>

            <span class="pl-c">// # Options</span>
            <span class="pl-c">// "command": "...browser-reload.php    Options=GoesHere",</span>

            <span class="pl-c">// output=true                          // [false | 'minimal'] :: default true</span>
            <span class="pl-c">// set_timeout=0.1                      // > 0                 :: default 0.1</span>
            <span class="pl-c">// trigger_key='ctrl%2Br'               // ['F5' | 'ctrl%2Br'] :: default 'ctrl+r'</span>
            <span class="pl-c">// srch_title='local-dev-many-title'    // (string)            :: default 'local-dev-many-title'</span>

            <span class="pl-c">// # set custom Browser names to search for. To get</span>
            <span class="pl-c">// # the Name of a window, run "xprop | grep WM_CLASS"</span>
            <span class="pl-c">// # and click the window of interest. Defaults are</span>
            <span class="pl-c">// srch_browser[]=Navigator</span>
            <span class="pl-c">// srch_browser[]=Google-chrome</span>
            <span class="pl-c">// srch_browser[]=Opera</span>

            <span class="pl-c">// # Additional titles to search for, on error for example</span>
            <span class="pl-c">// # see config.php.example for more infos</span>
            <span class="pl-c">// match_title[]='Mozilla Firefox'</span>

            <span class="pl-c">// # Add regexe, see config.php.example for more infos</span>
            <span class="pl-c">// regex_title[]='~localhost.loc~'</span>

            <span class="pl-c">// # the file, that has triggered the reload</span>
            <span class="pl-c">// filename=${fileBasename}</span>
            <span class="pl-c">// extension=${fileExtname}</span>
            <span class="pl-c">// file=${file}</span>
            <span class="pl-c">// dir=${fileDirname}</span>

            <span class="pl-s">"command"</span>: <span class="pl-s">"~/bin/browser-reload/browser-reload.php"</span><span class="pl-kos">,</span>
            <span class="pl-s">"runIn"</span>: <span class="pl-s">"backend"</span><span class="pl-kos">,</span>
            <span class="pl-s">"runningStatusMessage"</span>: <span class="pl-s">"BrowserReload started ${fileBasename}"</span><span class="pl-kos">,</span>
            <span class="pl-s">"finishStatusMessage"</span>: <span class="pl-s">"BrowserReload done, ${fileBasename}"</span>
        <span class="pl-kos">}</span>
    <span class="pl-kos">]</span>
<span class="pl-kos">}</span></pre>
</div> 
<p dir="auto">Enable / Disable via cmd <code>ctrl+shift+p</code></p> 
<div class="highlight highlight-source-batchfile position-relative overflow-auto" data-snippet-clipboard-copy-content="Run On Save: Enable
Run On Save: Disable">
 <pre>Run On Save: Enable
Run On Save: Disable</pre>
</div> 
<p dir="auto">Check response output: <code>ctrl+k + ctrl+h</code> > Output > "Run on Save"</p> 
<hr> 
<h3 dir="auto"><a id="user-content-custom-config" class="anchor" aria-hidden="true" href="#custom-config">
  <svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true">
   <path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path>
  </svg></a>Custom Config</h3> 
<p dir="auto">Use custom configs to overwrite default configs. Set a list of strings to handle errors on your Page.</p> 
<hr> 
<h4 dir="auto"><a id="user-content-regular-expressions" class="anchor" aria-hidden="true" href="#regular-expressions">
  <svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true">
   <path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path>
  </svg></a>Regular Expressions</h4> 
<p dir="auto">Set regular expressions to handle error pages. See 'config.php.example' for more infos.</p> 
<hr> 
<h5 dir="auto"><a id="user-content-add-aliases-optional" class="anchor" aria-hidden="true" href="#add-aliases-optional">
  <svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true">
   <path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path>
  </svg></a>Add Aliases (optional)</h5> 
<div class="highlight highlight-source-shell position-relative overflow-auto" data-snippet-clipboard-copy-content="~$ sudo gedit ~/.bash_aliases

alias BrowserReload='~/bin/browser-reload/browser-reload.php'
alias BrowserReloadQuiet='~/bin/browser-reload/browser-reload.php output=false'

~$ source ~/.bash_aliases">
 <pre><span class="pl-k">~</span>$ sudo gedit <span class="pl-k">~</span>/.bash_aliases

<span class="pl-c1">alias</span> BrowserReload=<span class="pl-s"><span class="pl-pds">'</span>~/bin/browser-reload/browser-reload.php<span class="pl-pds">'</span></span>
<span class="pl-c1">alias</span> BrowserReloadQuiet=<span class="pl-s"><span class="pl-pds">'</span>~/bin/browser-reload/browser-reload.php output=false<span class="pl-pds">'</span></span>

<span class="pl-k">~</span>$ <span class="pl-c1">source</span> <span class="pl-k">~</span>/.bash_aliases</pre>
</div> 
<p dir="auto">with Aliases in place, we can reload open windows from the terminal with</p> 
<div class="highlight highlight-source-js position-relative overflow-auto" data-snippet-clipboard-copy-content="BrowserReload">
 <pre><span class="pl-v">BrowserReload</span></pre>
</div>
		                      </article>
		                  </div>	                  
					</div>
 
				</div>
		
		
							<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
							<ins class="adsbygoogle"
							     style="display:block"
							     data-ad-format="autorelaxed"
							     data-ad-client="ca-pub-7963911354665843"
							     data-ad-slot="8874001906"></ins>
							<script>
							     (adsbygoogle = window.adsbygoogle || []).push({});
							</script>
		

					<div id="issues" class="card mt-3">
                 	  <div class="card-header"><h5>You might also like...</h5></div>
                      <div class="card-body">
	                  <div class="review-list">
 
               <a href="/repo/an-auto-software-that-collects-scans-and-sends-automatic-instagram-users">
                    <img class="lazy img-fluid " alt="An auto software that collects, scans and sends automatic instagram users" data-original="https://user-images.githubusercontent.com/65618247/173745092-02f5186d-bf5a-427c-b78b-f73eb88eb9c9.png" >
                </a>
             <div class="card-body">
		     <a href="/repo/an-auto-software-that-collects-scans-and-sends-automatic-instagram-users"><h5 class="carhd card-title text-dark">An auto software that collects, scans and sends automatic instagram users</h5></a>
		    <p class="card-text"> Instagram Advanced User Finder V1.0.0 With this PHP script, you can find users on Instagram and message them. Feedback Türkçe Get Key every week, you </p>
		    
		  </div>
		  
		 
		  <div class="card-footer text-muted">
		       <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 14%" data-original="https://avatars.githubusercontent.com/u/65618247?v=4&s=60" alt="Yasin" >
	           <i class="fa fa-star ml-2" aria-hidden="true"></i> 70 <i class="fa fa-clock-o ml-2" aria-hidden="true"></i> Jan 4, 2023
          	</div>     
     	 
     	 
 		       
 
             <div class="card-body">
		     <a href="/repo/symfony-ux-autocomplete"><h5 class="carhd card-title text-dark">Javascript-powered auto-completion functionality for your Symfony forms!</h5></a>
		    <p class="card-text"> Symfony UX Autocomplete Javascript-powered auto-completion functionality for your Symfony forms! EXPERIMENTAL This component is currently experimental</p>
		    
		  </div>
		  
		 
		  <div class="card-footer text-muted">
		       <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 14%" data-original="https://avatars.githubusercontent.com/u/143937?v=4&s=60" alt="Symfony" >
	           <i class="fa fa-star ml-2" aria-hidden="true"></i> 12 <i class="fa fa-clock-o ml-2" aria-hidden="true"></i> Dec 15, 2022
          	</div>     
     	 
     	 
 		       
 
             <div class="card-body">
		     <a href="/repo/SzerverHu-browser-details-php-miscellaneous"><h5 class="carhd card-title text-dark">PHP script for detecting browser details</h5></a>
		    <p class="card-text"> Browser-details PHP script for detecting Your IP Address / Hostname, Browser/Computer Properties and Browser Headers. (Works with PHP 4, PHP 5, PHP 7,</p>
		    
		  </div>
		  
		 
		  <div class="card-footer text-muted">
		       <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 14%" data-original="https://avatars.githubusercontent.com/u/86362141?v=4&s=60" alt="Szerver.hu" >
	           <i class="fa fa-star ml-2" aria-hidden="true"></i> 5 <i class="fa fa-clock-o ml-2" aria-hidden="true"></i> Oct 15, 2022
          	</div>     
     	 
     	 
 		       
 
             <div class="card-body">
		     <a href="/repo/level-level-wp-browser-woocommerce"><h5 class="carhd card-title text-dark">Adds factory functions for WooCommerce to be used with wp-browser integration tests.</h5></a>
		    <p class="card-text"> wp-browser-woocommerce This library simplifies testing of WooCommerce themes and plugins with wp-browser. Several Unit Test Factories are added that a</p>
		    
		  </div>
		  
		 
		  <div class="card-footer text-muted">
		       <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 14%" data-original="https://avatars.githubusercontent.com/u/4168803?v=4&s=60" alt="Level Level" >
	           <i class="fa fa-star ml-2" aria-hidden="true"></i> 12 <i class="fa fa-clock-o ml-2" aria-hidden="true"></i> Dec 29, 2022
          	</div>     
     	 
     	 
 		       
 
             <div class="card-body">
		     <a href="/repo/cbschuld-Browser-php-php-miscellaneous"><h5 class="carhd card-title text-dark">Helps detect the user's browser and platform at the PHP level via the user agent</h5></a>
		    <p class="card-text"> cbschuld/browser.php Helps detect the user's browser and platform at the PHP level via the user agent Installation You can add this library as a local</p>
		    
		  </div>
		  
		 
		  <div class="card-footer text-muted">
		       <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 14%" data-original="https://avatars.githubusercontent.com/u/231867?v=4&s=60" alt="Chris Schuld" >
	           <i class="fa fa-star ml-2" aria-hidden="true"></i> 574 <i class="fa fa-clock-o ml-2" aria-hidden="true"></i> Dec 16, 2022
          	</div>     
     	 
     	 
 		       
 
               <a href="/repo/AkmalFairuz-PMRemote">
                    <img class="lazy img-fluid " alt="Remote or monitor your PocketMine:MP server via browser." data-original="https://camo.githubusercontent.com/68a15425c75a70b3c0802fcaa88911fc390940d214def2206803559c59e4fcaf/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f3831383036343435343236343432323430312f3836313538393938313338363337353137382f53637265656e73686f745f313134352e706e67" >
                </a>
             <div class="card-body">
		     <a href="/repo/AkmalFairuz-PMRemote"><h5 class="carhd card-title text-dark">Remote or monitor your PocketMine:MP server via browser.</h5></a>
		    <p class="card-text"> PMRemote Remote or monitor your server via browser. Features Monitor (TPS, Server load, Players count) TODO: Remote (Access server console like RCON, </p>
		    
		  </div>
		  
		 
		  <div class="card-footer text-muted">
		       <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 14%" data-original="https://avatars.githubusercontent.com/u/35138228?v=4&s=60" alt="null" >
	           <i class="fa fa-star ml-2" aria-hidden="true"></i> 11 <i class="fa fa-clock-o ml-2" aria-hidden="true"></i> Dec 7, 2022
          	</div>     
     	 
     	 
 		       
 
               <a href="/repo/OpenDominion-OpenDominion">
                    <img class="lazy img-fluid " alt="A text-based, persistent browser-based strategy game (PBBG) in a fantasy war setting" data-original="https://raw.githubusercontent.com/OpenDominion/OpenDominion/resources/logos/opendominion.png" >
                </a>
             <div class="card-body">
		     <a href="/repo/OpenDominion-OpenDominion"><h5 class="carhd card-title text-dark">A text-based, persistent browser-based strategy game (PBBG) in a fantasy war setting</h5></a>
		    <p class="card-text"> Note: OpenDominion is still in development. Some features of the game have not been implemented yet. Introduction OpenDominion is a free and open-sour</p>
		    
		  </div>
		  
		 
		  <div class="card-footer text-muted">
		       <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 14%" data-original="https://avatars.githubusercontent.com/u/68814325?v=4&s=60" alt="null" >
	           <i class="fa fa-star ml-2" aria-hidden="true"></i> 180 <i class="fa fa-clock-o ml-2" aria-hidden="true"></i> Dec 28, 2022
          	</div>     
     	 
     	 
 		       
 
             <div class="card-body">
		     <a href="/repo/gordonknoppe-magento-cachebuster"><h5 class="carhd card-title text-dark">A Magento 1.x module which facilitates automatic purging of static assets from HTTP caches such as browser cache, CDN, Varnish, etc using best practices outlined within the HTML5 boilerplate community.</h5></a>
		    <p class="card-text"> Magento Cachebuster Cachebuster is a Magento module which facilitates automatic purging of static assets from HTTP caches such as browser cache, CDN, </p>
		    
		  </div>
		  
		 
		  <div class="card-footer text-muted">
		       <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 14%" data-original="https://avatars.githubusercontent.com/u/475949?v=4&s=60" alt="Gordon Knoppe" >
	           <i class="fa fa-star ml-2" aria-hidden="true"></i> 129 <i class="fa fa-clock-o ml-2" aria-hidden="true"></i> Apr 1, 2022
          	</div>     
     	 
     	 
 		       
 
               <a href="/repo/secret-sahil-D-Notifier-Extension">
                    <img class="lazy img-fluid " alt="It's basically a dynamic web browser extension that can display notifications with the help of an admin-controlled dynamic API. " data-original="https://camo.githubusercontent.com/5dc40fd7d3aae023e72be9f9e96308c13c61afa5d572e48bba979ef60f2d57b0/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f3836343934313836373232303037343439372f3932383236303739313835363136303832382f6c6f676f2e706e67" >
                </a>
             <div class="card-body">
		     <a href="/repo/secret-sahil-D-Notifier-Extension"><h5 class="carhd card-title text-dark">It's basically a dynamic web browser extension that can display notifications with the help of an admin-controlled dynamic API. </h5></a>
		    <p class="card-text"> D-NOTIFIER A self controlled dynamic API based web browser extension built by Sahil Kumar How It Works? It's basically a dynamic web browser extension</p>
		    
		  </div>
		  
		 
		  <div class="card-footer text-muted">
		       <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 14%" data-original="https://avatars.githubusercontent.com/u/74106768?v=4&s=60" alt="Sahil Kumar" >
	           <i class="fa fa-star ml-2" aria-hidden="true"></i> 1 <i class="fa fa-clock-o ml-2" aria-hidden="true"></i> Jan 6, 2022
          	</div>     
     	 
     	 
 		       
	                    </div>
	                </div>
               </div>	
																															
				
	                 <div id="releases" class="card mt-3">
	                 	  <div class="card-header"><h5>Releases(v0.0.1)</h5></div>
	                      <div class="card-body">
		                  <div class="review-list">
		                     <ul>
		                        <li>
		                           <div class="d-flex">
		                              
		                              <div class="right">
		                                 <h4>
		                                     
		                                    v0.0.1(May 2, 2022)
		                                     
		                                 </h4>
		                                  
		                                 <div class="review-description">
		                                   <article class="markdown-body">
			                                   <p>It's beta</p>

			                                  
			                                    <i class="fa fa-file-code-o m-r-xs" aria-hidden="true"></i><a href="https://api.github.com/repos/eypsilon/browser-reload/tarball/v0.0.1">Source code(tar.gz)</a><br><i class="fa fa-file-code-o m-r-xs" aria-hidden="true"></i><a href="https://api.github.com/repos/eypsilon/browser-reload/zipball/v0.0.1">Source code(zip)</a><br>
		                                    </article>
		                                 </div>
		                                
		                              </div>
		                           </div>
		                        </li>
		                        
		                     </ul>
		                    </div>
		                </div>
	               </div>
                              

               </div>
               <div class="col-lg-4 right">
                  
                        <div id="basic" class="tab-pane fade show active">
                        
	                     <div class="box shadow-sm rounded bg-white mb-3">
		                     <div class="box-title border-bottom p-3">
		                        <h6 class="m-0">Owner
		                        </h6>
		                     </div>
                              <div class="d-flex align-items-center p-3 job-item-header">
                                 <div class="overflow-hidden mr-2">
                                    <h6 class="font-weight-bold  -dark mb-0 text-truncate">
										eypsilon
									</h6>
                                    <div class="small text-gray-500">
									</div>
                                 </div>
                                 	<img class="img-fluid ml-auto" style="border-radius: 50%;" src="https://avatars.githubusercontent.com/u/27016183?v=4&s=60" alt="eypsilon">
                              </div>
                              		                     
                              <div class="box-body p-3">       
    							<a href="https://github.com/eypsilon/browser-reload"  rel="nofollow" target="_blank" class="btn btn-lg btn-block btn-info mb-3"><i class="fa fa-github" aria-hidden="true"></i> GitHub </a>
		                 	</div>
		                    	                     
	                     </div>
	                     
	                     	
		 						   <div class="box shadow-sm mb-3 rounded bg-white ads-box">
				                     <div class="p-3 border-bottom">
				                        <a href="/repo/this-is-a-small-piece-of-code-to-steal-firefoxs-cookies-and-upload-to-server-written-in-vba"><h6 class="font-weight-bold ">This is a small piece of code to steal firefox's cookies and upload to server (Written in VBA)</h6></a>
				                        <p class="mb-0 text-muted">Steal-firefox-cookies-VBA-macro This is a small piece of code to steal firefox's cookies and upload to server (Written in VBA) Please note For educati</p>
				                     </div>
				                     <div class="p-2">
				                     	 <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/36328177?v=4&s=40" alt="HitmanAlharbi" >
				                         <i class="fa fa-star ml-3" aria-hidden="true"></i> 6 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Sep 27, 2022
				                     </div>
				                  </div>
		 						   <div class="box shadow-sm mb-3 rounded bg-white ads-box">
				                     <div class="p-3 border-bottom">
				                        <a href="/repo/lobtao-hyperf-helper"><h6 class="font-weight-bold ">Quick start -d/reload/restart/stop hyperf(~2.1.0 & ~2.2.0) server</h6></a>
				                        <p class="mb-0 text-muted">hyperf-helper 1. quick start -d/reload/restart/stop server 2. support hyperf ~2.1.0 & ~2.2.0 3. support CentOS7+, Ubuntu 18.0.4+, macOS 4. support swo</p>
				                     </div>
				                     <div class="p-2">
				                     	 <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/3361397?v=4&s=40" alt="lobtao" >
				                         <i class="fa fa-star ml-3" aria-hidden="true"></i> 8 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Dec 16, 2022
				                     </div>
				                  </div>
		 						   <div class="box shadow-sm mb-3 rounded bg-white ads-box">
				                     <div class="p-3 border-bottom">
				                        <a href="/repo/refresh-artisan-commandstablemigrationsmodelscontrollers"><h6 class="font-weight-bold ">Refresh artisan commands,table,migrations,models,controllers...</h6></a>
				                        <p class="mb-0 text-muted">About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie</p>
				                     </div>
				                     <div class="p-2">
				                     	 <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/104593484?v=4&s=40" alt="Javier Fernández" >
				                         <i class="fa fa-star ml-3" aria-hidden="true"></i> 11 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Oct 18, 2022
				                     </div>
				                  </div>
		 						   <div class="box shadow-sm mb-3 rounded bg-white ads-box">
				                     <div class="p-3 border-bottom">
				                        <a href="/repo/magespecialist-mage-chrome-toolbar"><h6 class="font-weight-bold ">Magento Chrome Toolbar for MSP_DevTools</h6></a>
				                        <p class="mb-0 text-muted">Magento Chrome Toolbar for MSP DevTools Magento Chrome Toolbar is a chrome extension to be used with MSP_DevTools for Magento 1 or Magento 2. This ext</p>
				                     </div>
				                     <div class="p-2">
				                     	 <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/3977029?v=4&s=40" alt="MageSpecialist" >
				                         <i class="fa fa-star ml-3" aria-hidden="true"></i> 308 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Dec 10, 2022
				                     </div>
				                  </div>
		 						   <div class="box shadow-sm mb-3 rounded bg-white ads-box">
				                     <div class="p-3 border-bottom">
				                        <a href="/repo/rezamatrix-Steam-store-auto-add-to-cart-game"><h6 class="font-weight-bold ">Steam store auto add to cart game</h6></a>
				                        <p class="mb-0 text-muted">Steam store auto add to cart game use it for steam trading card farm How does it work? link.php explode and find link from link.txt and next open all </p>
				                     </div>
				                     <div class="p-2">
				                     	 <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/47883853?v=4&s=40" alt="reza malekpour" >
				                         <i class="fa fa-star ml-3" aria-hidden="true"></i> 3 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Sep 4, 2021
				                     </div>
				                  </div>
		 						   <div class="box shadow-sm mb-3 rounded bg-white ads-box">
				                     <div class="p-3 border-bottom">
				                        <a href="/repo/masoudnazarpoor-TempTag-php-miscellaneous"><h6 class="font-weight-bold ">Auto-expiring tags with additional payload data on any eloquent model.</h6></a>
				                        <p class="mb-0 text-muted">Laravel TempTag Auto-expiring tags with additional payload data on any eloquent model. Installation first you need to install and configure mongodb in</p>
				                     </div>
				                     <div class="p-2">
				                     	 <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/36822055?v=4&s=40" alt="masoud nazarpoor" >
				                         <i class="fa fa-star ml-3" aria-hidden="true"></i> 2 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Sep 18, 2021
				                     </div>
				                  </div>
		 						   <div class="box shadow-sm mb-3 rounded bg-white ads-box">
				                     <div class="p-3 border-bottom">
				                        <a href="/repo/ShawnMcCool-laravel-auto-presenter-php-miscellaneous"><h6 class="font-weight-bold ">A system for auto-decorating models with presenters</h6></a>
				                        <p class="mb-0 text-muted">Laravel Auto Presenter 7 This package automatically decorates objects bound to views during the view render process. Features Automatically decorate o</p>
				                     </div>
				                     <div class="p-2">
				                     	 <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/12493019?v=4&s=40" alt="Laravel Auto Presenter" >
				                         <i class="fa fa-star ml-3" aria-hidden="true"></i> 754 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Dec 21, 2022
				                     </div>
				                  </div>
		 						   <div class="box shadow-sm mb-3 rounded bg-white ads-box">
				                     <div class="p-3 border-bottom">
				                        <a href="/repo/MTsung-nueip_auto_clock_in"><h6 class="font-weight-bold ">NUEiP auto clock</h6></a>
				                        <p class="mb-0 text-muted">NUEiP 自動打卡系統 本作品僅為研究及練習使用。 demo 行事曆工作日使用公共 API : 政府行政機關辦公日曆表 Install run copy .env.example .env run php artisan key:generate 設定 env,DB 連線資訊、Mailer 設定、</p>
				                     </div>
				                     <div class="p-2">
				                     	 <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/31063480?v=4&s=40" alt="null" >
				                         <i class="fa fa-star ml-3" aria-hidden="true"></i> 3 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Nov 2, 2022
				                     </div>
				                  </div>
		 						   <div class="box shadow-sm mb-3 rounded bg-white ads-box">
				                     <div class="p-3 border-bottom">
				                        <a href="/repo/kahur-Phalcon-autorouter"><h6 class="font-weight-bold ">Simple way to auto load modules without complicate definition of routes</h6></a>
				                        <p class="mb-0 text-muted">Phalcon-autorouter Version 2.0 Example full application with various libraries included in this example Change log Structure have been changed and upd</p>
				                     </div>
				                     <div class="p-2">
				                     	 <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/20650361?v=4&s=40" alt="Kamil" >
				                         <i class="fa fa-star ml-3" aria-hidden="true"></i> 28 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Dec 27, 2022
				                     </div>
				                  </div>
		 						   <div class="box shadow-sm mb-3 rounded bg-white ads-box">
				                     <div class="p-3 border-bottom">
				                        <a href="/repo/jesalg-SlimJim"><h6 class="font-weight-bold ">SlimJim was born out of a need for a simple auto update script which would update multiple development/test environments every time someone </h6></a>
				                        <p class="mb-0 text-muted">SlimJim WHY? SlimJim was born out of a need for a simple auto update script which would update multiple development/test environments every time someo</p>
				                     </div>
				                     <div class="p-2">
				                     	 <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/885248?v=4&s=40" alt="Jesal Gadhia" >
				                         <i class="fa fa-star ml-3" aria-hidden="true"></i> 100 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Apr 22, 2022
				                     </div>
				                  </div>
                     </div>
                
            </div>
         </div>
         
      </div>


	      <!--       footer -->
      <footer class="bg-white">
         <div class="container">
 
            <div class="copyright">
               <div class="logo">
                  <a href="/">
                  <img src="/assets/images/logo_bestofphp.png">
                  </a>
               </div>
               <p>2022.bestofphp
               </p>
            </div>
         </div>
      </footer>
      <!--       footer-->
      <!-- Bootstrap core JavaScript -->
      <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha512-bnIvzh6FU75ZKxp0GXLH9bewza/OIw6dLVh9ICg0gogclmYGguQJWl8U30WpbsGTqbIiAwxTsbe76DErLq5EDQ==" crossorigin="anonymous"></script>
	  <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/js/bootstrap.bundle.min.js" integrity="sha512-Oy5BruJdE3gP9+LMJ11kC5nErkh3p4Y0GawT1Jrcez4RTDxODf3M/KP3pEsgeOYxWejqy2SPnj+QMpgtvhDciQ==" crossorigin="anonymous"></script>
      <!-- select2 Js -->
      <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js" integrity="sha512-2ImtlRlf2VVmiGZsjm9bEyhjGW4dU7B6TNwh/hx/iSByxNENtj3WVE6o/9Lj4TJeVXPi4bnOIMXFIJJAeufa0A==" crossorigin="anonymous"></script>
      <!-- Custom -->
      <script src="/assets/js/custom.js"></script>
  	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.lazyload/1.9.1/jquery.lazyload.min.js"></script>

	  <script>
		$(function() {
			$("img.lazy").lazyload({
			    threshold :180,
			    failurelimit :20,
			    effect : "fadeIn"
			});
		});
	 </script>	
	<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/highlight.min.js"></script>
	<script>
        hljs.initHighlightingOnLoad();
    </script>

   </body>
</html>