Skip to main content

ProxyConfig 객체

  • mode string (선택 사항) - 프록시 모드. direct, auto_detect, pac_script, fixed_servers, system 중 하나여야 한다. pacScript 옵션이 지정된 경우 기본값은 pac_script 모드이고, 그렇지 않으면 fixed_servers 모드가 기본값이다.
    • direct - direct 모드에서는 모든 연결이 프록시 없이 직접 생성된다.
    • auto_detect - auto_detect 모드에서는 프록시 설정이 http://wpad/wpad.dat에서 다운로드 가능한 PAC 스크립트에 의해 결정된다.
    • pac_script - pac_script 모드에서는 pacScript에 지정된 URL에서 가져온 PAC 스크립트에 의해 프록시 설정이 결정된다. pacScript가 지정된 경우 이 모드가 기본값이다.
    • fixed_servers - fixed_servers 모드에서는 프록시 설정이 proxyRules에 지정된다. proxyRules가 지정된 경우 이 모드가 기본값이다.
    • system - system 모드에서는 프록시 설정이 운영체제에서 가져온다. 이 모드는 프록시 설정을 지정하지 않는 것과 다르다. 후자의 경우, 커맨드라인 옵션이 프록시 설정에 영향을 미치지 않을 때만 Electron이 시스템 설정으로 돌아간다.
  • pacScript string (선택 사항) - PAC 파일과 연결된 URL.
  • proxyRules string (선택 사항) - 사용할 프록시를 나타내는 규칙.
  • proxyBypassRules string (선택 사항) - 프록시 설정을 우회할 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" 중 하나와 일치하는지 여부이다.