Tox Tunnel Ops

🔒 零账户 P2P 加密隧道,穿透任意 NAT

基于 Tox P2P 协议的零配置加密 TCP 隧道工具,无需公网 IP、中心服务器或账户即可实现 SSH、RDP、数据库等远程访问,是 ngrok/frp/Tailscale 的完全去中心化替代方案。

收藏
3.6k
安装
1k
版本
0.4.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

ToxTunnel 通过 Tox P2P 网络建立端到端加密的 TCP 隧道,实现内网穿透而无需端口转发、VPN 或第三方账户。主要使用场景包括:

  • 远程 SSH/RDP/VNC:从任意位置安全访问内网机器
  • 数据库隧道:PostgreSQL、MySQL、Redis、MongoDB 的安全远程连接
  • Web 服务暴露:本地开发服务器或内部应用的外网共享
  • NAS/Homelab 访问:Synology、TrueNAS 等家庭服务器的远程管理
  • 动态代理:SOCKS5/HTTP CONNECT 代理支持任意目标访问

部署架构

客户端: 本地端口 ←→ TunnelClient ←→ [Tox P2P 加密隧道] ←→ TunnelServer ←→ 目标服务
  • Server:运行在能访问目标服务的机器上
  • Client:运行在需要访问服务的用户机器上
  • 配置通过 YAML 文件管理,支持热重载(SIGHUP/toxtunnel reload

关键特性

| 功能 | 说明 |
|------|------|
| 零配置 NAT 穿透 | 自动处理多层 NAT、运营商级 NAT,无需路由器配置 |
| 多服务器故障转移 | 支持主备服务器列表,自动切换与回切 |
| 细粒度访问控制 | 基于好友公钥的 `rules.yaml`,支持主机/端口级允许/拒绝规则 |
| 可观测性 | Prometheus `/metrics` 端点 + `toxtunnel inspect` 实时状态 |
| 动态代理模式 | 可选 SOCKS5 监听器用于临时/调试访问 |

---

显著优点

1. 完全去中心化:基于 Tox 协议,无中心服务器、无账户体系、无第三方依赖
2. 端到端加密:libsodium 加密,密钥由用户本地生成保管

3. 零成本:开源免费,无流量/连接数限制

4. 跨平台:支持 macOS、Linux、Windows,提供原生安装包

5. 生产级特性:热重载、故障转移、速率限制、空闲回收、BDP 自适应流控

---

潜在缺点与局限性

| 限制 | 说明 |
|------|------|
| 带宽与延迟 | Tox 中继模式下吞吐量受限,高带宽场景(如大文件传输)性能不及专线 VPN |
| 连接稳定性 | P2P 依赖 DHT/bootstrap,网络环境恶劣时可能需多次重连 |
| 功能边界 | 纯 TCP 隧道,不支持 UDP 转发;无内置 HTTP/HTTPS 终端处理 |
| Windows 限制 | Pipe 模式(SSH ProxyCommand)不支持 Windows,需用端口转发 |
| 学习曲线 | 需理解 Tox ID、好友公钥、YAML 配置等概念 |

---

适合人群

  • Homelab 用户:远程管理家庭 NAS、服务器,替代传统 VPN
  • 开发者/DBA:临时安全访问内网数据库,无需修改防火墙
  • 远程工作者:从咖啡馆/酒店安全连接公司内网资源
  • 隐私敏感用户:拒绝中心化服务,追求完全自主可控的访问方案
  • 临时承包商场景:时间受限、可审计、可即时撤销的精细化访问授权

---

常规风险

1. 访问控制配置错误rules.yaml 过于宽松可能导致非预期暴露(默认拒绝是安全基线)
2. SOCKS5 监听风险:若绑定到非环回地址,任何可达主机都可利用隧道(工具强制拒绝非环回绑定)

3. 密钥丢失tox_save.dat 包含 Tox 身份,丢失后好友关系需重建

4. Tox ID 泄露:虽无法直接建立隧道,但可能增加被探测面

5. Metrics 端点暴露:Prometheus 端点默认环回,若绑定到外网需配合网络隔离

安全最佳实践

  • 始终使用最小权限规则(精确到 host:port,避免 * 通配)
  • 承包商访问限时+限范围,结束后热重载移除规则
  • 备份 tox_save.dat 到加密存储
  • Metrics 仅绑定 127.0.0.1 或通过受信网络暴露

Tox Tunnel Ops 内容

examples文件夹
references文件夹
scripts文件夹
手动下载zip · 53.5 kB
db-migration.mdtext/markdown
请选择文件