内容纲要
环境
windows 10
shadowsocks 下载
- 项目地址:https://github.com/shadowsocks/shadowsocks-windows
- 当前版本是 4.3.2.0,传送门 https://github.com/shadowsocks/shadowsocks-windows/releases/tag/4.3.2.0
自定义代理规则
主目录下有个 user-rule.txt 的文件,即为用户规则文件,功能是设置代理规则,在 shadowsocks 运行时,编辑该文件后,shadowsocks 会自动将其设置更新到 pac.txt 里
但是,新的规则不会生效,要生效规则需要重新启动 shadowsocks(或重启浏览器)
规则配置
shadowsocks 默认的代理规则如下
- 预定义了一个例外规则列表,所谓例外规则就是 shadowsocks 不会进行代理的规则;国内大部分网址都包含在这个例外里,比如 .cn 结尾的域名
- 如果你访问的网址匹配例外规则,就直接访问;否则就进行代理访问
网址匹配,使用的规则是 adblockplus 的规则:https://adblockplus.org/en/filter-cheatsheet
预定义的例外规则,不可能覆盖所有国内/境内网站,比如你自己新建了一个个人网站,不在例外规则列表,这样每次都会走代理,导致访问速度较慢
另外,某些境外网站实际上是可以直接访问的,但未被列入例外规则,走代理也会导致卡顿
所以需要经常查看下服务端日志,看看有哪些不该代理的网站被代理,并及时加入到例外规则里
自定义例外规则
根据上面的描述,shadowsocks 的自定义规则,主要就是添加例外规则,这里就给出个简单的基于域名的例外规则配置
示例如下
@@||refusea.com^
@@
,表示这是一条例外规则||
,表示后面定义的是域名refusea.com
,这是域名,可以匹配refusea.com
,也可以匹配blog.refusea.com
,www.refusea.com
^
,表示这是域名的结束符,在实际的网址里,可能是个/
,例如refusea.com/index.php
,也可能是个:
,例如refusea.com:8080
所以,上述的规则匹配 refusea.com
, www.refusea.com
, blog.refusea.com
,但是不匹配 refusea.com.cn
基本上我们只要在 user-rule.txt 里配置例外规则就好了,记住新加入的规则,在当前版本的 shadowsocks 里要重启才能生效
shadowsocks 使用心得