🌾 整点小麦:iOS/macOS App
1.03K subscribers
26 photos
20 files
33 links
Download Telegram
抗倒伏小麦
Alhaitham DNS Proxy 0.2 (44)已发布 https://testflight.apple.com/join/r8yjKr4P Alhaitham Dashboard 0.4 (140)已发布 https://testflight.apple.com/join/pR1xwCfB 公共更新: 1. 降级 DNS 记录模型,解决 Dashboard 不兼容 18 系统问题 2. 优化 Policy 策略视图排版, Policy 策略 设置项移至设置页面 3. 补充翻译 4. DNSPolicy…
关于 Policy 策略的一些字段说明:
没有什么通配符之类的设定
匹配规则是按点(.)分割的,
不会意外匹配到多余的名称

bundleID:
就是 App Bundle ID,比如微信 app 是 com.tencent.xin,
如果 Policy 里 bundleID 填写 com.tencent.xin,那就是规则匹配这个 App,
如果 Policy 里 bundleID 填写 com.tencent,
那就是规则匹配腾讯(com.tencent)这个开发者发布的全部 App

hostname:
这个网络数据流请求的域名,这个域名直接来自苹果 API, 不需要 SNI 嗅探什么的, 不是 http(s) 没证书也一样会有,
如果填写完整的主机名就是完全匹配
如果只填写部分域名那就是匹配这个域名下的全部主机,比如填写 apple.com 就是匹配 *.apple.com

bundleID 与 hostname 现在是 AND 规则,两个都填写就是两个都要命中才行,
不填写(留空)代表不匹配这个内容(或者说全都匹配)
考虑要不要做 OR 规则,感觉没必要,写成两条也不费事
🔥1
抗倒伏小麦
两者通过 Fake-IP 映射 API 打通
除了这个向传统 Packet Tunnel VPN 提供包名的方法外,还会有第二种方式:
经过 Alhaitham DNS Proxy 转发的 DNS 请求报文的附加区域,会同时带上 bundleID 信息, Packet Tunnel VPN 开发者只要读取收到的请求报文的附加区域,即可知道来自哪个 App,从而自行建立 (bundleID, hostname) 双维度的 fake-ip 映射表,恢复按 App 分流能力
👍4
抗倒伏小麦
Alhaitham DNS Proxy 0.2 (44)已发布
https://testflight.apple.com/join/r8yjKr4P

Alhaitham Dashboard 0.4 (140)已发布
https://testflight.apple.com/join/pR1xwCfB

公共更新:
1. 降级 DNS 记录模型,解决 Dashboard 不兼容 18 系统问题
2. 优化 Policy 策略视图排版, Policy 策略 设置项移至设置页面
3. 补充翻译
4. DNSPolicy 统计卡片加入首页(还没调整字段与内容)
5. 重做设置页面
6. Policy 页面支持导入策略功能 (长按+号弹出导入选项)
Alhaitham DNS Proxy 0.2 (45)已发布
https://testflight.apple.com/join/r8yjKr4P

Alhaitham Dashboard 0.4 (141)已发布
https://testflight.apple.com/join/pR1xwCfB

公共更新:
1. 增加 Reject 策略,可以按照包或流返回 Reject 响应
- Block 是类似 Drop 的静默拒绝,不向 App 返回拒绝信息
- Reject 是明确返回拒绝信息的响应
2. CSV 导入模板更新字段,支持 Reject 规则导入
3. 重做本地化翻译结构,现在对于枚举与错误信息也正常显示翻译文本

App Proxy 更新:
1. 支持处理分析 HTTP 协议与 HTTP 应用层自定义 Reject
抗倒伏小麦
UI 界面上关于拒绝策略与结果的展示还未更新,当前会显示为 N/A 或红字错误,将在后续版本中修复。
Alhaitham DNS Proxy 0.2 (46)已发布
https://testflight.apple.com/join/r8yjKr4P

Alhaitham Dashboard 0.4 (142)已发布
https://testflight.apple.com/join/pR1xwCfB

