tcptun

架构

先编译再服务。

tcptun 如何把 FileConfig 编译成失败即关闭的网络运行时:校验、RuntimeConfig、TCP/UDP/TUN 与路由。

流水线

从 FileConfig 到网络运行时。

配置 (JSON)
        |
        v
    FileConfig
        |
       校验
        |
       编译
        |
   RuntimeConfig
        |
        v
    网络运行时
   |      |      |      |
  TCP    UDP    TUN    路由
阶段01

FileConfig

严格 JSON 拓扑,拒绝未知字段。入站、出站、路由、DNS 与资源预算。

阶段02

校验

绑定前检查唯一标签、引用完整性、认证材料、传输/安全组合与能力。

阶段03

编译

产出 RuntimeConfig:编译后的出站图、路由表与准备好的监听器 — 不是运行时临时解析。

阶段04

服务

一个进程同时服务 TCP、UDP、TUN、反向发布与数据包路径,共享路由与诊断。

特性

这个模型为什么可信。

失败即关闭

无效配置绝不会部分启动。校验失败时 DNS fake-IP 与路由拒绝不安全回退。

确定性路由

规则与 default_outbound 已编译;balance 与 chain 跳经过环检查且有限。

资源边界

mux 池、resume 缓冲和数据包路径使用显式预算,内存行为可预期。

可观测运行时

日志级别、bridge 身份与运行时统计面向运维与嵌入者。

接入面

同一运行时,多种宿主。

CLI 加载 FileConfig。嵌入方直接组合引擎包。Android bridge 注入 TUN 与控制面钩子。编译模型保持不变。