今天整了个活,用纯 http post 做了一个反向代理/内网穿透的工具

2023-12-22 23:25:53 +08:00
 codingmiao

事情是这样子的,我在 A 市工作,我们的 web 应用部署在 B 市,由于用户那边不允许远程访问服务器运维,所以有点事就要飞过去现场处理,超级烦。好在 web 应用只要有网就能访问。

反正不管 ssh 还是访问 web ,都是把字节传发送到服务器嘛,于是我整了个活,本机用 netty 写个客户端把 ssh 请求发出的字节接住,转成 http post 发到 web 应用的 nginx ,再转发给服务器上的 netty 服务端还原出字节,转到 ssh 端口,大致就是这么个架构:

然后,我就不用飞来飞去了,坐办公室里用 http 端口连服务器了 O(∩_∩)O 。。

你问为什么不用 websocket ,因为用户不给在 nginx 上加相关配置。。

忍不住要分享下,项目地址是 https://github.com/codingmiao/hppt

9939 次点击
所在节点    Java
41 条回复
codingmiao
2024-06-16 01:25:19 +08:00
@itning 是的,但是 frp 必须开一个单独 TCP 端口,有时候两台机器间没有空余且可达的 TCP 端口。
于是大半年后我发现这玩意除了主题里的在违法的边缘试探的玩法,还可以改造一下,让它能以任意媒介来打通两台机器间的网络。于是就有了 2.0 版的[自定义通信方式的玩法]( https://github.com/codingmiao/hppt?tab=readme-ov-file#%E7%A4%BA%E4%BE%8B3-%E7%BC%96%E5%86%99%E8%87%AA%E5%AE%9A%E4%B9%89%E5%8D%8F%E8%AE%AE),比如拿 kafka 中介打通两台不互通的机器:

![kafka]( https://raw.githubusercontent.com/codingmiao/hppt/main/_doc/img/kafkademo.jpg)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1002777

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX