如何允许仅支持通过 HTTP 代理进行通信的程序通过 SOCKS 代理进行通信?换句话说,接收 HTTP 代理请求并将其转换为 SOCKS 代理请求,然后将其转发到 SOCKS 代理,并通过 HTTP 代理将返回的数据传递回程序。
我需要一个适用于 Debian Linux 的解决方案,最好使用 Debian 中预先打包的软件主要的存储库。
通信链如下:我的程序 -> HTTP 代理(本地) -> SOCKS 代理(本地) -> 外部访问
我发现了一些关于以相反的方式执行此操作(SOCKS代理转发到HTTP代理)的问题,但这对我没有帮助。转发到 SOCKS 代理的 Windows HTTP 代理服务器与我想要的类似,但由于它要求 Windows 解决方案,所以对我没有帮助。
答案1
您可以使用TorSocks为此。这是一个可预加载的库,可重定向程序以使用 socks 代理。它通常用于重定向到 Tor,但它可以重定向到任何位置。
答案2
v2ray
和https://github.com/oyyd/http-proxy-to-socks两者都可以做到这一点。
使用后者的示例:
npm install -g http-proxy-to-socks
将端口上的 socks 代理公开1078
为端口上的 HTTP 代理1088
:
hpts --level info -s 127.0.0.1:1078 -p 1088