公共更新:
改进了策略与流视图,配置的策略和 DNS 服务器可以正确显示
改进了 DNS 记录视图,因策略被阻止的 DNS 请求状态可以正确显示
1
Per-App VPN + App Proxy 跑通咯
Alhaitham DNS Proxy 0.2 (49)已发布
https://testflight.apple.com/join/r8yjKr4P

Alhaitham Dashboard 0.4 (145)已发布
https://testflight.apple.com/join/pR1xwCfB

公共更新:
1. 流(Flow)不再储存匹配到的规则快照,而是直接连接到匹配到的策略(Policy)
2. 改进了策略(Policy)与流(Flow)视图
- 长按流(Flow)的行,会展开显示流与对应策略(Policy)的详情
- 流(Flow)的详情页面也可以直接跳转到匹配的策略页面
- 分流页面逻辑优化,提升加载速度
3. 更新更多翻译文本与翻译方式

App Proxy 更新:
1. Extension 启动逻辑与 DNS Proxy Extension 对齐

已知问题:
1. 流(Flow)如果没有匹配到任何策略(Policy),就算使用了默认策略,也不会关联到流(Flow),目前显示为 策略(不适用) 标签
2
抗倒伏小麦
Alhaitham DNS Proxy 0.2 (49)已发布
https://testflight.apple.com/join/r8yjKr4P

Alhaitham Dashboard 0.4 (145)已发布
Alhaitham DNS Proxy 0.2 (50)已发布
https://testflight.apple.com/join/r8yjKr4P

Alhaitham Dashboard 0.4 (146)已发布
https://testflight.apple.com/join/pR1xwCfB

公共更新:
1. 流(Flow)读写统计数据(字节数)现在正常回写数据库,在流(Flow)的相关视图可以看到读写的字节数
2. 流管理器现在采用延迟写入,每 200 ms 保存一次更新,以节省 CPU 使用、降低磁盘读写频率
3. 流(Flow)命中的默认策略现在正确回写

App Proxy 更新:
1. 新增 PASS (Passthrough/穿透)策略,此模式下不经过任何处理引擎,原样转发数据
- 与 DIRECT (直连)策略是不同的,DIRECT 依旧会经过处理引擎识别解析协议及内容
1
抗倒伏小麦
Alhaitham DNS Proxy 0.2 (50)已发布 https://testflight.apple.com/join/r8yjKr4P Alhaitham Dashboard 0.4 (146)已发布 https://testflight.apple.com/join/pR1xwCfB 公共更新: 1. 流(Flow)读写统计数据(字节数)现在正常回写数据库,在流(Flow)的相关视图可以看到读写的字节数 2. 流管理器现在采用延迟写入,每 200 ms 保存一次更新,以节省 CPU 使用、降低磁盘读写频率…
Alhaitham App Proxy 0.1 (3) 已发布

Alhaitham DNS Proxy 0.3 (53) 已发布
https://testflight.apple.com/join/r8yjKr4P
Alhaitham Dashboard 0.4 (149) 已发布
https://testflight.apple.com/join/pR1xwCfB

# 公共更新

## 新增:事务(Transaction)体系
- 相当于 Surge 的请求 Request 或 Clash 的连接 Connection
- 支持统一查看全部事务,也可以分别查看 HTTP 事务、DNS 事务与应用层(AppLayer)事务

## 新增:应用层(AppLayer)事务识别
- 应用层(AppLayer)事务是从原始 TCP/UDP 流量中分析、识别、拼接并还原出的上层协议请求/响应
- HTTP 事务会还原为具体的 HTTP 请求/响应
- DNS 事务会还原为具体的 DNS 查询/响应
- 暂时无法识别的流量会记录为兜底(Fallback)事务,方便后续排查

## 新增:事务详情页
- 支持查看基础信息、请求/响应内容、统计信息、端点(Endpoint)、DNS 生存时间(TTL)与过期时间等信息

## 新增:事务统计与管理入口
- 新增事务统计卡片、侧栏分组、搜索、筛选与缓存清理入口

## 新增:聚合外观设置页
- 新增全部流(All Flow)与全部事务(All Transaction)外观设置页
- 可以在一个入口内切换不同类型并调整显示样式

