You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

寻求可绕过企业严格防火墙的HTTP隧道代理解决方案

寻求可绕过企业严格防火墙的HTTP隧道代理解决方案

老哥我现在碰到个头疼的企业防火墙问题:公司网的防火墙卡得死死的,具体限制如下:

  • 完全封了SSH
  • 只能直接连公司的HTTP代理服务器(端口80/443)
  • 还开了深度包检测(DPI)

我想整个这么个路子:在我本地机器和公司代理之间整个程序,把浏览器的请求包一层皮,让它看起来像是发往我自己在公网上掌控的某个合法主机的请求;然后公网那头的主机负责拆包,把真实的HTTP请求发出去,之后再把响应重新包好,通过公司代理传回到我本地的程序,最后本地程序拆包再给浏览器用。

我还画了当前网络状况和目标架构的示意图,不过这里就没法展示了。

现在我想问的是:有没有现成的软件已经实现了这套“本地封装+远端解封”的配对程序?我感觉这有点像单节点的Tor网络...

现成可用的工具推荐

1. HTTPTunnel(俗称ht

这是专门搞HTTP隧道的经典老工具,完美匹配你的需求:本地端把流量封装成标准HTTP请求发给你公网的受控主机,远端主机拆包后转发真实请求,再把响应原路封装回来。它能把流量伪装得跟普通HTTP请求一模一样,对付DPI和只允许HTTP代理的环境特别好使,而且是轻量的命令行工具,配置起来也不复杂。

2. 组合方案:proxychains-ng + sslh + nginx

如果你要更灵活的配置,可以试试这个组合:本地用proxychains-ng把流量导到本地转发进程,再用stunnel之类的工具把流量伪装成标准HTTPS请求发给你公网主机上的sslh——sslh监听443端口,能把伪装的HTTPS流量分流到后端的代理服务(比如Squid或者Privoxy),代理处理完真实请求后再原路返回。这个组合的好处是能更逼真地模拟真实HTTPS流量,不容易被DPI揪出来。

3. go-http-tunnel

这是用Go语言写的现代HTTP隧道工具,支持双向的HTTP/HTTPS隧道,本地做客户端,远端做服务端,就是专门为受限网络环境设计的,配置简单,还自带TLS加密,能轻松绕过DPI,完全就是你要的“封装-解封”配对工具。

4. ngrok(建议搭私有服务器)

ngrok本质就是干这个事儿的,本地客户端把流量封装后发往云端,但如果你要完全可控的话,建议自己搭建ngrok的私有服务器,这样所有流量都走你自己的主机,不用依赖第三方。它有图形化界面也有命令行,几乎没配置门槛,适合快速上手试效果。

碎碎念

你说的“单节点Tor网络”这个类比太准了!本质上这就是单层加密HTTP隧道代理,核心就是把非授权流量伪装成公司允许的HTTP/HTTPS流量蹭过企业代理,这些现成工具都是把这个思路落地了的,完全不用自己从零写代码折腾。

备注:内容来源于stack exchange,提问作者knarf

火山引擎 最新活动