这个显卡不太冷 发表于 2022-3-22 14:29:01

【开源】Python实现简单的TCP内网穿透|实现远程桌面

以前用ngrok总觉得非常麻烦,又要编译又要安装证书。
而且经常莫名其妙断开。
后来自己用Python自己写了个支持TCP穿透的工具。

Feature:


[*]使用简单,双端只要有Python3.8以上就可以直接运行。
[*]轻量级,用了asyncio实现协程,资源使用极低,使用一个TCP连接的情况下客户端内存占用仅仅12.6M
[*]比较稳定,支持断线自动重连。服务器进程常驻。
[*]多用户,一个客户端支持多个TCP端口穿透。一个服务器端支持多个客户端,互不影响。
[*]可能有未知bug,小孩子不懂,写着玩的。


项目地址:
https://github.com/zgxkbtl/Alley

使用方法:

以反代出本地的3389端口为例。
3389是Windows远程桌面的服务端口。

由于NAT的限制,无法直接连接家庭PC的网络。
这里将本地3389代理到公网IP上的21354 。
通过访问21354可以连接本地PC的远程桌面。

1. 在公网服务器上启动 server.py,默认会监听9876端口,不用输入任何参数。




出现上图的字样代表启动成功。
如果出现其他字样代表可能除了一些问题,具体是什么我也不知道,欢迎反馈。

2. 在本地启动client.py

python .\client.py --host '127.0.0.1'这里127.0.0.1应该填写公网服务器的IP地址。
成功后在client端应该会显示:

('127.0.0.1', 9876)
2022-03-21 23:22:47,275 - proactor_events.py - DEBUG: Using proactor: IocpProactor
2022-03-21 23:22:47,278 - client.py - INFO: {"type": "CONNECTOR", "local_addr": "127.0.0.1", "local_port": "3389", "remote_addr": "0.0.0.0", "remote_port": "21354"}

而在server端应该会显示:

INFO:root:Alley server listening on ('0.0.0.0', '9876')
DEBUG:asyncio:Using proactor: IocpProactor
INFO:root:Received '{"type": "CONNECTOR", "local_addr": "127.0.0.1", "local_port": "3389", "remote_addr": "0.0.0.0", "remote_port": "21354"}' from ('127.0.0.1', 7783)
INFO:root:{"type": "CONNECTOR", "local_addr": "127.0.0.1", "local_port": "3389", "remote_addr": "0.0.0.0", "remote_port": "21354"}
INFO:root:listening endpoint on : ('0.0.0.0', '21354')
INFO:root:ping
INFO:root:ping
INFO:root:ping
INFO:root:ping
INFO:root:ping
INFO:root:ping

3. 接着可以测试连接是否正常了




其他:

可以在client的代码中更改这一部分。
按照格式定义本地的端口和服务器的端口即可。

async def run():
    messages = [
{
    'type': "CONNECTOR",
    'local_addr':'127.0.0.1',
    'local_port':'3389',
    'remote_addr':'0.0.0.0',
    'remote_port':'21354'
},
    ]


841020672 发表于 2022-3-22 16:26:04

强,学习一下,谢谢分享

wdscxsj 发表于 2022-3-22 20:56:40

frp (https://github.com/fatedier/frp/) 值得拥有。

wtgahz 发表于 2022-3-22 21:46:59

这个不应该去吾爱发帖吗{:23:}

yangeryuner 发表于 2022-3-22 22:00:16

坛子里人才济济,膜拜技术大佬!

jyssysz 发表于 2022-3-23 14:24:19

这个可以有,希望能把开源进行到底!!

xiaohu96 发表于 2022-3-24 07:15:07

学习一下               

nkc3g4 发表于 2022-3-25 19:44:40

显卡太棒了                     
页: [1] 2
查看完整版本: 【开源】Python实现简单的TCP内网穿透|实现远程桌面