代理协议去中心化对等网络Rust 高性能开发

EasyTier

Serverless Mesh · 零依赖去中心化拓扑 · 自动多跳中继选路 · 子网代理

由开源社区于 2023 年基于 Rust 语言发起的纯去中心化点对点虚拟网状局域网协议[1]。 彻底摆脱对任何第三方云端账号或中心化协调控制服务器的依赖, 节点之间通过对等分布式拓扑算法自动发现、打洞并组织成加密虚拟子网; 支持多协议承载(UDP / TCP / WebSocket / WireGuard)与多跳自动中继选路,被越来越多技术人员用于私有网络互通与代理出口中继[2]。

核心语言Rust 内存安全与轻量单二进制
稳定版本2024.03.20
网络拓扑无中心服务器 (Serverless P2P Mesh)
生态定位新锐去中心化异地组网与子网代理利器

日期辨析:2023 年 11 月开源首发 vs 2024 年 3 月 1.1.0 稳定版发布

项目开源与去中心化架构首发2023.11.15

开源社区首次发布 EasyTier 代码,确立基于 Rust 的纯去中心化无中心服务器虚拟网架构。

v1.1.0 稳定版发布与 NAT 穿透演进2024.03.20

发布早期里程碑稳定版本,完善智能 NAT 穿透算法、多网卡链路聚合与子网代理(Subnet Proxy)。

多传输协议扩展与代理内核集成2024.08.15

引入 TCP/WebSocket/WireGuard 等多协议承载,并随后被 Mihomo 等现代翻墙内核集成。

编写口径:所有时间节点严格以 GitHub 官方 Release 与提交历史为权威依据。

词条概览与核心定位

01

在当今主流的异地组网方案中,Tailscale 依赖集中式的协调控制面(若使用自建 Headscale 仍需自行运维长常驻服务), 而传统的 VPN 工具在复杂的 NAT 打洞与多路径网络选择上缺乏灵活性。 部分注重隐私和完全自治的技术团队渴望一种“真正的去中心化(Serverless)”组网体验: 任何节点只要知道网络名称与密码,并且知道网络中任意一台已有节点的地址,即可瞬间加入网络,无需注册账号、无需依赖任何云端[1]。

EasyTier 应运而生,采用现代化 Rust 语言从零构筑: 所有节点均为对等(Peer-to-Peer)关系。当两台设备处于不同 NAT 后面时,项目会自动发起 UDP 端口打洞; 若打洞受阻,网络中处于最优公网位置的节点会自动充当数据包的中继转发者, 全程无感知切换,并利用 ChaCha20-Poly1305 或 AES-GCM 实现真正的端到端加密保护[2]。

定位结论

EasyTier 是新一代极简自托管异地组网的代表作。 尽管其诞生时间较短,但因其完全开源、单二进制文件、无任何商业绑定的去中心化纯粹性, 正在迅速成为技术人员打通跨国多云服务器链路与实现异地代理转发的黑马武器。

去中心化对等网与自动中继架构

02
1. 全对称去中心化拓扑 (No Central Controller)完全剔除中央协调服务器概念;网络拓扑依靠节点间的心跳与分布式路由表(Kademlia DHT 思想)进行邻居发现与自组织扩张[1]。
2. 多传输承载层 (UDP / TCP / WebSocket / WireGuard)在严苛运营商或封锁环境中,EasyTier 支持将底层流量伪装为标准 TCP 甚至 WebSocket 协议流,规避激进的 UDP 丢包限制[3]。
3. 智能多跳中继与子网代理 (Subnet Proxy)任意节点可声明代理自己身后的整个局域网段(如 192.168.1.0/24),其他节点无需在每一台终端安装客户端即可直接访问目标内网设备。

去中心化入网与通信流程

  1. 节点启动与对等握手:执行单一命令启动,指向一个公网对等点(Peer URL),完成网络名与密码核验。
  2. 全网拓扑感知与智能打洞:节点接收邻居广播的拓扑图,按需向目标节点发起直连穿透测试,优先建立 P2P 高速直连。
  3. 路径质量评估与动态切换:持续测量链路延迟与丢包率,直连出现抖动时瞬间切换到低延迟中间节点中继,保持通信不中断。

代理生态集成与翻墙出口实践

Mihomo 等现代代理内核已将 EasyTier 作为 Outbound 节点类型支持。 用户可以在海外云主机上运行一个轻量 EasyTier 实例作为网络节点, 在国内客户端通过配置文件直接将该节点指定为出站出口,享受全去中心化的代理体验[4]。

版本演进时间线(共 5 个关键节点)

03

