This is a little old question. But in fact, you can dynamically change proxies through the " hacker path " I'm going to use Selenium JS with Firefox, but you can follow it in the language you need.
Step 1: Visit "about: config"
driver.get("about:config");
Step 2: Run the script that will change the proxy
var setupScript=`var prefs = Components.classes["@mozilla.org/preferences-service;1"] .getService(Components.interfaces.nsIPrefBranch); prefs.setIntPref("network.proxy.type", 1); prefs.setCharPref("network.proxy.http", "${proxyUsed.host}"); prefs.setIntPref("network.proxy.http_port", "${proxyUsed.port}"); prefs.setCharPref("network.proxy.ssl", "${proxyUsed.host}"); prefs.setIntPref("network.proxy.ssl_port", "${proxyUsed.port}"); prefs.setCharPref("network.proxy.ftp", "${proxyUsed.host}"); prefs.setIntPref("network.proxy.ftp_port", "${proxyUsed.port}"); `; //running script below driver.executeScript(setupScript); //sleep for 1 sec driver.sleep(1000);
Where $ {abcd} is used , where you put your variables, in the example above I use ES6, which handles concatenation as shown, you can use other concatenation methods of your choice, depending on your language.
Step 3:. Visit your site.
driver.get("http://whatismyip.com");
Explanation: The above code uses the Firefox API to change settings using JavaScript code.
source share