摘要

在ShadowsocksR客户端里面,系统代理模式有两种,一种是“全局模式”,另一种是“PAC模式”。

什么是PAC

代理自动配置(英语:Proxy auto-config,简称PAC)是一种网页浏览器技术,用于定义浏览器该如何自动选择适当的代理服务器来访问一个网址。

一 个PAC文件包含一个JavaScript形式的函数“FindProxyForURL(url, host)”。这个函数返回一个包含一个或多个访问规则的字符串。用户代理根据这些规则适用一个特定的代理其或者直接访问。当一个代理服务器无法响应的时 候,多个访问规则提供了其他的后备访问方法。浏览器在访问其他页面以前,首先访问这个PAC文件。PAC文件中的URL可能是手工配置的,也可能是是通过 网页的网络代理自发现协议(Web Proxy Autodiscovery Protocol)自动配置的。

动手修改 ShadowsocksR 客户端中 的 PAC 规则实现自动代理
动手修改 ShadowsocksR 客户端中 的 PAC 规则实现自动代理

PAC自动代理属于智能判断模式,相比全局代理,它的优点有:

  1. 不影响国内网站的访问速度,防止无意义的绕路
  2. 节省Shadowsocks服务的流量,节省服务器资源
  3. 控制方便

PAC文件及user-rule文件的语法规则

那么,当一个网站被墙,如何添加到PAC里面让其能够正常访问呢?在Shadowsocks里面,可以有如下两个方式:

1. 添加到 pac.txt 文件中

编辑 pac.txt 文件,模仿里面的一些URL通配符,再添加一个,例如 “||ip138.com”,,注意不要忘记了,半角逗号,那么意思就是所有 ip138.com 域名下的网址都将走Shadowsocks代理,打开www.ip138.com可以看到IP已经变成Shadowsocks所用的国外代理了

动手修改 ShadowsocksR 客户端中 的 PAC 规则实现自动代理
动手修改 ShadowsocksR 客户端中 的 PAC 规则实现自动代理

2. 添加到 user-rule.txt 文件中

自定义代理规则的设置语法与GFWlist相同,语法规则如下:

  1. 通配符支持。比如*.example.com/*实际书写时可省略*, 如.example.com/, 和*.example.com/*效果一样
  2. 正则表达式支持。以\开始和结束, 如 \[\w]+:\/\/example.com\
  3. 例外规则 @@,如 @@*.example.com/* 满足@@后规则的地址不使用代理
  4. 匹配地址开始和结尾 |,如 |http://example.comexample.com|分别表示以http://example.com开始和以example.com结束的地址
  5. || 标记,如 ||example.comhttp://example.comhttps://example.comftp://example.com等地址均满足条件
  6. 注释 !。 如 !我是注释

Adblock Plus filters explained