跳到主要內容

ProxyConfig 物件

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

當未指定 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 代理 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.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」。