## 新增:HTTP 与 DNS 数据视图
- 仪表盘(Dashboard)、应用代理(App Proxy)、DNS 代理(DNS Proxy)的聚焦页面现在可以直接进入对应数据页面

## 改进:外观设置页面布局
- iOS 预览与分页内容不再被拉伸
- macOS 预览区和设置列宽恢复对齐

## 改进:状态与本地化显示
- 改进流(Flow)、策略(Policy)、DNS、事务(Transaction)的状态展示与本地化文本
- 减少 N/A、空白状态和错误状态显示不一致的问题

## 改进:运行期数据写入性能
- 流(Flow)、DNS、事务(Transaction)等运行期数据改为按唯一标识(uid)持续写回
- 通过写入队列与节流保存降低频繁读写带来的卡顿

## 改进:生命周期收尾保存
- 提供器(Provider)停止与休眠时会显式落盘待保存数据
- 减少短时间统计数据、事务状态或缓存数据丢失的情况

## 修复:底部附属视图宽度
- 修复底部附属视图(Bottom Accessory)处于内联(inline)状态时,分段选择器或策略底部控件宽度溢出的问题

## 调整:共享(Shared)数据源结构
- 移除独立连接(Connection)页面
- 连接相关展示合并到事务与流体系中
抗倒伏小麦
Alhaitham App Proxy 0.1 (3) 已发布 Alhaitham DNS Proxy 0.3 (53) 已发布 https://testflight.apple.com/join/r8yjKr4P Alhaitham Dashboard 0.4 (149) 已发布 https://testflight.apple.com/join/pR1xwCfB # 公共更新 ## 新增:事务(Transaction)体系 - 相当于 Surge 的请求 Request 或 Clash 的连接 Connection…
# Alhaitham 应用代理(App Proxy)0.1 (3)

## 新增:应用层(AppLayer)事务记录
- 直连(DIRECT)转发下可以记录 HTTP、DNS 以及无法识别协议的兜底(Fallback)事务
- 应用层(AppLayer)事务会从原始 TCP/UDP 流量中分析、识别、拼接并还原出上层协议请求/响应
- 例如 HTTP 事务会还原为具体的 HTTP 请求/响应,DNS 事务会还原为具体的 DNS 查询/响应

## 新增:聚焦页面
- 新增应用流(App Flow)、事务(Transaction)、HTTP 聚焦页面
- 可以在应用代理(App Proxy)内直接查看流量、事务与 HTTP 数据

## 新增:设置入口
- 设置页新增统一事务外观设置入口
- 设置页新增事务缓存清理入口

## 改进:转发管线
- 重构转发管线,统一 TCP/UDP 转发入口
- 修复部分连接释放、等待就绪与响应写回问题

## 改进:流执行器(Flow Actor)生命周期
- 每个流(Flow)独立持有运行期对象
- 持久化写回由管理器统一处理

## 修复:启动残留数据
- 启动时会清理旧应用流(App Flow)、HTTP 事务与应用层(AppLayer)事务
- 避免上次运行残留数据影响本次显示

## 已知问题:应用代理仍处于早期测试阶段
- 部分无法识别的应用层(AppLayer)协议会以兜底(Fallback)事务展示
抗倒伏小麦
Alhaitham App Proxy 0.1 (3) 已发布 Alhaitham DNS Proxy 0.3 (53) 已发布 https://testflight.apple.com/join/r8yjKr4P Alhaitham Dashboard 0.4 (149) 已发布 https://testflight.apple.com/join/pR1xwCfB # 公共更新 ## 新增:事务(Transaction)体系 - 相当于 Surge 的请求 Request 或 Clash 的连接 Connection…
# Alhaitham DNS 代理(DNS Proxy)0.3 (53)

https://testflight.apple.com/join/r8yjKr4P

## 新增:事务聚焦页
- 恢复并改进事务聚焦页
- 现在可以查看 DNS 流(DNS Flow)、DNS 事务与 DNS 模型数据

## 新增:设置入口
- 设置页新增统一事务外观设置入口
- 设置页新增事务缓存清理入口

