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

Last update: May 5, 2022

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>
		                   		<h2>GitHub</h2>
		                   		<a href="https://github.com/eypsilon/browser-reload"  rel="nofollow" >https://github.com/eypsilon/browser-reload</a>
		                      </article>
		                  </div>	                  
					</div>
 

                  
				</div>
					
					<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">
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/cbschuld-Browser-php-php-miscellaneous">Helps detect the user's browser and platform at the PHP level via the user agent</a></h3>
                           <p style="color:#95958a;">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 class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>May 23, 2022</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/AkmalFairuz-PMRemote">Remote or monitor your PocketMine:MP server via browser.</a></h3>
		                        
		                    	<img class="lazy img-fluid float-left mr-2" style="max-width: 220px;max-height: 110px" alt="Remote or monitor your PocketMine:MP server via browser." data-original="https://camo.githubusercontent.com/68a15425c75a70b3c0802fcaa88911fc390940d214def2206803559c59e4fcaf/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f3831383036343435343236343432323430312f3836313538393938313338363337353137382f53637265656e73686f745f313134352e706e67" >
		                       
                           <p style="color:#95958a;">PMRemote Remote or monitor your server via browser. Features Monitor (TPS, Server load, Players count) TODO: Remote (Access server console like RCON, </p>
                          <div class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>Apr 13, 2022</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/OpenDominion-OpenDominion">A text-based, persistent browser-based strategy game (PBBG) in a fantasy war setting</a></h3>
		                        
		                    	<img class="lazy img-fluid float-left mr-2" style="max-width: 220px;max-height: 110px" 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" >
		                       
                           <p style="color:#95958a;">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 class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>May 15, 2022</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/gordonknoppe-magento-cachebuster">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.</a></h3>
                           <p style="color:#95958a;">Magento Cachebuster Cachebuster is a Magento module which facilitates automatic purging of static assets from HTTP caches such as browser cache, CDN, </p>
                          <div class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>Apr 1, 2022</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/secret-sahil-D-Notifier-Extension">It's basically a dynamic web browser extension that can display notifications with the help of an admin-controlled dynamic API. </a></h3>
		                        
		                    	<img class="lazy img-fluid float-left mr-2" style="max-width: 220px;max-height: 110px" 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" >
		                       
                           <p style="color:#95958a;">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 class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>Jan 6, 2022</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/kalcaddle-kodexplorer">KodExplorer is a file manager for web. It is also a web code editor, which allows you to develop websites directly within the web browser.</a></h3>
		                        
		                    	<img class="lazy img-fluid float-left mr-2" style="max-width: 220px;max-height: 110px" alt="KodExplorer is a file manager for web. It is also a web code editor, which allows you to develop websites directly within the web browser." data-original="https://raw.githubusercontent.com/kalcaddle/static/master/images/kod/common2.png" >
		                       
                           <p style="color:#95958a;">KodExplorer is a file manager for web. It is also a web code editor, which allows you to develop websites directly within the web browser.</p>
                          <div class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>Feb 10, 2022</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/ccampbell-chromephp">ChromePhp - a PHP library for the Chrome Logger Google Chrome extension</a></h3>
                           <p style="color:#95958a;">ChromePhp - a PHP library for the Chrome Logger Google Chrome extension</p>
                          <div class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>May 13, 2022</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/caesareza-php-browsersync">Auto RELOAD dan "live server" untuk PHP file</a></h3>
		                        
		                    	<img class="lazy img-fluid float-left mr-2" style="max-width: 220px;max-height: 110px" alt="Auto RELOAD dan "live server" untuk PHP file" data-original="https://raw.githubusercontent.com/caesareza/php-browsersync/master/ss/home.jpg" >
		                       
                           <p style="color:#95958a;">PHP BrowserSync Auto Reload your Browser and PHP file ini adalah auto reload php file atau browser, jika ada perubahan di file php atau di file js dan</p>
                          <div class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>Jan 14, 2022</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/markitosgv-JWTRefreshTokenBundle">Implements a Refresh Token system over Json Web Tokens in Symfony</a></h3>
                           <p style="color:#95958a;">JWTRefreshTokenBundle The purpose of this bundle is manage refresh tokens with JWT (Json Web Tokens) in an easy way. This bundles uses LexikJWTAuthent</p>
                          <div class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>May 17, 2022</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/msurguy-laravel-backbone-pagination">In-place pagination without page refresh by using Backbone.js with Laravel PHP framework</a></h3>
		                        
		                    	<img class="lazy img-fluid float-left mr-2" style="max-width: 220px;max-height: 110px" alt="In-place pagination without page refresh by using Backbone.js with Laravel PHP framework" data-original="https://camo.githubusercontent.com/6c08aca3ae8394423706e80e6e2f7c374bc20ec2cc729bdb5a48db053e609737/68747470733a2f2f7261772e6769746875622e636f6d2f6d7375726775792f6c61726176656c2d6261636b626f6e652d706167696e6174696f6e2f6d61737465722f706167696e6174696f6e2e676966" >
		                       
                           <p style="color:#95958a;">Laravel Backbone - based in-place pagination demo Store application See demo at: http://demos.maxoffsky.com/ajax-pagination/ Tutorial at: http://maxof</p>
                          <div class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>Jan 3, 2022</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/izniburak-laravel-auto-routes">Auto Route Generating (Auto-Discovery) Package for Laravel.</a></h3>
                           <p style="color:#95958a;">Laravel Auto Routes                 _              _____             _            
     /\        | |            |  __ \           | |           
    </p>
                          <div class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>May 16, 2022</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/offasapalvinn-instagrambot">instagrambot ,it’s a console-based script created for autovoting (auto poll voting) and auto looking stories</a></h3>
                           <p style="color:#95958a;">instagrambot instagram bot for auto story view 3 instagrambot ,it’s a console-based script created for autovoting (auto poll voting) and auto looking</p>
                          <div class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>Jan 19, 2022</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/dolbex-webpack-laravel-php-starter-projects">A full-featured Webpack + vue-loader setup with hot reload, linting, testing & css extraction.</a></h3>
                           <p style="color:#95958a;">#Vue-Cli Template for Larvel + Webpack + Hotreload (HMR) I had a really tough time getting my workflow rocking between Laravel and VueJS projects. I f</p>
                          <div class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>Sep 11, 2020</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/lobtao-hyperf-helper">Quick start -d/reload/restart/stop hyperf(~2.1.0 & ~2.2.0) server</a></h3>
                           <p style="color:#95958a;">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 class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>Mar 3, 2022</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/barbushin-php-console-php-debugging-and-profiling">Handle PHP errors, dump variables, execute PHP code remotely in Google Chrome</a></h3>
                           <p style="color:#95958a;">PHP Console server library PHP Console allows you to handle PHP errors & exceptions, dump variables, execute PHP code remotely and many other things u</p>
                          <div class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>May 19, 2022</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/mxsgx-laravel-chromedriver-php-testing">Control Chrome or Chromium easily.</a></h3>
                           <p style="color:#95958a;">Laravel Chromedriver Control Chrome or Chromium easily. Requirements PHP 7.4 or latest Laravel 8.x Chrome or Chromium latest version Installation You </p>
                          <div class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>Sep 10, 2021</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/barbushin-php-console-laravel-php-laravel-utilities">Laravel 4.* and 5.* service providers to handle PHP errors, dump variables, execute PHP code remotely in Google Chrome</a></h3>
                           <p style="color:#95958a;">Laravel 4.* service provider for PHP Console See https://github.com/barbushin/php-console-laravel/releases/tag/1.2.1 Use "php-console/laravel-service-</p>
                          <div class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>Mar 3, 2021</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/chrome-php-chrome">Instrument headless chrome/chromium instances from PHP</a></h3>
                           <p style="color:#95958a;">Chrome PHP This library lets you start playing with chrome/chromium in headless mode from PHP. Can be used synchronously and asynchronously! Features </p>
                          <div class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>May 18, 2022</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
    	 
          <div class="single-cart-inner">
           <div class="row">
               <div class="col-xl-12 col-md-12">
               		
                   <div class="media">

                       <div class="media-body align-self-center ">
                           	<h3 class=" card-title h5"><a class="text-dark" href="/repo/mpociot-laravel-testtools">Chrome extension to generate Laravel integration tests while using your app.</a></h3>
                           <p style="color:#95958a;">Laravel TestTools Check out the introduction post about the chrome extension. Installation git clone git@github.com:mpociot/laravel-testtools.git

# i</p>
                          <div class="price mt-2" style="font-weight: bold;"><i class="fa fa-clock-o mr-2" aria-hidden="true"></i>May 12, 2022</div>
                       </div>
                   </div>
                    
               </div>
              
                
           </div>
       </div> 
     	
 		       
	                    </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">Related tags
		                        </h6>
		                     </div>
                              <div class="d-flex align-items-center p-3 job-item-header">
                                 <div class="overflow-hidden mr-2">
                                   
                                    <div class="tags mt-2">
				                        	<a href="/catalog/php-miscellaneous_newest_1">
				                        		Miscellaneous
				                        	 </a>
				                        
						                           <a href="/tag/php">php</a>
						                           <a href="/tag/xdotool">xdotool</a>
									</div>
                                 </div>
                              </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">
				                         <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Mar 3, 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>
		                    				<img class="lazy img-fluid float-left mr-2" style="max-width: 100px;max-height: 60px" alt="Magento Chrome Toolbar for MSP_DevTools" data-original="https://raw.githubusercontent.com/magespecialist/mage-chrome-toolbar/master/screenshots/main2.png" >
				                        <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">
				                         <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> May 17, 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">
				                         <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">
				                         <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>
		                    				<img class="lazy img-fluid float-left mr-2" style="max-width: 100px;max-height: 60px" alt="A system for auto-decorating models with presenters" data-original="https://user-images.githubusercontent.com/2829600/71563899-63b94e80-2a8f-11ea-9c5a-18e5484405a9.png" >
				                        <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">
				                         <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> May 12, 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>
		                    				<img class="lazy img-fluid float-left mr-2" style="max-width: 100px;max-height: 60px" alt="NUEiP auto clock" data-original="https://raw.githubusercontent.com/MTsung/nueip_auto_clock_in/master/public/img/home.png" >
				                        <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">
				                         <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Mar 9, 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">
				                         <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Dec 1, 2021
				                     </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>
		                    				<img class="lazy img-fluid float-left mr-2" style="max-width: 100px;max-height: 60px" alt="SlimJim was born out of a need for a simple auto update script which would update multiple development/test environments every time someone " data-original="https://github.com/jesalg/SlimJim/raw/master/SlimJim.png" >
				                        <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">
				                         <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Apr 22, 2022
				                     </div>
				                  </div>
		 						   <div class="box shadow-sm mb-3 rounded bg-white ads-box">
				                     <div class="p-3 border-bottom">
				                        <a href="/repo/SzerverHu-browser-details-php-miscellaneous"><h6 class="font-weight-bold ">PHP script for detecting browser details</h6></a>
				                        <p class="mb-0 text-muted">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="p-2">
				                         <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Sep 12, 2021
				                     </div>
				                  </div>
		 						   <div class="box shadow-sm mb-3 rounded bg-white ads-box">
				                     <div class="p-3 border-bottom">
				                        <a href="/repo/level-level-wp-browser-woocommerce"><h6 class="font-weight-bold ">Adds factory functions for WooCommerce to be used with wp-browser integration tests.</h6></a>
				                        <p class="mb-0 text-muted">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="p-2">
				                         <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> May 24, 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>
               <ul class="social">
                  <li>
                     <a href="/about" >About</a>  
                  </li>
                  <li>
                     <a href="/contact">Contact Us</a>  
                  </li>
                  <li>
                     <a href="/dmca">DMCA</a>  
                  </li>
                  <li>
                     <a href="/disclaimer">Disclaimer</a>  
                  </li>
                  <li>
                     <a href="/privacypolicy">Privacy Policy</a>  
                  </li>
               </ul>
            </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>