Surge 使用手册:完结

本文来自 Surge 使用手册|如何定制自己的规则配置 专题

本系列文章主要以制作规则为导向,所以还是有一些东西是没有说到的,比如「高级设置」中的「允许 Wi-Fi 访问」、「外部控制器」以及 macOS 版使用等等。

最后,来捋一下,Surge 的功能即在文本模式中的一览:

  • [General] - 全局设置:日志等级、跳过 Surge 处理的 IP 或域名、DNS 服务器等等
  • [Proxy] - 服务器节点
  • [Proxy Group] - 策略组
  • [Rule] - 规则
  • [Host] - DNS 本地映射
  • [URL Rewrite] - URL 复写(跳转、拒绝)
  • [Header Rewrite] - Header 复写
  • [SSID Setting] - SSID 设置
  • [MITM] - HTTPS 解密以配合 Header/URL Rewrite

规则 [Rule]

一条完整的规则是由 [规则类型],[内容],[策略]构成。

规则类型有:

  • DOMAIN
  • DOMAIN-SUFFIX
  • DOMAIN-KEYWORD
  • IP-CIDR
  • IP-CIDR6
  • GEOIP
  • USER-AGENT
  • URL-REGEX

规则策略有:

  • DIRECT(直连)
  • PROXY(代理)
  • REJECT(阻止)

DOMAIN

DOMAIN 用于匹配完整的域名,比如

DOMAIN,www.qdaily.com,DIRECT
DOMAIN,mail.qq.com,DIRECT

DOMAIN-SUFFIX

DOMAIN-SUFFIX 用于匹配后缀域名,比如

DOMAIN-SUFFIX,qq.com,DIRECT

这条规则意思是整个 QQ 域名直连,不管它二级域名(如 mail.qq.com)还是三级域名(cache.dl.qq.com)并且包括它自身(也就是qq.com),那么如果是

DOMAIN-SUFFIX,dl.qq.com,DIRECT

匹配到任何它的子域名(如 cdn.dl.qq.com),有点类似通配符的写法(如 *.dl.qq.com)但是相比通配符它还能包括它自身也就是 dl.qq.com

⚠️且注意,这条规则是不包括如 cdndl.qq.com,是不会 cdn(dl.qq.com) 这样匹配的,乍一看好像这么做没问题但是仔细想想是很容易乱套的,我在使用和 Surge 同类型的代理应用时遇到过两个在早期就是这么干的。

DOMAIN-KEYWORD

DOMAIN-KEYWORD 用于匹配域名关键字

DOMAIN-KEYWORD,baidu,REJECT

比如上面这一条,它可以匹配到 baidu.comilovebaidu.comtieba.baidu.com 等也就是域名关键词含有就可以匹配到。

IP-CIDR 和 IP-CIDR6

用于匹配 IPV4 和 IPV6(后者)的 CIDR,篇幅有限什么是 CIDR 需要自行了解,我只罗列几条可能常用的写法

# 想针对一个完整的 IP 如「8.8.8.8」进行策略操作的时候使用
IP-CIDR,8.8.8.8/32,PROXY
# 想对一个 IP 段的最后一段如「8.8.8.*」进行策略操作的时候使用
IP-CIDR,8.8.8.0/24,PROXY
# 想对一个 IP 段的最后两段如「8.8.*.*」进行策略操作的时候使用
IP-CIDR,8.8.0.0/16,PROXY
# 想对一个 IP 段的最后三段如「8.*.*.*」进行策略操作的时候使用
IP-CIDR,8.0.0.0/8,PROXY

GEOIP

GEOIP 主要对于国家/地区

# 对中国的 IP 段直连
GEOIP,CN,DIRECT

USER-AGENT

User-Agent 首部包含了一个特征字符串,用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号。

简单说 UA 可以让你更灵活针对某个应用做一些策略,比如 Spotify

USER-AGENT,Spotify*,PROXY

这个「Spotify」怎么来的?不是说它名字叫什么你就写什么,而是开启「抓取流量」后在「抓取数据」中去查看,在详细记录中的「请求」选项卡可以看到具体内容比如「User-Agent: TIM/2.3.0 CFNetwork/976...」

这么长的内容可以使用通配符去省略,比如 TIM 的 UA 经过查看「抓取数据」发现都是「TIM」开头,那么就可以配合通配符简写成「TIM*」

URL-REGEX

URL-REGEX 是利用正则表达式对 URL 做策略,正则表达式也是个既有趣也有点难的东西,同样也需要自行了解。

URL-REGEX,http://wego.here.com,PROXY

针对链接 http://wego.here.com 做代理。

不知道你看了这些文章后是否已经动手制作了一份自己规则了?如果还有什么不明白的可以在评论区留言。

接下来是广告时间,如果你想接触了解网络协议知识我推荐可以听阅网易研究院云计算技术部首席架构师刘超先生的《趣谈网络协议》专栏

Conners Hua

这个家伙很懒,什么都没有留下。

3 条回应

  1. cocoking说道:

    嗨,看了你介绍的surge,内容写的很棒,解决掉了我之前的几个问题。目前有一个问题试了下还是不成功,就是去除知乎手机app的开启广告和app内的广告。关于知乎app的广告规则是否在用?有的话请贴我下,谢谢!

    • Conners Hua说道:

      开屏就两条且都要 MitM:
      ^https?:\/\/api\.zhihu\.com\/real_time_launch – reject
      ^https?:\/\/api\.zhihu\.com\/launch – reject
      时间线和文章页广告去不了

      • cocoking说道:

        这两天surge的beta版更新了,看作者的twitter 上貌似可以去应用内的广告了。可惜我不懂代码,大侠你可以研修下,OK的的话可以分享给我

发表评论

电子邮件地址不会被公开。 必填项已用*标注