镜像域名 doub.bid 提供给无翻墙能力的人访问,有能力的建议访问主域名:doub点io(防镜像替换 自己改点)
投稿文章 | 广告投放 | Telegram 群组 / 公告频道

ShadowsocksR PC客户端中的 [代理规则 – 用户自定义] 功能使用教程

Shadowsocks Toyo 29评论
文章目录
[显示]
本文最后更新于 2017年11月15日 10:16 可能会因为没有更新而失效。如已失效或需要修正,请留言!

ShadowsocksR PC客户端在 4.6.0 版本中添加了一个代理规则选项 [用户自定义],说实话我一直没注意到,还是一个逗比在网站问我这个功能的作用是什么时,我才突然发现这个功能,就特地去了解了一下,然后写个简单的使用教程。


首先先明白 代理规则 是干什么的,和PAC(系统代理模式)是什么区别:

点击展开 查看更多


代理规则中的 用户自定义,就是可以让你自定义什么域名或IP 走代理还是直连,比PAC更方便添加/编辑规则,以后完全可以抛弃 PAC,而改用 用户自定义 代理规则(系统代理模式选择全局,浏览器扩展也设置 127.0.0.1 1080(默认端口))。

实际上 SSR 安卓客户端中的 ACL代理规则 – 用户自定义 是一样的。

接下来讲解代理规则格式等内容。

文件位置

代理规则 – 用户自定义 的规则文件是 ShadowsocksR.exe 客户端同目录下的 user.rule 文件(如果没有就自己新建)。

注意:每次修改规则文件后,都需要 重启SSR客户端 才能应用最新规则。


提供一个Github上面找到的 ACL(PC客户端 规则文件,带去广告):https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/gfwlist-user.rule

如果不满意,可以去 Github 搜索 ACL,应该会搜到类似的文件!

你们可以边参考这个规则,边理解下面的解释,当然最好自己动手多测试几次。

当然你也可以直接下载这个现成的规则文件到ShadowsocksR客户端同目录下,并重命名为 user.rule 文件名拿来用。

文件格式

注释

#号开始的一行为注释内容,注意:#号的前面不得有空格,例如:

# 我是注释,我会被忽略,一行的行首字符必须是#号才行。

基本规则

规则文件内,除了空行和注释,其它的每行都是一条规则,规则之间有先后次序之分。若出现相同的规则,那么后一条规则可覆盖前一条规则

规则分两类:

规则匹配结果类型

规则匹配结果类型有 四种:remoteproxy、localproxy、direct、reject。均可用于两类规则。

四种结果的含义:

remoteproxy:经过SSR服务器连接(走代理)
localproxy:经过本地代理连接,或没有配置本地代理时使用直连连接(本地代理指的是:选项设置 - 二级(前置)代理direct:直连连接(直连,不走代理)
reject:拒绝连接(可用于屏蔽广告,当然前提是用系统代理规则:全局模式,否则只有进入SSR客户端的广告才会被过滤

域名规则

点击展开 查看更多

IP段规则

点击展开 查看更多

规则匹配次序

当你访问 www.google.com ,浏览器配置全局模式(或者PAC默认,但是谷歌被墙,PAC判断走代理),然后浏览器会把 谷歌访问请求发给 SSR客户端,然后:

┏━ SSR客户端代理规则选择:用户自定义(你已经配置好了规则),然后SSR客户端会去代理规则中匹配 域名:
┃
┗┳━ 如果匹配域名规则 返回结果为直连,那么就直连不走代理(将不再继续IP判断)。
  ┃
  ┣━ 如果匹配域名规则 返回结果为走代理,那么就直接走代理(将不再继续IP判断)。
  ┃
  ┣━ 如果匹配域名规则 没有返回结果(就是没找到相应规则),那么就会去SSR服务端请求域名的DNS解析,得到IP后,再继续匹配 IP规则:
  ┃
  ┗┳━ 如果匹配IP规则 返回结果为直连,那么就直连不走代理。
    ┃
    ┣━ 如果匹配IP规则 返回结果为走代理,那么就直接走代理。
    ┃
    ┗━ 如果匹配IP规则 没有返回规则(没有找到相应规则),那么就直接走代理。所以,空的 user.rule 文件等于全局模式(所有域名/IP走代理)。

全网也只有 SSR的WIKI才有这个教程,所以我参考WIKI的内容,因为原版WIKI就很详细了,所以我只是在原版内容的基础上做了一点补充。

因为SSR项目已删除,所以我就引用了SSRR fork的WIKI:https://github.com/shadowsocksrr/shadowsocks-rss/wiki/C%23-Proxy-Rule

转载请超链接注明:逗比根据地 » ShadowsocksR PC客户端中的 [代理规则 – 用户自定义] 功能使用教程
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

赞 (31)or打赏
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(29)个小伙伴在吐槽
  1. 麻烦研究实现自动切换服务器,方便选择某个网站用某个服务器代理访问。
    qq2512017-11-17 22:36 (6天前)回复
    • 这可能需要多开ShadowsocksR服务端,或者设置ShadowsocksR服务端中的 端口设置... 选项(这个没教程我也不知道怎么玩)。
      同时浏览器还需要安装扩展(SwitchyOmega)辅助,才能实现不同网站使用不同代理服务器。
      Toyo2017-11-17 23:20 (6天前)回复
  2. 请问一下 这个“浏览器扩展也设置 127.0.0.1 1080”是什么意思 要怎么弄 提前谢过逗比大大了
    Salo2017-11-17 13:37 (6天前)回复
  3. 方便多了,本地服务器可以很方便的连接。自定义的规则感觉比pac的文本有效(之前编写pac规则无效不知道为毛) 感谢doub。
    rrr2017-11-17 10:01 (6天前)回复
  4. 使用的逗比云下载的4.7.0版本,一直想用这个功能来屏蔽广告,但测试总是无效。后来才发现,localproxy和reject之间似乎并不是后一条覆盖前一条的规则。比如.baidu.com localproxy在前,.hm.baidu.com reject在后,并不能屏蔽掉hm.baidu.com,把前面一条删掉后,后一条屏蔽规则才有效。 不知道是软件bug还是我哪里设置不当。
    douA2017-11-15 15:39 回复
  5. 问一个问题:用户自定义规则对网络速度的影响是怎么样的?我的规则里加了黑名单、白名单、广告屏蔽,有25000条左右,规则的解析会降低网络速度吗?
    Yico ters2017-11-13 23:48 回复
    • 规则的数量不会影响网络速度,但是会影响匹配速度,在访问一个网站的时候,SSR客户端就会去规则文件内一行行匹配,如果规则过多肯定会增加匹配规则的时间,在访问的网站打开前的等待时间就会增加。
      当然如果几千条规则数量,则没什么影响,但是如果几万条,可能会有轻微的延迟感(就是会多等一会),当然具体的影响程度取决于设备性能。
      Toyo2017-11-14 10:08 回复
    • 问了问破娃(SSR作者),她告诉我 匹配速度和规则数量没什么关系,所以应该关系不大。
      Toyo2017-11-16 14:28 回复
      • 谢谢大大解答
        Yico ters2017-11-18 13:18 (5天前)回复
  6. 文中的黑名单规则局限太多,写了个白名单规则,带有简单的去广告。 https://gist.githubusercontent.com/AppSo/a1a6e79be512242225b20255d43c29d1/raw/4251b950607d6bc4abc31257cac30833687b09df/user.rule
    xxx2017-11-13 17:53 回复
    • 反向思维,简单多了,直接我方的地址本地路由通过,剩下的就是外国的这个很简单了
      ghosthero2017-11-14 01:00 回复
    • Github地址给一下吧?想star
      1112017-11-14 11:03 回复
      • 地址 https://gist.github.com/AppSo/a1a6e79be512242225b20255d43c29d1
        xxx2017-11-15 12:18 回复
  7. 系统代理模式需要换成全局模式,用这个模式我重启电脑后在不自启SSR的前提下,网页会无法打开,必须IE代理设置恢复默认才行,没有PAC方便
    BiuTone2017-11-13 17:09 回复
    • 不是全局和PAC模式的问题,根据你说的这种情况,应该是 SSR客户端未正常关闭,或者关闭的时候未正常初始化 系统代理设置(IE代理设置)。
      Toyo2017-11-13 17:46 回复
  8. 逗比云下载的ssr客户端里面有带一个user.rule 有什么区别吗
    Dshyu2017-11-13 10:30 回复
    • 这是SSR客户端自带的规则文件,具体自己看规则内容。
      Toyo2017-11-13 14:35 回复
  9. 按照我的理解是,SSR选择pac(gfwlist)模式,GFWLIST里没有的网址,但是那个网址又被墙了,然后代理规则选自定义的话,我自己把该网址加入规则中,应该是可以访问该网址的,对不?可是我实践中,打不开,这就神奇了,测试网址:http://www.osair.cn
    LYCX20152017-11-13 09:28 回复
    • PAC(GFWList)中,如果没有你说的 www.osair.cn 域名,那么浏览器会直接直连访问,而不会走代理(流量请求不进入SSR客户端,也就不会进行 代理规则 判断了)。
      Toyo2017-11-13 09:39 回复
      • 所以说,还是要先经过pac或者全局了,如果全局的话,代理规则的判断还起作用吗?不是所有网站都走代理了?
        LYCX20152017-11-15 09:56 回复
        • 怕是你没仔细看本文章。
          当你系统代理规则为 全局模式 的时候,所有网站流量请求都会进入SSR客户端,然后SSR客户端通过你设置的 代理规则 来判断进入SSR客户端的数据是 走代理 还是直连
          Toyo2017-11-15 10:14 回复
          • 如果规则没有该网址,默认走代理了?像是百度没有,全局模式下,规则没有百度的网址,默认走代理了?
            LYCX20152017-11-16 23:40 (7天前)回复
            • 是的,当规则文件内没有匹配到 baidu.com 的任何规则,就会走代理,当规则文件为空,则代表全局(所有流量都走代理)。
              Toyo2017-11-17 12:12 (6天前)回复
  10. 我想问下,设置PAC模式(GFWlist),代理规则选全局,访问baidu.com 会走代理吗?
    小BAI一个2017-11-12 16:12 回复
    • 不会,因为GFWList里面的规则规定 baidu.com 直连。
      Toyo2017-11-12 17:45 回复
  11. 希望逗比出个
    Mars_Sea2017-11-12 10:28 回复
  12. 逗比666
    winD2017-11-12 10:06 回复
  13. 谢谢逗逼。
    Adapa2017-11-12 09:04 回复