## 改进:DNS 缓存
- 改进 DNS 缓存查询与命中逻辑
- 修复缓存响应 ID、缓存 payload 回读与服务器选择相关问题

## 改进:DNS 报文解析
- 改进 DNS 报文解析
- 修复压缩指针截断、循环指针、DNS over TCP 解析模式等问题

## 修复:DNS 解析失败记录缺失
- DNS 解析失败时也会记录兜底(Fallback)事务
- 方便后续排查异常请求
抗倒伏小麦
Alhaitham App Proxy 0.1 (3) 已发布 Alhaitham DNS Proxy 0.3 (53) 已发布 https://testflight.apple.com/join/r8yjKr4P Alhaitham Dashboard 0.4 (149) 已发布 https://testflight.apple.com/join/pR1xwCfB # 公共更新 ## 新增:事务(Transaction)体系 - 相当于 Surge 的请求 Request 或 Clash 的连接 Connection…
# Alhaitham 仪表盘(Dashboard)0.4 (149)

https://testflight.apple.com/join/pR1xwCfB

## 新增:全部事务(All Transaction)入口
- 新增全部事务入口
- 接入 HTTP、DNS、应用层(AppLayer)事务的独立页面

## 新增:聚合外观设置入口
- 外观设置入口合并为全部流(All Flow)、DNS、全部事务(All Transaction)、DNS 策略(DNS Policy)等聚合入口
- 减少应用流(App Flow)、DNS 流(DNS Flow)、V1 事务分散入口

## 改进:全部事务(All Transaction)外观设置
- 全部事务外观设置支持 V1 应用层(AppLayer)事务
- 在可用系统上显示 HTTP、DNS 等事务类型的预览与分段设置

## 改进:Surge / Clash / Stash 数据导入
- HTTP、DNS、应用层(AppLayer)事务分开写入
- 批量写入速度提升

## 改进:概览页
- 概览页新增 DNS 与事务相关卡片
- 调整流(Flow)、策略(Policy)、DNS、事务(Transaction)的展示顺序

## 改进:设置页
- iOS 与 macOS 设置页接入共享(Shared)DNS
- 新增事务缓存、流外观与事务外观设置入口

## 修复:非共享(Non-Shared)DNS 数据显示
- 非共享数据源继续使用 V1 内存模型
- 修复 DNS V1 写入与混用 V1/V2 schema 导致的数据不显示问题
1
抗倒伏小麦
Alhaitham App Proxy 0.1 (3) 已发布 Alhaitham DNS Proxy 0.3 (53) 已发布 https://testflight.apple.com/join/r8yjKr4P Alhaitham Dashboard 0.4 (149) 已发布 https://testflight.apple.com/join/pR1xwCfB # 公共更新 ## 新增:事务(Transaction)体系 - 相当于 Surge 的请求 Request 或 Clash 的连接 Connection…
# 本次更新说明

本次更新距离上次发布已经过去约半个月,期间累计接近 400 次提交。更新规模较大,重点不只是增加页面或修复显示问题,而是对底层架构、数据处理方式和持久化方式做了一轮完整调整。

本轮更新确立了新的三层数据储存架构:流(Flow)、事务(Transaction,相当于 Surge 的请求 Request 或 Clash 的连接 Connection)与应用模型。流(Flow)负责描述网络连接与传输过程,事务(Transaction)负责记录从流量中识别、拼接并还原出的请求/响应,而应用模型则用于保存那些需要长期复用、或者脱离单个流与单个事务后依然有价值的数据。

同时,本次更新完全分离了数据库读写与数据处理线程。数据处理过程不再直接被数据库操作拖慢,运行期数据会通过管理器、写入队列与节流保存机制持续写回。实测在当前设计下,请求记录模式可以长期保持开启:系统会持续嗅探、识别、拼接并保存每一个请求,包括 UDP 流量中的请求/响应。

应用模型是这次架构调整中比较重要的一层。它用于保存需要长期存在、或者未来处理流式数据时可能需要跨事务引用的数据。目前 HTTP 应用模型会保存捕获到的 HTTP 请求与响应对数据,效果上接近 Surge 的捕获流量;DNS 应用模型会保存每个“服务器 + 请求”组合下不重复的响应,用作本机 DNS 缓存。

