抗倒伏小麦
Alhaitham Dashboard 0.4 (136)已发布 https://testflight.apple.com/join/pR1xwCfB Alhaitham DNS Proxy 0.1 (40)已发布 https://testflight.apple.com/join/r8yjKr4P 公共更新: 1. 优化与储存容器切换逻辑与视图加载逻辑,减少内存占用与加载时间, Dashboard 中切换服务器更流畅 PS:可以通过在 Dashboard 中选择 Shared 服务器,来查看和管理…
Alhaitham Dashboard 0.4 (137)已发布
https://testflight.apple.com/join/pR1xwCfB
Alhaitham DNS Proxy 0.1 (41)已发布
https://testflight.apple.com/join/r8yjKr4P
公共更新:
1. 更新部分文案和图标,统一名称与翻译;
Dashboard 更新:
1. 选择 Shared 服务器时,可以查看与管理来自 App Proxy 和 DNS Proxy 的 策略 Policy 了;
App Proxy 更新:
1. 新增 App Proxy Policy 相关模型与界面,准备后续接入 App 代理功能;
DNS Proxy 更新:
1. 修复意外显示默认 DNS 策略与“添加到底部”功能出错的问题
https://testflight.apple.com/join/pR1xwCfB
Alhaitham DNS Proxy 0.1 (41)已发布
https://testflight.apple.com/join/r8yjKr4P
公共更新:
1. 更新部分文案和图标,统一名称与翻译;
Dashboard 更新:
1. 选择 Shared 服务器时,可以查看与管理来自 App Proxy 和 DNS Proxy 的 策略 Policy 了;
App Proxy 更新:
1. 新增 App Proxy Policy 相关模型与界面,准备后续接入 App 代理功能;
DNS Proxy 更新:
1. 修复意外显示默认 DNS 策略与“添加到底部”功能出错的问题
Apple
Join the Alhaitham Dashboard beta
Available on iOS
❤1🔥1
Alhaitham DNS Proxy 0.2 (43)已发布
https://testflight.apple.com/join/r8yjKr4P
Alhaitham Dashboard 0.4 (139)已发布
https://testflight.apple.com/join/pR1xwCfB
公共更新:
1. 完全重构 Policy 策略功能,更新 UI 与逻辑;
2. 更新 Flow 相关 UI;
3. 大量 Policy 和 Flow 的 UI 与结构进行了公共基础的抽取与整合,避免重复代码;
4. 本次更新涉及数据库更新,请确保本项目全部 App 均已更新;
5. 需要关闭 App/DNS 代理的 network extension,并重置数据库,然后重启代理方可生效;
Dashboard 更新:
1. 选择 Shared 服务器时,可以查看与管理来自 App Proxy 和 DNS Proxy 的 策略 Policy 了;
- 包括编辑/排序/更新/新建等功能;
App Proxy 更新:
1. Policy 策略新增支持 Block,此策略下将直接不返回响应并直接关闭流,行为类似 Drop;
2. Policy 策略新增支持 Forward,此策略下将直接原样转发,行为类似 Direct;
3. Reject/Policy 策略暂未实现;
DNS Proxy 更新:
1. Policy 策略新增支持 Block,此策略下将直接不返回响应并直接关闭流,行为类似 Drop;
2. 原 DNS Policy 策略内容改为新 Policy 策略的 Forward,此策略下将按照用户设置进行一个或多个 DNS 请求,行为类似条件并发或优选;
3. Reject/Policy 策略暂未实现;
https://testflight.apple.com/join/r8yjKr4P
Alhaitham Dashboard 0.4 (139)已发布
https://testflight.apple.com/join/pR1xwCfB
公共更新:
1. 完全重构 Policy 策略功能,更新 UI 与逻辑;
2. 更新 Flow 相关 UI;
3. 大量 Policy 和 Flow 的 UI 与结构进行了公共基础的抽取与整合,避免重复代码;
4. 本次更新涉及数据库更新,请确保本项目全部 App 均已更新;
5. 需要关闭 App/DNS 代理的 network extension,并重置数据库,然后重启代理方可生效;
Dashboard 更新:
1. 选择 Shared 服务器时,可以查看与管理来自 App Proxy 和 DNS Proxy 的 策略 Policy 了;
- 包括编辑/排序/更新/新建等功能;
App Proxy 更新:
1. Policy 策略新增支持 Block,此策略下将直接不返回响应并直接关闭流,行为类似 Drop;
2. Policy 策略新增支持 Forward,此策略下将直接原样转发,行为类似 Direct;
3. Reject/Policy 策略暂未实现;
DNS Proxy 更新:
1. Policy 策略新增支持 Block,此策略下将直接不返回响应并直接关闭流,行为类似 Drop;
2. 原 DNS Policy 策略内容改为新 Policy 策略的 Forward,此策略下将按照用户设置进行一个或多个 DNS 请求,行为类似条件并发或优选;
3. Reject/Policy 策略暂未实现;
Apple
Join the Alhaitham DNS Proxy beta
Available on iOS
抗倒伏小麦
预计下(下)个版本将提供 DNS 策略的导入导出功能
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 页面支持导入策略功能 (长按+号弹出导入选项)
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 页面支持导入策略功能 (长按+号弹出导入选项)
Apple
Join the Alhaitham DNS Proxy beta
Available on iOS
👍1
抗倒伏小麦
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…
DNSPolicy.csv
343 B
导入用的配置是 csv 格式
机读人读都合适,AI 改起来也方便,
不需要额外做什么工作,
不想填的空留空就行,留空就是默认值
导入前会有一个核查界面,告诉具体有问题的地方在哪里
导入部分的界面是 AI 画的,没调优,但功能都有
机读人读都合适,AI 改起来也方便,
不需要额外做什么工作,
不想填的空留空就行,留空就是默认值
导入前会有一个核查界面,告诉具体有问题的地方在哪里
导入部分的界面是 AI 画的,没调优,但功能都有
❤2
抗倒伏小麦
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 规则,感觉没必要,写成两条也不费事
没有什么通配符之类的设定
匹配规则是按点(.)分割的,
不会意外匹配到多余的名称
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 分流能力
经过 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 页面支持导入策略功能 (长按+号弹出导入选项)
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
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
Apple
Join the Alhaitham DNS Proxy beta
Available on iOS
抗倒伏小麦
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 是明确返回拒绝信息的响应…
UI 界面上关于拒绝策略与结果的展示还未更新,当前会显示为 N/A 或红字错误,将在后续版本中修复。
👍1
抗倒伏小麦
DNSPolicy.csv
DNSPolicy 2.csv
427 B
新版模板与说明,增加了 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 请求状态可以正确显示
https://testflight.apple.com/join/r8yjKr4P
Alhaitham Dashboard 0.4 (142)已发布
https://testflight.apple.com/join/pR1xwCfB
公共更新:
改进了策略与流视图,配置的策略和 DNS 服务器可以正确显示
改进了 DNS 记录视图,因策略被阻止的 DNS 请求状态可以正确显示
❤1
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),目前显示为 策略(不适用) 标签
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)已发布
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 依旧会经过处理引擎识别解析协议及内容
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 依旧会经过处理引擎识别解析协议及内容
Apple
Join the Alhaitham DNS Proxy beta
Available on iOS
❤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 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)事务展示
## 新增:应用层(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)事务
- 方便后续排查异常请求
https://testflight.apple.com/join/r8yjKr4P
## 新增:事务聚焦页
- 恢复并改进事务聚焦页
- 现在可以查看 DNS 流(DNS Flow)、DNS 事务与 DNS 模型数据
## 新增:设置入口
- 设置页新增统一事务外观设置入口
- 设置页新增事务缓存清理入口
## 改进:DNS 缓存
- 改进 DNS 缓存查询与命中逻辑
- 修复缓存响应 ID、缓存 payload 回读与服务器选择相关问题
## 改进:DNS 报文解析
- 改进 DNS 报文解析
- 修复压缩指针截断、循环指针、DNS over TCP 解析模式等问题
## 修复:DNS 解析失败记录缺失
- DNS 解析失败时也会记录兜底(Fallback)事务
- 方便后续排查异常请求
Apple
Join the Alhaitham DNS Proxy beta
Available on iOS
抗倒伏小麦
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 导致的数据不显示问题
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 导致的数据不显示问题
Apple
Join the Alhaitham Dashboard beta
Available on iOS
❤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 的内存限制下,当前实现也已经能够稳定运行。
本次更新距离上次发布已经过去约半个月,期间累计接近 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