ProxyConfig 对象
mode
字符串 (可选) - 代理模式。应为以下之一:direct
、auto_detect
、pac_script
、fixed_servers
或system
。如果指定了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
未指定且 pacScript
和 proxyRules
一起提供时,将忽略 proxyRules
选项并应用 pacScript
配置。
proxyRules
必须遵循以下规则
proxyRules = schemeProxies[";"<schemeProxies>]
schemeProxies = [<urlScheme>"="]<proxyURIList>
urlScheme = "http" | "https" | "ftp" | "socks"
proxyURIList = <proxyURL>[","<proxyURIList>]
proxyURL = [<proxyScheme>"://"]<proxyHost>[":"<proxyPort>]
例如
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
是一个逗号分隔的规则列表,如下所述
-
[ 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.0.1"、"[0:0::1]"、"[::1]"、"http://[::1]:99"
-
IP_LITERAL "/" PREFIX_LENGTH_IN_BITS
匹配任何 URL,该 URL 位于给定范围内的 IP 字面量。IP 范围使用 CIDR 表示法指定。
示例:"192.168.1.1/16"、"fefe:13::abc/33"。
-
<local>
匹配本地地址。
<local>
的含义是主机是否与以下之一匹配:"127.0.0.1"、"::1"、"localhost"。