未来如果继续实现 WebSocket、HTTP/3 这类更长生命周期的代理转发,应用模型也可以继续承担上下文数据的保存工作。比如某些脚本修改、协议处理或流式数据分析,可能依赖当前事务之前已经出现、但并不属于当前事务本身的数据,这类数据就适合由应用模型承载。

目前应用代理(App Proxy)不会按端口提前排除未知应用层协议,而是会对所有暂时无法识别的应用层(AppLayer)数据包持续进行分析、分类、规则匹配与保存。即使在 App Proxy Provider 约 15 MB 的内存限制下,当前实现也已经能够稳定运行。
1
抗倒伏小麦
# 本次更新说明 本次更新距离上次发布已经过去约半个月,期间累计接近 400 次提交。更新规模较大,重点不只是增加页面或修复显示问题,而是对底层架构、数据处理方式和持久化方式做了一轮完整调整。 本轮更新确立了新的三层数据储存架构:流(Flow)、事务(Transaction,相当于 Surge 的请求 Request 或 Clash 的连接 Connection)与应用模型。流(Flow)负责描述网络连接与传输过程,事务(Transaction)负责记录从流量中识别、拼接并还原出的请求/响应,而应用模…
本项目不会优先实现 SS、V2Ray、Trojan 等传统代理协议。应用代理(App Proxy Provider)的接管优先级高于包隧道(Packet Tunnel Provider),可以与传统 VPN 同时启用,并位于其上游。因此,本项目更适合用来尝试解决传统 VPN 当前不涉及、或很难处理的问题;至于下游继续使用哪种 VPN 或代理协议,并不是本项目优先关心的重点。

如果后续确实需要完整的代理转发能力,本项目更可能会另行推出一款基于包隧道(Packet Tunnel Provider)的专用代理工具,而不是把传统代理协议优先塞进当前应用代理架构里。
8
抗倒伏小麦
Alhaitham App Proxy 0.1 (3) 已发布 Alhaitham DNS Proxy 0.3 (53) 已发布 https://testflight.apple.com/join/r8yjKr4P Alhaitham Dashboard 0.4 (149) 已发布 https://testflight.apple.com/join/pR1xwCfB # 公共更新 ## 新增:事务(Transaction)体系 - 相当于 Surge 的请求 Request 或 Clash 的连接 Connection…
Alhaitham App Proxy 0.1 (13) 已发布
https://testflight.apple.com/join/KVmQFXAA
Alhaitham DNS Proxy 0.3 (67) 已发布
https://testflight.apple.com/join/r8yjKr4P
Alhaitham Dashboard 0.4 (155) 已发布
https://testflight.apple.com/join/pR1xwCfB

## 主要更新

本次更新距离 main 基线约 26 天,累计 410 次提交。更新重点不是单纯增加页面,而是围绕 App Proxy Flow、事务体系、应用模型、Forwarder 调度与 SwiftData 写入边界进行了一轮完整重构。

## 公共更新

### Flow / Policy / Transaction 数据结构重构

- 统一 Flow 基础模型,回收旧 AppFlow / DNSFlow 分裂结构。
- Flow、Policy、Transaction 的展示、筛选、统计卡片与外观设置入口进一步合并。
- 运行期写入统一以 uid / pid 和轻量值类型为边界,减少模型快照和重复持久化字段。

### 应用层事务体系增强

- 支持 HTTP、DNS 与通用 AppLayer 事务的分层记录。
- 事务模型进一步区分传输层信息、应用层协议信息、请求/响应 payload 与长期可复用应用模型。
- HTTP 事务改为保留原始请求/响应字节,并通过 HTTP metadata 计算完整度与展示字段。

### TLS 元数据能力

- 新增 `DataProviderTLS`,引入 TLS Record / ClientHello 建模。
- Flow 可以展示 TLS ClientHello 相关元数据,例如 SNI。
- TLS 解析从 AppProxyFlow 内部逻辑迁移到 DataProvider / Shared 边界,便于复用和展示。

## App Proxy 更新

### AppProxyFlow 运行时结构重构

