跳至主要內容

ProxyConfig 物件

  • mode 字串 (選用) - Proxy 模式。應為 directauto_detectpac_scriptfixed_serverssystem 其中之一。如果指定了 pacScript 選項,則預設為 pac_script Proxy 模式,否則預設為 fixed_servers
    • direct - 在 direct 模式下,所有連線都會直接建立,不涉及任何 Proxy。
    • auto_detect - 在 auto_detect 模式下,Proxy 設定由可在 http://wpad/wpad.dat 下載的 PAC 腳本決定。
    • pac_script - 在 pac_script 模式下,Proxy 設定由從 pacScript 中指定的 URL 擷取的 PAC 腳本決定。如果指定了 pacScript,這會是預設模式。
    • fixed_servers - 在 fixed_servers 模式下,Proxy 設定在 proxyRules 中指定。如果指定了 proxyRules,這會是預設模式。
    • system - 在 system 模式下,Proxy 設定取自作業系統。請注意,系統模式與未設定 Proxy 設定不同。在後者的情況下,只有在沒有命令列選項影響 Proxy 設定時,Electron 才會回復到系統設定。
  • pacScript 字串 (選用) - 與 PAC 檔案相關聯的 URL。
  • proxyRules 字串 (選用) - 指示要使用哪個 Proxy 的規則。
  • proxyBypassRules 字串 (選用) - 指示哪些 URL 應略過 Proxy 設定的規則。

mode 未指定,且同時提供 pacScriptproxyRules 時,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 Proxy foopy:80,對於 ftp:// URL 使用 HTTP Proxy foopy2:80
  • foopy:80 - 對於所有 URL 使用 HTTP Proxy foopy:80
  • foopy:80,bar,direct:// - 對於所有 URL 使用 HTTP Proxy foopy:80,如果 foopy:80 不可用,則故障轉移到 bar,然後不使用任何 Proxy。
  • socks4://foopy - 對於所有 URL 使用 SOCKS v4 Proxy foopy:1080
  • http=foopy,socks5://bar.com - 對於 http URL 使用 HTTP Proxy foopy,如果 foopy 不可用,則故障轉移到 SOCKS5 Proxy bar.com
  • http=foopy,direct:// - 對於 http URL 使用 HTTP Proxy foopy,如果 foopy 不可用,則不使用任何 Proxy。
  • http=foopy;socks=foopy2 - 對於 http URL 使用 HTTP Proxy 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.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"。