ghmzmq / TrunPortForward

一个Web管理的、多节点、多端口、高度自定义定向转发工具

Home Page:http://forum.urox.cn/t/trunpf

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TrunPortForward - 高性能Web管理|多节点多IP端口转发集中管理平台

最近某VPS商家追着我要开发个小玩意儿,写得差不多了。在这个商家的站上测试通过以后就开源出来希望得到坛子里的大佬们一点点支持 先放张大概的结构图 (其实我知道没图你们是不会来的),慢慢解释来,希望论坛的大佬们能理解把简单的东西搞得这么(==丧心病狂/复杂==)的玩意儿 image

简介:

以上,然后他们用户投了一轮票,再加上手头有个TP的废弃项目,就直接拿来用了。项目名称暂定TPF(TrunPortForward)。因为赶时间程序用的第三方类和各种工具比较多,含有Laravel ThinkPHP Python等项目。
目的:IP有限的情况下开虚拟机虚拟机虚拟机虚拟机

以下介绍具体功能QwQ

  1. 用户系统
  • 用户系统还算比较灵活,支持以下几种登录方式
    • 从WHMCS拉取验证(应该会是坛子里的MJJ们最常用的方式),用户在登录TPF时,输入客户中心的用户名和密码,系统判断。目的是让用户少记个密码QwQ
    • 从TPF内置的用户系统登录。这种方式包含了子用户的功能,场景如下:用户甲持有许多台NAT VPS,他想将其中一台独立出来,给自己的朋友用。
    • 从其他支持OAuth的第三方登录(内置好库了,有需要的MJJ自行开发吧orz)

2.端口转发

  • 端口转发也是TPF的核心功能,在不影响使用的情况下尽量保持稳定
  • 用户在按照虚拟机来请求端口,TPF从系统中依次获取这台VM所在的主机、主机上对于这台VM允许的出网IP(通常为1个)、这个IP上允许的端口范围。
  • 端口分配有三种方式
    • 第一种:系统顺序分配;
    • 第二种:系统乱序分配;
    • 第三种:用户从允许的范围列表内自行选择未被使用的端口)

3.请求后,如果管理员设置了这个IP上的端口都必须经过审核才能分配给用户的VM,则先交由后台。确认。

4.确认后,服务器有两种方式来执行端口转发任务。(按服务器为单位)

  • 第一种:同步推送。TPF主动将转发信息推送给服务器,执行;优点:可以更快地得到执行结果
  • 第二种:异步拉取。服务器定时从TPF拉取信息,执行;优点:可以节省TPF所在服务器资源,防卡死、提升用户的站点体验

5.特性

  • 子用户功能(上面已经提到)
  • 多IP多端口支持/自动获取网卡IP(如果有做动态拨号之类的商家,由于本人技术有限,目前只有监听0.0.0.0来解决。意思也就是一个动态IP的宿主机上只能接入一个动态IP;或是接入多个动态IP,但对于所有IP,TFP的端口转发执行情况将会一致)
  • 程序使用场景灵活,无需WHMCS、无需SolusVM的存在。程序执行过程是从TFP直接与宿主机进行通信。(不过内置了和SolusVM通信的部分功能..好吧这既是特点又是缺点)
  • 自定义程度较高,具体如下:
    1. 允许的端口范围可以调整到一个更小的范围,例如(500-505|1000-1100),可以给用户更多的选择空间
    2. 可以按以一台VM为单位动态调整最大限制端口数量
  • 完全开源
  • 无任何技术支持/售后支持,无视一切issue
  • 还是会维护大概半年到一年的样子,修bug。然后各位MJJ就可以愉快地玩耍了。 待加入的功能:多语言支持等。后期会慢慢更新。

本人技术较辣鸡,求各位Coding大佬不喜勿喷。本人对使用TFP出现的任何bug和使用后果不负责任。反正我自己用了

部署过程可能不会太简单,喜欢简单的出门左拐 欢迎对窝感兴趣的dalao一起玩耍啊~~~

我的Email: cytvictor@hotmail.com

我的企鹅: 3245508983

我的Telegram: cytvictor

About

一个Web管理的、多节点、多端口、高度自定义定向转发工具

http://forum.urox.cn/t/trunpf


Languages

Language:PHP 54.1%Language:JavaScript 34.3%Language:CSS 8.0%Language:HTML 3.2%Language:Smarty 0.3%Language:Shell 0.0%