User Tools

Site Tools


howto:firefox-proxy

Firefox/Chrome Proxy

To use a proxy for specific sites only, the easiest option is to create a pac file and configure Firefox/Chrome to use it as automatic proxy configuration.

Example pac file:

function FindProxyForURL(url, host) {
    if (dnsDomainIs(host, "example.com")) {
        return "HTTP 192.168.0.1:8888";
    }
}

Possible option to identify network to only use proxy if in home network or private ip range:

function FindProxyForURL(url, host) {
    var myIP = myIpAddress();

    // Detect by IP range (example: 192.168.1.x) or DNS suffix (example: home.lan)
    if (
        isInNet(myIP, "192.168.1.0", "255.255.255.0") ||
        dnsDomainIs(host, ".home.lan")
    ) {
        return "PROXY proxy.example.com:8080";
    }

    // Otherwise, no proxy
    return "DIRECT";
}

Store this somewhere and go to about:preferences → general → Network settings (very bottom) → settings, select “Automatic proxy configuration URL” and enter the path to the pac file in the file protocol notation, e.g.:

file:///home/user/.config/custom_proxies.pac

After making changes to the file, go back to the Firefox proxy configuration URL settings and click reload.

Further info:
Mozilla Dev

Chrome/Chromium:
These browsers use the system proxy settings and do not have a GUI option to set custom proxies. Proxies and bypass urls need to be set via command line:

--proxy-server="foopy:8080" --proxy-bypass-list="*.google.com;*foo.com;127.0.0.1:8080"
--proxy-pac-url="http://wpad/windows.pac"
howto/firefox-proxy.txt · Last modified: by Wulf Rajek