隧道通过HTTP服务器

如您所知,在许多国家,审查制度阻止我们访问某些网站。

在土耳其,Facebook和Youtube将会有审查。

我认为将这些审查通过HTTP服务器是很好的。

有什么脚本或应用程序可以让我们像隧道一样使用HTTP服务器吗?

或者,我怎样才能实现它,我会用什么?

我们将租用无限stream量的服务器,并将其用于隧道工作。

你可以使用OpenVPN。 如果您使用侦听端口443的OpenVPN服务器,则可能不会被过滤。 但是,分析您的networkingstream量的人会知道您正在使用OpenvPN:您可能想要避免这种情况。

如果你想避免这种情况,你可以通过HTTPS代理连接到OpenVPN服务器。 OpenVPN知道如何使用HTTP代理,而不是HTTP,所以你必须使用一个工具,如socat:

  • 使用localhost上的socat转发到HTTPS代理(在OpenVPN服务器附近部署);

    socat TCP-LISTEN:9999,bind = localhost OPENSSL:proxy.example.com:443

  • 要求OpenVPN使用本地主机作为HTTP代理。

OpenVPN – (HTTP代理) – >本地代理解包程序 – (TLS) – > HTTP代理 – (OpenVPN / TCP) – > OpenVPN服务器

您可能想要使用PPP over SSL:

socat OPENSSL:ppp.example.com:443 EXEC:"sudo pppd nodetach noipdefault notty noauth 192.168.0.1:198.169.0.2" 

或通过HTTPS代理的PPP:

 socat EXEC:"corkscrew www.exmaple.com 443 ppp.example.com 9999" EXEC:"sudo pppd nodetach noipdefault notty noauth 192.168.0.1:198.169.0.2" 

如果您只希望人们访问网站,更简单的解决scheme可能是设置一个CONNECTfunction的HTTPs代理。

您可能会设置一个SSH通道,并使用带有corscrew的ProxyCommand将其中继到HTTP(或普通的TLS)代理:

 ssh ssh.example.com 

附:

  Tunnel point-to-point ProxyCommand corkscrew proxy proxyport %h %p