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
가 지정되지 않고 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.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" 중 하나와 일치하는지 여부이다.