一个基于p2p的tcp、udp内网穿透隧道工具

Tony 219m2021-04-173022 次点击2 人感谢
GitHub:https://github.com/chenjia404/p2ptunnel
想和朋友联机玩游戏,下班了需要连接公司电脑,但是自己没有服务器,没有公网ip怎么办

本应用可以建立tcp、udp隧道,把本地或者远程应用端口映射出来,不要求有公网,如果双方节点无法进行直连,会有其它节点进行中继转发,数据端对端加密,中继节点无法查看数据。

### 工作原理

电脑a打开本应用,把一个端口映射出来,电脑b打开本应用,连接电脑a,电脑a的端口映射到本机的127.0.89.1端口下。

如果两台电脑都是内网,会通过其它节点进行数据中继,数据转发的时候会进行端对端加密。

### 使用案例

先下载对于平台的
打开本机的远程桌面,朋友连接帮忙解决问题
### 打开本地端口
./p2ptunnel -type tcp -l 3389

注意这里会输出你的节点id,然后通过聊天软件发给你的朋友,这里假设id是12D3。

#### 连接
./p2ptunnel -id 12D3

连接可能需要几秒到1分钟,连接成功后,会输出 Listening tcp 127.0.89.0:3389 -> 3389

然后朋友在远程桌面连接 127.0.89.0:3389 即可。


### 注意事项

1. 本应用虽然使用的端对端加密,但是不保证传输数据的安全性,重要数据请勿使用本应用传递。

2. 由于是p2p隧道,所以本程序会连接多个ip,如果介意,请使用frp。

### 上游项目

[go-libp2p](https://github.com/libp2p/go-libp2p)

[p2p-forwarder](https://github.com/nickname32/p2p-forwarder)
收藏 ♥ 感谢
hanguofu 10cm 2021-04-21 
有意思~~~就是不知道 如果需要服务器中转数据的话 , 服务器有没有对 带宽、速度 有什么限制 ?
Tony 219m 2021-04-22 
@hanguofu 有一定的要求,如果要联机玩 MC,用带宽只有 1M 的 VPS 体验可想而知

登录注册 后可回复。