V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
chenjia404
V2EX  ›  分享创造

我用 go 做了一个类似 tor 去中心化多跳加密代理项目

  •  1
     
  •   chenjia404 ·
    chenjia404 · 6 小时 9 分钟前 · 210 次点击

    最近自己做了实验性质的项目,想发出来和大家交流一下,也看看有没有人感兴趣一起讨论。

    这个项目可以简单理解成:

    一个类似 Tor 思路的多跳代理网络,但我不想走 Tor 那种中心化节点目录的路线,而是希望节点发现、节点广播、节点加入网络这部分尽量做成去中心化

    我现在在做的整体方向大概是这样:

    • 每个节点启动后,本地直接提供一个 SOCKS5 代理

    • 节点分成两类角色:

      • Relay (中继节点)
      • Exit (出口节点)
    • 本地应用流量先进入本地 SOCKS5 ,再进入这个网络

    • 每个节点都是中继,但是出口节点需要手动开启。

    • 目前支持的路径思路包括:

      • Local -> Exit
      • Local -> Relay -> Exit
      • 后面会继续扩展多跳
    • 整体理念上有点像 Tor:

      • 多跳转发
      • Relay 和 Exit 分工
      • 客户端本地建电路
    • 但一个比较重要的区别是:

      • Tor 的节点目录本质上是中心化的
      • 我这个项目希望尽量不依赖中心目录,而是通过节点广播、去中心化发现、节点本地缓存等机制来做

    目前已经实现的功能:

    1. 去中心化加密多跳代理

    • 自动寻找网络的节点
    • 多跳分层加密(让 Relay 只知道下一跳,看不到最终目标)
    • 电路池
    • 自动重试与路径切换

    2. web 的控制台

    • 配置出口选择,你可以选择指定国家或者排除指定国家的出口节点
    • 配置出口政策,你可以只给一些服务提供出口网络。

    3. 少量测试节点

    • 数个 Relay 和 Exit

    我做这个项目的出发点主要是:

    • 想做一个使用 go 语言的多跳加密代理原型
    • 想尝试一下: 如果不依赖 Tor 那种中心化目录,而是尽量做去中心化节点发现,这条路线能不能走通
    • 也想看看在 libp2p / 自定义电路协议 / 本地 SOCKS5 Agent 这套组合下,能不能做出一个比较像样的系统

    目前这个项目还比较早期,更偏:

    • 协议实验
    • 网络架构设计
    • 工程验证

    还不算成熟产品。

    如果大家感兴趣,我后面也可以继续整理一些内容,比如:

    • 架构图
    • 协议设计文档
    • 配置示例
    • 测试版仓库

    也想听听大家看法,比如:

    • 这种项目你们最在意的是匿名性、稳定性,还是运维能力?
    • 如果不走中心化目录,节点发现这块你们觉得最难的点会是什么?
    • 客户端出口选择和出口运营者策略这两个层次,这样拆分是不是合理?

    GitHub: https://github.com/chenjia404/meshproxy

    4 条回复    2026-03-14 23:10:44 +08:00
    zhang666
        1
    zhang666  
       6 小时 6 分钟前 via iPhone
    怎么发现节点?无无中心无公网太难了,除非做 ipv6 不过也难
    cyp0633
        2
    cyp0633  
       5 小时 50 分钟前
    如何避免 honeypot 呢
    chenjia404
        3
    chenjia404  
    OP
       5 小时 2 分钟前
    @zhang666 #1 节点是基于 libp2p ,先连接引导节点,然后通过 dht 寻找节点,目前已经有一些节点在运行了,启动一分钟内就可以找到几个节点。
    chenjia404
        4
    chenjia404  
    OP
       5 小时 2 分钟前
    @cyp0633 #2 无法避免,类似 tor 推荐使用 https 这样的加密服务。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   900 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 20:12 · PVG 04:12 · LAX 13:12 · JFK 16:12
    ♥ Do have faith in what you're doing.