以下时间线记录了 EasyTier 从 2023 年底开源发起、拓扑算法成熟、1.1.0 稳定版发布到被现代代理内核集成的演进轨迹:

纪事

2023 年:项目创立与纯去中心化架构确立

  • EasyTier 项目在 GitHub 正式开源

    开发者 kkrainbow 开源 EasyTier,采用 Rust 编写,主打“无需中心服务器、对等去中心化自发现”理念。

    GitHub:EasyTier 首次发布
  • 引入分布式拓扑算法与多跳自动中继

    节点之间通过分布式信令广播自动探测最优链路,当两端无法直接打洞时自动借助中间低延迟节点中继。

    EasyTier 路由与拓扑设计文档
纪事

2024 年:稳定版本里程碑与穿透能力跃升

  • EasyTier v1.1.0 稳定版发布

    支持子网代理(Subnet Proxy)与多路径聚合,确立了去中心化异地局域网的基本功能模型。

    GitHub:EasyTier v1.1.0 Release
  • 扩展多协议传输层(TCP / WebSocket / WireGuard)

    除原生 UDP 外,支持将数据流封装在 TCP 或标准 WebSocket 管道中传输,大幅提升严苛网络的穿透适应力。

    EasyTier 传输层协议更新说明
  • Mihomo 代理内核原生集成 EasyTier 出站

    Clash Meta / Mihomo 正式引入对 EasyTier 的支持,使得翻墙客户端可直接通过 EasyTier 节点中继流量。

    Mihomo 官方更新日志

生态实现与客户端兼容性

04

项目提供跨全平台的 Rust 纯二进制文件,并拥有独立的图形化管理工具与代理内核集成。

软件 / 内核类型支持平台支持级别起始版本发布日期特性说明
EasyTier Core (Rust CLI)核心内核Linux, Windows, macOS, Android, FreeBSD官方核心实现v1.0.0+2023.11.15官方开源单一二进制程序,无任何动态链接库外部依赖,极低内存消耗。
EasyTier GUI (官方图形客户端)客户端Windows, macOS, Linux官方桌面客户端v1.1.0+2024.04.10基于 Webview/Tauri 打造的极简桌面应用,支持图形化拓扑监控与一键入网。
Mihomo (Clash Meta)核心内核全平台代理内核集成v1.19.0+2024.11.01Mihomo 内核在出站协议中新增 EasyTier 支持,支持将去中心化子网直接纳入分流调度。
Docker / OpenWrt 社区容器与插件客户端OpenWrt 路由 / 嵌入式 Linux路由器与容器支持v1.1.2+2024.05.20社区打包的轻量 Docker 镜像与 OpenWrt 插件,便捷接入家庭主路由。

适用场景、网络边界与部署建议

05

最佳适用场景

零外部依赖自建私网:不愿注册任何商业账号、避免任何第三方服务器留存网络拓扑元数据的自托管用户; 嵌入式与轻量单板设备:内存只有几十兆的微型路由器或树莓派,单二进制文件开箱即用; 多云多机房内网穿透:分布在阿里云、腾讯云、AWS 与海外 VPS 之间的跨云专线级免配互通。

网络边界与安全注意事项

新兴项目成熟度:项目诞生于 2023 年底,面对极端复杂蜂窝移动网络的穿透算法仍处于持续演进阶段; 初次启动依赖种子节点:去中心化网络至少需要有一台节点拥有公网可达 IP,或借助公开的公共对等节点作为首个发现入口; 无针对 GFW 的深度伪装:虽然支持 TCP/WS 封装,但默认数据流并非针对审查系统做深度主动探测防御,跨境直连仍需注意流量特征。

第一手文献与官方参考资料

06

词条事实与技术定义均以 EasyTier 官方开源仓库与文档为准:

  1. [1]EasyTier Official Documentation & Architecture Guide官方技术白皮书,涵盖去中心化对等网络拓扑、DHT 路由表管理与子网代理实现细节。https://easytier.top/
  2. [2]EasyTier GitHub Repository & Release Logs开源代码仓库,详尽记录 Rust 核心实现、协议迭代与性能优化历程。https://github.com/EasyTier/EasyTier
  3. [3]EasyTier Multi-Protocol Transport Layer Specifications详述如何在 UDP 打洞受阻时动态降级到 TCP 与 WebSocket 隧道传输的技术文档。https://easytier.top/guide/network.html
  4. [4]Mihomo EasyTier Outbound Configuration Guidelines开源代理生态关于如何利用 EasyTier 虚拟节点进行规则分流与跨国中继的配置指南。https://wiki.metacubex.one/