跳转至

功能矩阵

本页描述当前代码边界。WutherCore 仍在 1.0 之前;“已实现”表示存在对应代码路径,不等同于对所有服务端版本、传输组合和网络环境作出兼容承诺。

核心能力

能力 状态 说明
Friendly YAML 已实现 Profile 默认值、显式覆盖、checkexplain
Mixed 入站 已实现 一个监听端口同时接受 HTTP 和 SOCKS5
订阅管理 已实现 原生 YAML/JSON、Young、格式与协议探测、HTTP/文件/内联、Age 解密、Mihomo 26 类节点、过滤与安全缓存
外部规则集 已实现 Mihomo YAML/文本/MRS v1,sing-box JSON/SRS v1-v5,内联 Payload,RRS v3,兼容 RRS v1/v2
路由匹配 已实现 Mihomo 全部官方规则,逻辑规则,子规则,按序 DNS 与 no-resolve
策略组 已实现 嵌套 Manual 分流, Smart, URLTest, Fallback, Load Balance, Random, Weighted, glob 成员来源, 持久 pin
DNS 已实现 多上游、缓存、Hosts、Fallback、Fake IP、IPv6 策略
独立 DNS 服务 已实现 同一地址提供 UDP 与 TCP DNS
透明代理 平台相关 TUN、TPROXY、REDIRECT 与 Android VpnService
API 已实现 原生 /v1 与 Clash/Mihomo 兼容接口
可观测性 已实现 日志、任意精度持久流量、低争用连接统计、策略组和节点状态
持久化 已实现 Smart 学习、手动选择、Pin 和节点历史
配置迁移 已实现 Mihomo 配置迁移到 WutherCore YAML

平台能力

平台 HTTP / SOCKS5 TUN TPROXY REDIRECT 特殊接入
Windows Wintun 与系统路由
Linux 策略路由、iptables/nftables 环境
macOS 系统 TUN 与路由
Android 宿主决定 root 或 VpnService root,TCP 与 UDP root,仅 TCP root daemon 或 VpnService fd

表中的“无”表示该平台没有对应实现路径。透明代理通常需要管理员或 root 权限,并可能受防火墙、虚拟网卡和其他 VPN 软件影响。

出站实现

类别 协议或动作 说明
内置动作 Direct、Block、DNS Hijack 直连、拒绝和 DNS 劫持
通用代理 HTTP、SOCKS5 支持认证;UDP 能力由具体实现决定
Shadowsocks Shadowsocks、Shadowsocks 2022、SSR 全加密族 TCP/UDP 客户端与服务端、SIP003 插件、SIP022 EIH 多用户;SSR 保持独立实现
经典 TLS Trojan、VLESS、VMess 支持对应 TLS、UUID 与安全参数
现代隧道 AnyTLS、Hysteria、Hysteria 2、TUIC、Naive AnyTLS v2 包含官方认证、动态 padding scheme、会话池、SYNACK 与 UoT v2,见 AnyTLS 指南;Hysteria ½ 包含官方 TCP/UDP、packet obfs、端口跳跃与两代 Brutal,见 Hysteria 指南;Naive 为可选 feature,见 Naive 指南
专用协议 Snell、Mieru、Sudoku、TrustTunnel 按各自握手、加密和复用模型实现
系统隧道 WireGuard、SSH WireGuard 支持用户态 TCP/UDP、双栈、多 Peer 与服务端;密钥或主机校验需要单独配置

WireGuard 的字段、约束和完整示例见 WireGuard 配置

传输与解析

代码中包含 TCP、TLS、WebSocket、HTTP、HTTP/2、gRPC 与 XHTTP 等传输配置路径。XHTTP 的客户端、服务端、TLS/ECH 和完整字段说明见 XHTTP / SplitHTTP 配置。可用组合由具体协议、节点字段和服务端实现共同决定;不要假设任意协议都能与任意传输组合。

节点来源支持:

  • 配置文件中的手动节点;
  • 订阅中的 URI;
  • WutherCore 原生 nodes/outbounds 文档与紧凑 type 节点;
  • Mihomo/Clash 风格节点;
  • 配置迁移生成的节点;
  • 运行时订阅更新。

原生自由订阅、Mihomo provider、Age 密钥、请求头、过滤语义和协议边界见 自由订阅与 Mihomo 代理提供者

规则集运行时支持 Mihomo YAML/文本/MRS v1,sing-box JSON/SRS v1-v5 和 WutherCore RRS v3,并兼容读取 RRS v1/v2。Classical YAML/文本支持除 RULE-SETSUB-RULE 外的全部 Mihomo 官方规则类型,包括逻辑规则,域名通配符与正则,GeoSite,GeoIP,ASN,源/目的 IP,端口,入站,进程,UID,网络和 DSCP。MRS v1 保持上游定义的 domain/ipcidr behavior,不把 classical 规则伪装成非标准 MRS。二进制输入会先经过有界解压与结构校验,再编译为与文本规则共用的 matcher。

规则集索引还提供版本化的 destination-IP 前缀快照与 watch 更新通知:

  • 一次读取多个规则集时共享同一 revision,重复名称按首次出现去重;
  • 首次加载中的集合、首次加载失败、未知名称和合法的非 IP 集合具有不同状态;
  • MRS 闭区间无损转换为最小 IPv4/IPv6 CIDR,转换有总量和分配保护;
  • Exact 表示前缀与完整规则语义等价;Extracted 明确表示采用 sing-box RuleSet.ExtractIPSet 兼容投影,安全敏感的绕过/排除消费者可以拒绝;
  • 内容相同的前缀替换不会产生伪 revision,慢消费者可以直接收敛到最新完整快照。

这是一项跨平台 provider 能力;把快照原子安装进 Linux nftables、策略路由或其他平台数据面仍由各 capture 后端分别完成。

已知边界

  • 项目不包含桌面、Web 或移动端 GUI。
  • 第三方协议可能随服务端演进;需要在实际服务端环境中验证。
  • 透明代理依赖系统权限和外部网络状态,无法只靠单元测试覆盖。
  • 当前配置与 API 尚未承诺 1.0 级别的长期稳定性。
  • Android VpnService 需要宿主应用负责生命周期、权限申请和文件描述符传递。
  • Android root 模式要求 daemon 自身持有 UID 0 或有效 CAP_NET_ADMIN。内部 su 探测不会提升当前进程。
  • Naive 依赖 GPL-3.0-or-later 的 Cronet 组件和平台动态库,默认 MIT 构建与默认 Release 不启用。
  • CodeQL 初始告警正在 Issue #9 中逐条分类。

判断是否适合使用

如果只需要一个可直接点击使用的 GUI 客户端,这个仓库不是成品应用。如果需要嵌入式代理内核、透明代理网关、可编排的 Rust 网络组件,或希望研究协议与路由实现,WutherCore 提供了相应基础。