Surge TestFlight Feed
7.78K subscribers
12 photos
1 video
1 file
34 links
该频道用于提供关于 Surge iOS/Mac/tvOS 的最新 beta 版本信息
Download Telegram
Surge TestFlight Feed
新版本已完成 TCP 的路由自动判定,现在对于这种情况规则只需要使用 DIRECT 即可,会遵循系统路由表。
最新版本与 Tailscale 联合使用的配置样例


[Host]
*.ts.net = server:100.100.100.100

[Rule]
IP-CIDR,100.64.0.0/10,DIRECT,no-resolve
Surge Mac Beta 更新日志
所有主机名列表参数类型新增关键字 <simple-hostname>,用于匹配不带 . 的主机名,如

always-real-ip = <simple-hostname>

(上述配置可以用来在增强模式中使用 NetBIOS 主机名连接 SMB 服务器)
Surge iOS Beta 更新日志
- 支持在 iOS 18 beta 下在控制中心里直接开关 Surge
Surge iOS Beta 更新日志
- 支持在始终开启开关打开的情况下,通过小组件/控制中心/捷径关闭 Surge
- 支持在 Surge VPN Profile 未被选中的情况下(其他 VPN 运行时),通过小组件/控制中心/捷径开启 Surge
由于 Surge Ponte 所依赖的一个公共 STUN 服务器突然关闭,导致 Surge Ponte 功能不可用,我们已进行紧急替换,请更新 Surge Mac 至最新版本。同时将在未来自建 STUN 服务器以避免这类问题。
Surge Mac Beta 更新日志
- 为网页增加规则时,可以选择加入已存在的规则集。(支持本地规则文件和 inline 规则集)
Surge TestFlight Feed
Photo
新版本中已统一 Dashboard 中快速增加规则的面板,同样可以使用该新特性(仅限操作本机实例时)
Surge iOS Beta 更新日志

新的订阅功能:自定义策略组图标
(仅 Lucid 主题下可用)

- 可通过 UI 进行编辑,增加外部图标库,支持搜索,图标库索引文件定义如下:
{
"name": "Icon Set Name",
"icons": [
{ "name": "Icon1", "url": "https://…"},
{ "name": "Icon2", "url": "https://…"},
]
}

配置后写入策略组的 icon-url 参数,也可以直接配置该参数。

- 可在动态资源页面中,清理图标缓存。
Surge Mac 现已支持 iOS 版本的 Panel 功能
Surge Mac 设计调整提示:新版本中如果选择了在菜单中显示 Top Clients,即使客户端/进程数量不足,也会显示占位行,以避免突然增加的项目导致菜单变化导致误点击(it's a feature not bug)
Surge Mac Beta 更新
- DNS 转发子系统优化
- 当处理的 DNS 请求的域名为不应向公网转发的域名时(如 .home.arpa,1.0.168.192.in-addr.arpa),将自动判断上游的 DNS 地址,仅向 LAN DNS 转发。
- 现在 Surge 可以正确的应答 fake IP 的 PTR 请求了,即使用 dig -x 198.18.23.87 命令可用于确定 fake IP 对应的域名。
- DNS 转发器现在将依据 [Host] 段配置转发 DNS 请求到特定上游服务器。
- 对针对 Fake IP 的 DNS-SD PTR 请求直接响应 NOTIMP,不再进行转发。
Surge TestFlight Feed
Surge Mac Beta 更新 - DNS 转发子系统优化 - 当处理的 DNS 请求的域名为不应向公网转发的域名时(如 .home.arpa,1.0.168.192.in-addr.arpa),将自动判断上游的 DNS 地址,仅向 LAN DNS 转发。 - 现在 Surge 可以正确的应答 fake IP 的 PTR 请求了,即使用 dig -x 198.18.23.87 命令可用于确定 fake IP 对应的域名。 - DNS 转发器现在将依据 [Host] 段配置转发 DNS 请求到特定上游服务器。…
关于 PTR 请求的转发
我们收到部分用户回报,Surge 中配置的上游 DNS 收到了大量的 PTR 请求,询问是否是 Surge 的问题。
Surge 本身并不会产生任何 PTR 请求,Surge 的 DNS 转发器只是将收到的请求转发至所配置的 DNS 服务器。出现该问题的原因是某进程或者所接管的设备产生了大量 PTR 请求。

关于 .home.arpa 等内部 DNS 请求是否应该被转发
Surge 增强模式的 DNS 转发器核心是作为 hijack 系统 DNS 解析的用途,所以对于非 A/AAAA 查询,应该遵循系统逻辑单纯的将捕获的 DNS 请求转发给上游,Surge DNS 并不适用于 RFC 8375 的描述。

从另一个角度看,如果在系统中直接配置公网 DNS,系统也会将 .home.arpa 的请求直接发往公网 DNS,产生这个问题的原因,一是没有文档约束 DNS 客户端设备对于此类请求的行为,二是客户端其实没有办法判定配置的 DNS 是否为内网 DNS,依据 LAN IP Block 判定是一种不完备的方案。
Surge iOS & tvOS Beta 更新日志
- 同步 Mac 版本关于 DNS 转发系统的修改
- 使用 CloudKit 重写 Surge tvOS 配置部署流程,稳定性得到大幅提升。请注意需要将 iOS 和 tvOS 都升级至最新版本后才可以使用配置部署功能,且 tvOS 版本需要先启动一次完成注册
Surge iOS & tvOS 5.12.0 App Store 版本更新已发布
- 新的订阅功能:自定义策略组图标
- 使用 CloudKit 重构 Surge tvOS 配置部署流程,稳定性得到大幅提升。请注意需要将 iOS 和 tvOS 都升级至最新版本后才可以使用配置部署功能,且 tvOS 版本需要先启动一次完成注册
- 在请求列表里使用增加规则功能时,可以选择加入已存在的规则集。(支持本地规则文件和 inline 规则集)
- 模块支持配置 client-source-address 参数
- 修正导出 HAR 时的一些问题
- UI 恢复兼容模式(接管模式)设置并增加详细描述
- 优化 No Default Route 模式下开启 IPv6 VIF 时的行为
- 修正 UI 编辑规则时的一些细节问题,如开启状态和注释
- 优化在外部资源页面查看巨型资源时的表现
- 其他细节优化与问题修正
Surge iOS Beta 更新日志
- 新增 Ponte 诊断功能,用于快速定位 Ponte 相关问题,从 Ponte 设备页面进入
- 修正 subnet 组无法配置自定义图标的问题
- 修正当存在名为 Global 组时,使用全局模式可能出现的问题
Surge Mac & iOS Beta 更新日志
- 提高与服务端 quic-go v0.46.0 的兼容性

相关技术细节
QUIC 协议内置了 Idle Timeout 的机制,同时约定了 max_idle_timeout 参数用于服务端和客户端协商空闲超时的具体时间,根据 RFC 9000,该值为 0 的时候表示不使用该机制或遵循对端设置。(Section 18.2)

Surge 目前版本该参数会指定为 0,因为 Surge 不依赖 QUIC 的 Idle Timeout 机制。然而最新版本 quic-go 重写后,错误将值 0 作为了超时时间,在第一个 stream 结束后,立刻认为闲置时间超时关闭了连接。

更糟糕的是,quic-go 也没有完成 stateless reset 机制,对于 Surge 后续发出的数据包,直接予以丢弃而不产生 stateless reset 响应,导致 Surge 需等待一定时间超时后,才会认为连接失效而重新建立连接。

最新版本为规避该问题,将 max_idle_timeout 参数调整为 30s。