最简单的 PAC 示例
1 2 3 4 5
| function FindProxyForURL(URL, HOST) { return HOST === 'google.com' ? 'SOCKS5 127.0.0.1:8686' : 'DIRECT' }
|
适用于 shadowSocks 轻量高效的配置文件
注: 以下将 com.hk 、 co.jp 、 gov.cn 等视为顶级域名(TLD)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| const blacklist = { 'google.com.hk': 1, }
function FindProxyForURL(URL, HOST) { const splitHost = HOST.split('.').reverse()
const offset = ['com', 'co', 'org', 'net', 'gov'].includes(splitHost[1]) ? 3 : 2
const SLD = splitHost.slice(0, offset).reverse().join('.')
return Object.hasOwnProperty.call(blacklist, SLD) ? 'SOCKS5 127.0.0.1:8686' : 'DIRECT' }
|
将域名绑定到本地 Web 服务器
1 2 3
| function FindProxyForURL(URL, HOST) { return HOST === 'laravel.dev' ? 'HTTP 127.0.0.1:80' : 'DIRECT' }
|
注: 该方法同样适用于拦截指定域名。
其它高级用法
PAC 还支持很多其它的高级用法,具体见 PAC Functions