Proxies

Enable seamless configuration of the browser’s proxy settings by using a PAC (Proxy Auto-Config) script or any of the other supported methods.

A PAC script is a small JavaScript file that tells the browser how to route each web request—deciding whether to send it directly or through one or more proxy servers. By defining these rules in a single, centralized file, you can:

  • Send different URLs through different proxies.

  • Bypass the proxy when connecting to local or trusted hosts.

  • List multiple proxies in order of preference, with a final fallback to direct connection.

You can also configure proxies by setting environment variables, using system properties, integrating with your desktop’s system proxy settings, or leveraging WPAD (Web Proxy Auto-Discovery).

PAC Script (Proxy Auto-Config)

Equo Chromium provides system property to configure proxies by pointing to a PAC script. A PAC script uses a standard JavaScript function, FindProxyForURL(url, host), which returns a proxy configuration string for each request. Equo Chromium can fetch and evaluate this script at startup.

Usage

To point Chromium to your PAC file, use the following JVM‐style system property:

-Dchromium.proxy_pac_script="http://proxy.example.com/config.pac"

Environment Variables

Equo Chromium honors the standard UNIX environment variables for proxies:

export http_proxy="http://proxy-user:proxy-pass@proxy.example.com:3128"
export https_proxy="http://proxy-user:proxy-pass@proxy.example.com:3128"
export ftp_proxy="http://proxy.example.com:3128"
export no_proxy="localhost,127.0.0.1,*.mycompany.internal"
  • http_proxy/https_proxy/ftp_proxy: Full proxy URLs including credentials.

  • no_proxy: Comma-separated hostnames/domains to bypass the proxy. Wildcards supported.

Chromium Proxy Flags via System Property

Chromium proxy flags must be passed via the -Dchromium.args system property. Multiple flags must be semicolon-separated in a single quoted string.

Examples
  • Force all traffic through a proxy:

    -Dchromium.args="--proxy-server=http://proxy.example.com:3128"
  • Use a PAC script:

    -Dchromium.args="--proxy-pac-url=http://proxy.example.com/config.pac"
  • Add a proxy bypass list:

    -Dchromium.args="--proxy-server=http://proxy.example.com:3128;--proxy-bypass-list=localhost;127.0.0.1;*.internal"
  • Enable WPAD:

    -Dchromium.args="--proxy-auto-detect"

System Proxy Settings (Desktop Integration)

Equo Chromium integrates with your desktop environment’s proxy settings.

  • GNOME: GSettings keys read at startup (e.g., /system/proxy/mode, /system/proxy/autoconfig-url)

  • KDE: Settings read from KConfig or environment variables (e.g., HTTP_PROXY)

  • XFCE and others: Proxy picked up from exported environment variables

WPAD (Web Proxy Auto-Discovery)

Chromium supports automatic discovery of a PAC script via WPAD:

  • Automatically queries DHCP (Option 252) or DNS (wpad.<domain>/wpad.dat)

  • Can also be explicitly enabled:

    -Dchromium.args="--proxy-auto-detect"

Chromium Preferences File (Advanced/Static Configuration)

You can define proxy settings in Chromium’s JSON preferences file:

  1. Edit ~/.config/chromium/Default/Preferences and add:

    {
      "proxy": {
        "mode": "fixed_servers",
        "server": "socks5://127.0.0.1:1080",
        "bypass_list": ["localhost", "127.0.0.1", "*.internal"]
      }
    }

Supported modes: * pac_script (requires pac_url) * fixed_servers * system * auto_detect

Summary of Available Methods

  • -Dchromium.proxy_pac_script — Load PAC script via system property

  • Environment variables — http_proxy, https_proxy, no_proxy

  • Supported Chromium flags passing them via -Dchromium.args.

  • System proxy settings — GNOME, KDE, XFCE integration

  • WPAD — DHCP/DNS-based PAC script discovery

  • Preferences file — Static JSON configuration for locked-down setups