已知边界
这份手册描述“什么条件下功能成立”,不把平台缺失、驱动回退或协议能力当成可忽略细节。
完整配置
yaml
inbounds:
router:
type: capture
lan: [br-lan]
wan: [eth0]
flowtable: software
fail: closed
outbounds:
direct:
type: direct
route:
final: direct
dns:
servers:
real: {type: udp, address: 1.1.1.1:53}
final: real平台
- capture、tc/eBPF、XDP、flowtable、TUN/TAP、VRF、nftables、DHCP/RA 和网段管理是 Linux 能力。
- Linux BoringSSL 提供完整出站 TLS、REALITY、Kotodama、AnyTLS、Mirage、Imina;其他平台明确拒绝,不降级明文。
- 非 Linux 的 DoT/DoH/下载使用 rustls;DoQ/DoH3 固定 rustls。
内核
fail: open需要 Linux 6.6+。- capture/tc 需要 BPF、BTF、cls_bpf/clsact、TUN、cgroup BPF、bpffs;XDP 另需 AF_XDP 和驱动原生支持。
- native flowtable/XDP 直连实验依赖 Linux 6.18 语义、flowtable/conntrack kfunc、独占管理契约和严格设备/sysctl 条件。
- 网段、租户、flowtable 和 VRF 在实测内核版本上工作,但具体发行版仍要按启动日志确认能力。
行为边界
- 代理遵循“先拨后应”;Segment/Host 的直连由 mayami 自己拨,Router 直连可放回内核。
- 一条链的 TCP 可达不代表原生 UDP 可达;UoT/XUDP 需要两端支持。
- flowtable 卸载后 conntrack 字节计数可能停在卸载时;VRF 回程在 Linux 6.12 实测仍有周期性慢包,但目标正确。
fail: closed的首 hook 屏障会暂停被接管口的一小段转发;external 网桥可能因此短暂停整桥。
性能与验证
自研协议的记录大小、mux、会话池、GSO/GRO 和 XDP 都会改变性能,但性能优化不能替代正确性验证。kTLS 经测量在当前硬件和记录大小下更贵,未启用。
更细的设备 kernel config、网卡特性、缓存耐久性和协议互通边界在开发者文档中保留;本节只列用户选择时需要知道的停止条件。