跳转到主内容

ProxyConfig Object

  • mode string (optional) - The proxy mode. Should be one of direct, auto_detect, pac_script, fixed_servers or system. Defaults to pac_script proxy mode if pacScript option is specified otherwise defaults to fixed_servers.
    • direct - In direct mode all connections are created directly, without any proxy involved.
    • auto_detect - In auto_detect mode the proxy configuration is determined by a PAC script that can be downloaded at http://wpad/wpad.dat.
    • pac_script - In pac_script mode the proxy configuration is determined by a PAC script that is retrieved from the URL specified in the pacScript. This is the default mode if pacScript is specified.
    • fixed_servers - In fixed_servers mode the proxy configuration is specified in proxyRules. This is the default mode if proxyRules is specified.
    • system - In system mode the proxy configuration is taken from the operating system. 请注意,系统模式不同于设置无代理配置。 In the latter case, Electron falls back to the system settings only if no command-line options influence the proxy configuration.
  • pacScript string (optional) - The URL associated with the PAC file.
  • proxyRules string (optional) - Rules indicating which proxies to use.
  • proxyBypassRules string (optional) - Rules indicating which URLs should bypass the proxy settings.

When mode is unspecified, pacScript and proxyRules are provided together, the proxyRules option is ignored and pacScript configuration is applied.

The proxyRules has to follow the rules below:

proxyRules = schemeProxies[";"<schemeProxies>]
schemeProxies = [<urlScheme>"="]<proxyURIList>
urlScheme = "http" | "https" | "ftp" | "socks"
proxyURIList = <proxyURL>[","<proxyURIList>]
proxyURL = [<proxyScheme>"://"]<proxyHost>[":"<proxyPort>]

例如:

  • http=foopy:80;ftp=foopy2 - Use HTTP proxy foopy:80 for http:// URLs, and HTTP proxy foopy2:80 for ftp:// URLs.
  • foopy:80 - Use HTTP proxy foopy:80 for all URLs.
  • foopy:80,bar,direct:// - Use HTTP proxy foopy:80 for all URLs, failing over to bar if foopy:80 is unavailable, and after that using no proxy.
  • socks4://foopy - Use SOCKS v4 proxy foopy:1080 for all URLs.
  • http=foopy,socks5://bar.com - Use HTTP proxy foopy for http URLs, and fail over to the SOCKS5 proxy bar.com if foopy is unavailable.
  • http=foopy,direct:// - Use HTTP proxy foopy for http URLs, and use no proxy if foopy is unavailable.
  • http=foopy;socks=foopy2 - Use HTTP proxy foopy for http URLs, and use socks4://foopy2 for all other URLs.

The proxyBypassRules is a comma separated list of rules described below:

  • [ URL_SCHEME "://" ] HOSTNAME_PATTERN [ ":" <port> ]

    与 HOSTNAME_PATTERN 模式匹配的所有主机名。

    Examples: "foobar.com", "*foobar.com", "*.foobar.com", "*foobar.com:99", "https://x.\\*.y.com:99"

  • "." HOSTNAME_SUFFIX_PATTERN [ ":" PORT ]

    匹配特定域名后缀。

    Examples: ".google.com", ".com", "http://.google.com"

  • [ SCHEME "://" ] IP_LITERAL [ ":" PORT ]

    匹配 IP 地址文本的 url。

    Examples: "127.0.1", "[0:0::1]", "[::1]", "http://[::1]:99"

  • IP_LITERAL "/" PREFIX_LENGTH_IN_BITS

    Match any URL that is to an IP literal that falls between the given range. IP范围使用指定的CIDR。

    Examples: "192.168.1.1/16", "fefe:13::abc/33".

  • <local>

    匹配本地地址。 The meaning of <local> is whether the host matches one of: "127.0.0.1", "::1", "localhost".