Skip to main content

ProxyConfig 对象

🌐 ProxyConfig Object

  • mode 字符串(可选)- 代理模式。应为 directauto_detectpac_scriptfixed_serverssystem 之一。如果指定了 pacScript 选项,则默认为 pac_script 代理模式,否则默认为 fixed_servers
    • direct - 在直接模式下,所有连接都是直接建立的,不涉及任何代理。
    • auto_detect - 在自动检测模式下,代理配置由可以在 http://wpad/wpad.dat 下载的 PAC 脚本确定。
    • pac_script - 在 pac_script 模式下,代理配置由从 pacScript 指定的 URL 获取的 PAC 脚本确定。如果指定了 pacScript,这是默认模式。
    • fixed_servers - 在 fixed_servers 模式下,代理配置在 proxyRules 中指定。如果指定了 proxyRules,这是默认模式。
    • system - 在系统模式下,代理配置来自操作系统。请注意,系统模式不同于不设置代理配置。在后者情况下,只有在没有命令行选项影响代理配置时,Electron 才会回退到系统设置。
  • pacScript 字符串(可选)- 与 PAC 文件相关的 URL。
  • proxyRules 字符串(可选)- 指示使用哪些代理的规则。
  • proxyBypassRules 字符串(可选)- 指示哪些 URL 应绕过代理设置的规则。

当未指定 mode 时,如果同时提供 pacScriptproxyRules,则会忽略 proxyRules 选项,并应用 pacScript 配置。

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

proxyRules 必须遵循以下规则:

🌐 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>]

例如:

🌐 For example:

  • http=foopy:80;ftp=foopy2 - 对 http:// URL 使用 HTTP 代理 foopy:80,对 ftp:// URL 使用 HTTP 代理 foopy2:80
  • foopy:80 - 对所有 URL 使用 HTTP 代理 foopy:80
  • foopy:80,bar,direct:// - 对所有 URL 使用 HTTP 代理 foopy:80,如果 foopy:80 不可用,则切换到 bar,之后不使用任何代理。
  • socks4://foopy - 对所有 URL 使用 SOCKS v4 代理 foopy:1080
  • http=foopy,socks5://bar.com - 对 HTTP URL 使用 HTTP 代理 foopy,如果 foopy 不可用,则切换到 SOCKS5 代理 bar.com
  • http=foopy,direct:// - 对于 http URL 使用 HTTP 代理 foopy,如果 foopy 不可用,则不使用代理。
  • http=foopy;socks=foopy2 - 对 HTTP URL 使用 HTTP 代理 foopy,对其他所有 URL 使用 socks4://foopy2

proxyBypassRules 是下面描述的用逗号分隔的规则列表:

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

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

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

    示例: "foobar.com","foobar.com",".foobar.com","*foobar.com:99", "https://x.*.y.com:99"

  • "." HOSTNAME_SUFFIX_PATTERN [ ":" PORT ]

    匹配特定的域名后缀。

    示例: ".google.com", ".com", "http://.google.com"

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

    匹配是IP地址字面值的URL。

    示例: "127.0.1"、"[0:0::1]"、"[::1]"、"http://[::1]:99"

  • IP_LITERAL "/" PREFIX_LENGTH_IN_BITS

    匹配任何指向落在给定范围内的 IP 字面量的 URL。IP 范围使用 CIDR 表示法指定。

    示例: "192.168.1.1/16","fefe:13::abc/33"。

  • <local>

    匹配本地地址。<local> 的含义是主机是否匹配以下之一:"127.0.0.1"、"::1"、"localhost"。