- AppProxyFlow 模块拆分为 Core、Routing、Relay、DNS、Transaction 等边界。
- TCP / UDP Relay 入口重新整理,Pipeline 层命名收敛为 Routing,App 叶子层收敛为 Relay。
- 修正 NEAppProxyFlow 空读 EOF 语义,避免把空数据当作普通 chunk 继续循环。

### TCP / HTTP Relay 改进

- HTTP Relay 改为通过 HTTPManager 增量写入请求与响应模型。
- 保留 HTTP relay 原始数据,修正 rawValue 保真、Content-Length、部分响应边界与空响应 EOF 语义。
- 应用层 Reject 支持按请求版本构造响应,并释放当前事务边界。

### UDP / DNS Relay 改进

- UDP relay 收敛为单入口和四模式调度。
- Forwarder 支持 UDP 数据报异步入队发送,DNS 转发切换到新的 Forwarder 池。
- DoH 路径切换到 URLSession manager,普通转发路径继续走 Forwarder manager。

## DNS Proxy 更新

- 改进 DNS over TCP 长度前缀识别与事务写入。
- 修正 system DNS endpoint 转发、空服务器 endpoint 兜底与 DNS 默认策略解析上下文。
- DNS 详情页、header flags、记录计数字段、可展开详情 Section 与事务页面展示均有调整。

## Dashboard / 数据视图更新

- 新增或改进 HTTP、DNS、Flow、Policy、Transaction 的聚焦页面、侧栏、筛选、统计卡片与外观设置。
- Dashboard 接入 App Proxy 默认策略设置、App Proxy DNS 设置、统一事务入口和缓存清理入口。
- Server 值结构、共享数据源清理、来源过滤与本地化资源同步更新。
抗倒伏小麦
Alhaitham App Proxy 0.1 (13) 已发布 https://testflight.apple.com/join/KVmQFXAA Alhaitham DNS Proxy 0.3 (67) 已发布 https://testflight.apple.com/join/r8yjKr4P Alhaitham Dashboard 0.4 (155) 已发布 https://testflight.apple.com/join/pR1xwCfB ## 主要更新 本次更新距离 main 基线约 26…
Alhaitham App Proxy 0.1 () 已发布

Alhaitham DNS Proxy 0.4 () 已发布

Alhaitham Dashboard 0.4 (167) 已发布
https://testflight.apple.com/join/pR1xwCfB

## 主要更新

本次更新相对 main 基线累计 125 次提交,重点是重构 Dashboard 的远程服务管理,并完善 App Proxy、DNS 与事务详情的稳定性。

## Dashboard

### 远程服务器管理重构

- 全面更新 Clash、Stash 与 Surge 的远程服务配置。
- 支持为同一服务配置多个有序 Endpoint,并在连接失败时自动切换。
- Surge 现同时使用 HTTP 与 TCP 通道,提升策略、DNS 与流量数据的获取稳定性。
- API 凭据改由 Keychain 保存;启动时会自动清理已删除服务器遗留的凭据。
- 切换或编辑服务器时,修正 Policy 内容刷新、任务取消与凭据被误写的问题。

> 服务器配置已升级为新格式:更新后请重新添加现有远程服务器及其凭据。

### 数据与详情页面

- HTTP 事务详情改为分层展示,补充 URL、请求、响应与协议相关信息。
- DNS 详情页改为“一个记录一个折叠项”;iPhone/iPad 可折叠查看,macOS 保持完整展开。
- 改进详情折叠标题与摘要样式。
- Dashboard 的 DNS 统计会持续刷新,不再停留在旧数据。

## App Proxy 与 DNS Proxy

- 重构 App Proxy TCP Flow 处理流程,事务仅在数据实际写回应用侧后完成,改善记录状态与异常收尾的一致性。
- 修正连续 HTTP 消息的字节边界处理。
- DNS over TCP 现可正确关联同一连接中的多个请求与响应。
- 统一 Provider 的启动、休眠、唤醒与停止生命周期,避免尾部数据写入丢失。
- 修复首页统计卡片恢复与共享数据恢复流程。

## 稳定性与兼容性

- 修复旧系统上 SwiftData 继承模型唯一约束可能导致的崩溃。
- 修复 Dashboard、App Proxy 与 DNS Proxy 的 iPad 多任务方向配置。
- 清理旧 Xcode Framework 集成,统一改用 Swift Package 依赖,降低构建与嵌入配置问题。
# Alhaitham 下一版本更新

Alhaitham App Proxy 0.1 (20) 已发布
https://testflight.apple.com/join/KVmQFXAA
Alhaitham DNS Proxy 0.4 (81) 已发布
https://testflight.apple.com/join/r8yjKr4P
Alhaitham Dashboard 0.4 (169) 已发布
https://testflight.apple.com/join/pR1xwCfB

## 重要提示

1. Dashboard 升级了服务器配置与凭据储存结构。升级后,旧服务器配置及对应凭据会被清理,需要重新添加服务器。
2. Shared Store 数据模型有较大调整。如果旧数据库无法打开,请在“设置 → 开发者 → Shared Store Management”中手动重建。重建会删除原有记录。

## 公共更新

1. 升级转发内核至 Forwarder 2.2.0,重新整理 TCP、UDP 转发与数据处理流程。
2. 重构 Shared Store 加载与恢复流程,现在会明确显示打开、恢复、失败和就绪状态。
3. 重构 Flow、DNS、Policy 与 Transaction 的统计和持久化结构,修复部分统计卡片不刷新、层级列表显示异常及继承模型查询问题。
4. 重做 HTTP 详情页面,分别展示请求行、状态行、Headers、Body 与目标 Endpoint。
5. 修复连续 HTTP 消息的字节边界计算,提高 HTTP 请求与响应还原准确性。

## Dashboard 更新

1. 重做服务器管理:
- 每个服务器最多可以配置 4 个 Endpoint
- Endpoint 支持排序、单独启用或停用
- Surge 支持 TCP、HTTP 与 HTTPS
- Clash 和 Stash 支持 HTTP 与 HTTPS

2. 新增 Endpoint 故障转移:
- 按列表顺序尝试连接
- 当前 Endpoint 失败后自动切换至下一个
- 高优先级 Endpoint 恢复后自动切回
- 服务器列表会显示连接状态、当前连接方式及 Fallback 状态

3. 服务器 API 凭据改存 Keychain,并在启动、编辑和删除服务器时同步清理孤立凭据。

4. Surge 同时支持 TCP Controller 与 HTTP API:
- 同步连接、DNS、策略组、策略顺序与延迟测试结果
- 支持实时更新以及断线自动恢复
- 切换策略后会重新读取实际结果,避免显示未生效的目标

5. 区分 Clash 与 Stash 的连接数据语义,修复连接结束状态及不同服务器数据互相混入的问题。

6. 修复切换服务器时 Policy、DNS 与 Transaction 刷新任务残留的问题,并恢复 DNS 统计持续刷新。

7. 修复 iPad 分屏及多任务场景下的界面方向支持。

## App Proxy 更新

1. 重构 TCP 与 UDP Flow 的读取、写入、转发和收尾流程。
2. 修复取消 Flow 时系统读取或写入无法及时结束的问题。
3. 修复 EOF、连接错误及 Provider 停止时 Flow 和 Transaction 终态记录不完整的问题。
4. 改进 HTTP 与 DNS 协议识别及事务关联。
5. DNS 缓存响应现在会按照 TCP 或 UDP 的实际承载方式正确写回。
6. 支持 DNS over TCP 连续事务的响应关联,并记录最终使用的上游 DNS 服务器。

## DNS Proxy 更新

1. 统一 Provider、Flow、Transaction 与后台写入队列的生命周期,减少休眠、停止及重新打开时的残留状态。
2. 修复首页统计卡片与 DNS 统计刷新。
3. DNS、Flow、Transaction、Policy 和搜索页面现在会显示 Shared Store 的实际加载或失败状态。
4. Shared Store 打开失败时不再自动覆盖原数据库,可由用户在管理页面中选择重新打开、创建或重建。
Please open Telegram to view this post
VIEW IN TELEGRAM