Files
proxy-station/docs/FLCLASH-COMPATIBILITY-2026-11-02.md
YANG JIANKUAN a5d980a5e9 feat: 添加 WireGuard 设备管理并完善客户端分流
实现独立加密设备身份、网关 agent、持久生命周期任务和 Surge/FlClash 专属订阅凭证。

完善 Shadowrocket 规则转换与 Clash AI DNS,增加 Surge FFSB 适配、规则快照、运维工具及验收文档。
2026-11-02 22:44:23 +08:00

23 lines
4.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# FlClash 订阅兼容性审查
2026-11-02;核对目标为 FlClash v0.9.2 及其固定的 Mihomo fork `c5062921054902b25215a6a933e72ccd714c9bfa`。这次更改已部署 LA,尚未在 Android 设备上验收。原有 `/clash` URL 保留,界面显示名称改为 FlClash;Surge 名称不再附系统后缀。
| 原 ClashMeta 配置 | 审查与处理 |
|---|---|
| mixed-port、allow-lan、rule 模式、IPv6 与 fake-IP DNS | 沿用 Mihomo 配置结构;FlClash 的 VPN、DNS 和系统私有 DNS 等设备设置仍需真机验证。 |
| VMess、Trojan、Shadowsocks、Hysteria2 | 沿用现有序列化与能力过滤。SS WebSocket 插件只下发 TCP;无法表达的 VMess cipher 会排除而非静默改协议。语法通过不等于真实节点连接通过。 |
| select、url-test、fallback,显式成员和动态筛选 | 继续沿用;原有正则组对全部节点筛选,不等同于 Surge 的受引用组约束的动态来源。新增设备 WG 时,动态公网组增加 `exclude-filter`,避免把私网隧道当公网节点。固定内核的 `adapter/outboundgroup/parser.go` 和 `groupbase.go` 已确认该字段及筛选处理。 |
| 规则及远程 rule-provider | 保留顺序、`no-resolve` 与 FINAL→MATCH。TCP/UDP PROTOCOL 转 NETWORK;不能完整表达的逻辑规则和应用协议等仍跳过,不能视为所有 Surge 规则都能等价转换。规则集需实际网络可访问。 |
| AI DNS | 沿用既有 nameserver-policy、规则集和按 AI 策略组选择的 DoH;没有开启全局 respect-rules。系统 DNS、泄漏及出口仍需按设备和应用验证。 |
| WireGuard | 新增可选设备专属出站。使用完整 `peers` 格式限定 `allowed-ips` 为 njcq 私网;私网 IP-CIDR 规则排在最前,WG 不进入动态公网代理组。仅保证生成和用途鉴权,设备连接及入站不由解析测试证明。 |
不选设备时订阅 URL 和内容保持原来的纯代理配置。选设备后生成 `/clash?wg=…` 派生链接;凭证随机、可单独撤销,并校验订阅、设备和 `clash` 用途。Surge 凭证和 FlClash 凭证不能跨格式使用。切换或清除选择不会撤销已生成的其他链接;设备暂停时派生链接不可使用。不要让 Android 与正在运行的 Mac/iPad 同时复用同一设备身份,应为 Android 建立独立设备和网关 peer。
该配置支持的目标是 Android **主动**访问 njcq 私网;固定内核没有确认 Surge `allow-peer-access` 等价的 Android 本机服务入站桥接。WG 握手不代表反向入站或 Apple VNC 媒体可用,详见 [WG 与入站能力研究](FLCLASH-WIREGUARD-AUDIT-2026-11-02.md)。Android VPN 权限及网络切换、真实私网 TCP/UDP、反向连接、VNC、业务 DNS 和公网出口仍需单独验收;不要把本机测试的占位身份用于生产。
参考:[Mihomo WireGuard 配置](https://wiki.metacubex.one/en/config/proxies/wg/)、[FlClash v0.9.2 固定内核 WG 实现](https://github.com/chen08209/Clash.Meta/blob/c5062921054902b25215a6a933e72ccd714c9bfa/adapter/outbound/wireguard.go)、[固定内核组解析](https://github.com/chen08209/Clash.Meta/blob/c5062921054902b25215a6a933e72ccd714c9bfa/adapter/outboundgroup/parser.go)。
本地验证:Node 22 下 `pnpm -r typecheck`、`pnpm test`(96 项)及 Web 构建通过;其中含设备 WG 的完整示例使用官方 Mihomo v1.19.33 macOS 原生解析器通过校验,该二进制经官方 release SHA-256 核对,但它不是 FlClash 固定 fork 或 Android 客户端。隔离数据的浏览器交互验证了格式切换、设备选择和清除、两种凭证互不干扰以及 320–1024 像素布局;未连接真实网关或设备。
生产验证:LA 前后端部署成功,公网 HTTPS 的默认 Surge、Clash、Shadowrocket 节点及规则配置均与部署前逐字一致,唯一订阅及节点/组/规则/settings 保持不变。使用两台既有设备临时签发 Clash 凭证,核对身份隔离、跨用途拒绝及撤销后 404;两份实际 HTTPS 设备配置和默认配置均通过 Mihomo v1.19.33 解析,临时凭证已撤销。实际 Surge 及 49/49 规则集快照通过官方 CLI,13 条静态域名遮蔽提示与部署前一致。生产数据库在线备份为 `la:/opt/proxy-station/data/backups/before-flclash-deploy-validation-20261102-153706.db`(root/600)。