推广 热搜:   公司  企业  快速  中国  设备  上海  未来  行业   

hppt,一款基于纯HTTP协议的内网穿透、反向代理工具

   日期:2024-11-01     移动:http://kaire.xrbh.cn/quote/6876.html

项目地址 GitHub - codingmiao/hppt: 一款基于纯HTTP协议的内网穿透、反向代理工具

hppt,一款基于纯HTTP协议的内网穿透、反向代理工具

本项目需要jdk21启动,请先前往jdk官网下载对应你操作系统版本的jdk,然后在releases 页面下载最新版本编译好的jar包,或自行下载源码编译

假设你家里有一台台式机(ssh端口为22),并且有一台公网VPS服务器(ip 112.242.68.66),你想在公司用笔记本登录家里的台式机,可按如下结构部署

1、拷贝cs文件夹到公网服务器上:

并调整cs.yml的配置信息:

# http服务端口
	port: 30871
	# 客户端配置列表
	clients:
	- # 客户端ID
	# 客户端转发配置列表
	remoteHost: "localhost"
	remotePort: 22
<jdk21_path>/bin/java -jar cs.jar

2、拷贝cc文件夹到在家里的台式机上

修改cc.yml

# 客户端id,每个cc.jar用一个,不要重复
	# 服务端http地址,可以填nginx转发过的地址
	serverUrl: "http://112.242.68.66:30871"
	# 开始时闲置几毫秒发一次http请求,越短延迟越低但越耗性能
	# 当收到空消息时,闲置毫秒数增加多少毫秒
	addSleepTime: 100
	# 闲置毫秒数最大到多少毫秒
	maxSleepTime: 10000
	# 向服务端发数据请求体的字节数最大值 有时会出现413 Request Entity Too Large问题,没办法改nginx的话就用这个值限制
	maxSendBodySize: 2147483647
	

其中即第一步在公网服务器上部署的cs.jar的访问地址,如果不希望直接暴露30871端口,也可以通过nginx转一下

这样配nginx然后修改serverUrl配置为  即可

<jdk21_path>/bin/java -jar cc.jar

随后,你就可以在公司用linux连接工具访问112.242.68.66的10022端口,来登录家里的台式机了

假设你有一个服务器集群,仅有一个nginx提供了80端口对外访问(112.242.68.66:80),你想要访问集群中的应用服务器(192.168.0.2)的22端口,则可以按如下结构部署

1、拷贝ss文件夹到网关服务器上:

并调整ss.yml的配置信息:

#服务http端口
	port: 20871
	#超过sessionTimeout,给客户端发送存活确认命令,若下一个sessionTimeout内未收到确认,则强制关闭服务
	sessionTimeout: 60000
	#接收到客户端/真实端口的数据时,数据被暂存在一个队列里,队列满后强制关闭会话
	messageQueueSize: 20480
	#上传/下载文件用的目录
	fileDir: /data/ss/dt
	#是否启用压缩,默认启用 需和客户端保持一致
	#是否启用内容加密,默认启用 需和客户端保持一致
	# 允许的客户端id
	clientIds:
	- book
	

执行如下命令启动ss.jar

<jdk21_path>/bin/java -jar ss.jar

在nginx上配置一个代理指向ss.jar

2、拷贝sc文件夹到自己笔记本上:

并调整sc.yml的配置信息:

#客户端id,每个sc.jar用一个,不要重复
	clientId: book
	#服务端http地址,可以填nginx转发过的地址
	serverUrl: "http://112.242.68.66:80/xxx"
	#开始时闲置几毫秒发一次http请求,越短延迟越低但越耗性能
	#当收到空消息时,闲置毫秒数增加多少毫秒
	addSleepTime: 1000
	#闲置毫秒数最大到多少毫秒
	maxSleepTime: 60000
	#向服务端发数据请求体的字节数最大值 nginx代理的话,如果没办法修改配置,会出现413 Request Entity Too Large问题,没办法改nginx的话就用这个值限制
	maxSendBodySize: 1024000
	#是否启用压缩,默认启用 需和服务端保持一致
	#是否启用内容加密,默认启用 需和服务端保持一致
	remoteHost: "192.168.0.2"
	remotePort: 22
	

执行如下命令启动sc.jar

<jdk21_path>/bin/java -jar sc.jar

随后,你就可以在公司用linux连接工具访问localhost的10022端口,来登录应用服务器了

组合示例一、二,实现更多有趣的玩法,比如把家里的端口代理到自己笔记本上,给其它同事的电脑访问

由于http本身短连接、带了很多请求头等无用信息之类的原因,比直连损耗30%以上的效率。

以下是scp命令拷贝一份文件,直连和使用hppt反代的耗时对比

条件不允许^_^,笔者写这个工具,就是因为使用环境里需要通过nginx转发,而nginx不允许配ws、sse相关的参数。

所以,用http post就是为了最大的适配能力,这个项目就是:要通用性有通用性、要性能有通用性^_^。

必须使用指定的clientId才能连接,数据传输过程中对字节进行了加密,如果你还需要更多的个性化验证,比如用户登录,可以发邮件到liuyu@wowtools.org进行定制化开发。

本文地址:http://syank.xrbh.cn/quote/6876.html    迅博思语资讯 http://syank.xrbh.cn/ , 查看更多

特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关动态
推荐动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号