Skip to content

基于Python 编写的高性能Ngrok客户端,有效解决内存泄漏

License

Notifications You must be signed in to change notification settings

hauntek/python-ngrok

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

python-ngrok

基本上已经完善!并且24*7小时长时间工作,在期间我们多次尝试断网重连、渠道反复注册等,均无任何问题。

采用多线程异步处理,并发性能相当强悍!

运行环境

Python 2.7.9 或 Python 3.4.2 以上

运行方法

直接运行即可.

温馨提示

如果有小伙伴不想依赖环境运行,不妨可以试下PyInstaller,把py编译成可执行文件。

注:随着IPv6加速普及,各大移动终端及宽带、网站、应用不断加速支持IPv6,本项目现已跟进IPv4/IPv6双栈支持。

更新日记 v1.56(2021/04/25)


1.本地数据分块转发

2.支持单线程异步协程python-ngrok_gevent.py

  • 需安装gevent库, 命令: python -m pip install gevent

更新日记 v1.52(2019/07/27)


1.添加IPv4/IPv6双栈服务连接及本地转发协议支持

  • 支持数字格式地址及双栈域名地址解析,可分别设置服务连接及本地转发协议
  • 域名双栈解析优先: IPv6 > IPv4
  • 双栈协议参数说明: [dualstack] or [dualstack_or]
  • 服务连接协议参数: dualstack [IPv4/IPv6=双栈, IPv4=IPv4, IPv6=IPv6]
  • 本地转发协议参数: dualstack_or [0=双栈, 1=IPv4, 2=IPv6]

2.删除旧版不支持的域名解析函数及旧版查询隧道信息函数


更新日记 v1.5(2018/09/19)


1.修复部分情况导致查询隧道信息出错


更新日记 v1.46(2017/05/04)


1.支持配置文件运行,优先读取配置信息

  • 运行命令: ./python-ngrok.py ngrok.config

2.感谢@thinkclaves 贡献配置文件代码


更新日记 v1.42(2017/03/15)


1.修复接收字节序过短,导致的异常事件

2.优化部分处理器的大小端字节对齐


更新日记 v1.41(2017/03/04)


1.修复部分情况导致丢包,数据不完整问题


更新日记 v1.38(2016/09/01)


1.添加子线程跟随主线程结束而结束

2.添加程序退出时发送客户退出消息

3.添加捕获键盘中断异常事件

4.更改断线后重新赋值心跳变量


更新日记 v1.36(2016/08/29)


1.添加日记输出模块,调试输出格式化

2.修复本地映射地址无效转向定制的html页面

3.修复关闭上个线程读写,判断描述符是否有效

4.更改发送心跳周期

5.修复断线后重新赋值心跳变量


更新日记 v1.32(2016/08/13)


1.修复关闭上个线程读写,某些极端情况出错

2.修复组包/拆包在其他版本字节流长度不一致


更新日记 v1.31(2016/08/11)


1.修复本地转发完后,关闭上个线程读写


更新日记 v1.3(2016/08/10)


1.修复可写事件,某些极端情况发送数据出错

2.修复处于被注册的期间,断网导致发送心跳出错


更新日记 v1.2(2016/08/10)


1.转多线程异步处理,大幅提升即时并发性能

2.修复主线程cpu占用过高

3.修复堵塞和非堵塞发送

4.修复读写I/O判断

5.修复输出日记排序

6.优化断线重连机制

7.修复断线后变量无法赋值

8.修复本地转发完后导致远程挂起

9.添加本地映射地址无效转向定制的html页面


About

基于Python 编写的高性能Ngrok客户端,有效解决内存泄漏

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages