注意:Surge Mac 3 修改了配置文件的一些格式,与 Surge iOS 3.3 版本不兼容,如果使用 iCloud 同步建议先将两个版本的配置文件分开来使用。
核心
- 新增规则集 RULESET 支持
规则集包含多条子规则,可以是另一个本地文件,或者是一个 URL。(当前版本中固定为每 24 小时进行一次自动更新)
RULE-SET,https://github.com/Blankwonder/surge-list/raw/master/apple.list,Proxy-A
RULE-SET,https://github.com/Blankwonder/surge-list/raw/master/netflix.list,Proxy-B
RULE-SET,https://github.com/Blankwonder/surge-list/raw/master/telegram.list,Proxy-A
RULE-SET,https://github.com/Blankwonder/surge-list/raw/master/cn.list,DIRECT
list 文件是一个纯文本文件,每一行为一个规则,最后不可写上策略名。
内置了两个规则集:SYSTEM 和 LAN:
RULE-SET,SYSTEM,DIRECT
RULE-SET,LAN,DIRECT
- 策略组直接可以使用来自于另一个文件或者 URL 的代理声明
Group-A = fallback, policy-path=proxies.list, url = http://www.bing.com/, timeout = 2
Group-B = select, policy-path=http://example.com/proxies.txt
list 文件是一个纯文本文件,每一行为一个代理声明。
- 新增逻辑规则 AND, OR, NOT
可以组合多个子规则,且可进行多层嵌套,用于某些复杂场景的判断
比如:
AND,((SRC-IP,192.168.20.20), (OR,((URL-REGEX,^http:\/\/.*:80\/$), (URL-REGEX,^http:\/\/.*:81\/$)))),DIRECT
语法为:
AND,((#Rule1), (#Rule2), (#Rule3)...),Policy
OR,((#Rule1), (#Rule2), (#Rule3)...),Policy
NOT,((#Rule1)),Policy
AND 运算符表示所有子规则都匹配时,使用该策略。OR 运算符表示任何子规则匹配时,使用该策略。
由于语法较为复杂,建议使用 UI 进行配置。
- 新增规则类型 SRC-IP, IN-PORT, DEST-PORT
SRC-IP 用于匹配访问设备 IP,IN-PORT 用于匹配监听端口号,DEST-PORT 用于匹配目标端口号。
- 允许同时监听在多个端口上,可配合 IN-PORT 规则使用。
比如可以额外监听在 6155 端口上,然后增加 IN-PORT,6155,Proxy 规则,则所有通过 6155 端口进行的请求将直接使用代理策略。
- 支持 RST 响应
部分设备或客户端程序的代码较为简陋,不会去判断 HTTP 响应的完整性,在 Surge 的上级代理出错或者切换策略时,错误的认为请求已完成,导致下载了不完整的数据。Surge Mac 3 将在上级代理出错或者切换策略时,对需要被打断的请求发出 TCP RST 以解决该问题。
界面
Surge Mac 3 完全重新设计了用户界面,所有的功能将会优先提供 UI 选项。不再需要去修改文本配置。
Activity 页面
Activity 页面提供当前的网络情况总览,包含延迟、流量、带宽,甚至物理网卡的信息。
Processes 页面
可按进程查看其流量和带宽占用情况,并执行相关操作。
同时可开启计费网络模式(Metered Network Mode):用于在计费的数据网络下使用,如 4G 热点。默认禁止所有应用联网,可按需配置白名单应用。
还可以配置在遇到特定的 SSID 时自动开启该功能。
Devices 页面
可查看正在使用 Surge 代理或网关服务的其他设备的情况。
Proxies 页面
可以方便的对代理策略进行延迟测试。补充了 SSID Group 的 UI 配置界面。
Capture 页面
过滤器可选配置为白名单或者黑名单模式。
菜单
修改延迟测速的操作方式,现在点击选项后可以立即开始测速并看到结果。测速参数在设置中统一修改。
Dashboard
- 可以按照 Host 进行分类查看了
- 可以查看 HTTP 请求的下载进度,如观察 Mac App Store 的后台下载情况
- Body 内容支持 br 编码解压缩
- 可以显示 root 用户下请求的对应进程名了
- Body 预览支持自选文本编码
其他细节
- 全面适配 Mojave 的 Dark Mode。
- 主界面支持 Touch Bar。
- 启动 Enhanced Mode 不再强制要求配置 DNS,Surge 会自动使用系统的 DNS 设置。
- GeoIP 数据库可以单独更新了,在设置界面中可以找到相关选项。
- USER-AGENT 规则支持 UTF-8 编码了。
- 新增规则通知功能,当对应规则被匹配时,可选配置弹出一个自定义通知消息。
- 增加 always-real-ip 选项用于解决一些兼容性问题。
- 远程设备可以自定名称了,并且可以在远程的 Dashboard 中显示。
- 众多细节改进和性能优化。