Как вы знаете, во многих странах цензура не позволяет нам попасть на некоторые сайты.
В Турции будет цензура в Facebook и Youtube.
Я подумал, что будет здорово пройти эту цензуру через HTTP-сервер.
Есть ли какие-нибудь скрипты или приложения, которые могут позволить нам использовать HTTP-сервер как туннель?
Или, как я могу это реализовать, что я буду использовать?
Мы арендуем сервер с безлимитным трафиком и будем использовать 5-10 человек только для туннелирования.
Вы можете использовать OpenVPN. Если вы используете сервер OpenVPN, прослушивающий порт 443, он, вероятно, не будет отфильтрован. Однако люди, анализирующие ваш сетевой трафик, будут знать, что вы используете OpenvPN: вы можете этого избежать.
Если вы хотите избежать этого, вы можете подключиться к серверу OpenVPN через прокси-сервер HTTPS. OpenVPN знает, как использовать HTTP-прокси, но не HTTP, поэтому вам нужно использовать такой инструмент, как socat:
используйте socat на localhost для пересылки на прокси-сервер HTTPS (развернутый рядом с сервером OpenVPN);
socat TCP-LISTEN: 9999, bind = localhost OPENSSL: proxy.example.com: 443
попросите OpenVPN использовать локальный хост в качестве HTTP-прокси.
OpenVPN - (HTTP-прокси) -> распаковщик локального прокси - (TLS) -> HTTP-прокси - (OpenVPN / TCP) -> OpenVPN Server
Вы можете настроить SSH-туннель и использовать ProxyCommand с corscrew для ретрансляции его на прокси-сервер HTTP (или простой TLS):
ssh ssh.example.com
С участием:
Tunnel point-to-point
ProxyCommand corkscrew proxy proxyport %h %p
Если вы хотите, чтобы люди имели доступ только к веб-сайтам, более простым решением, вероятно, будет установка HTTP-прокси с поддержкой CONNECT.
Возможно, вы захотите использовать PPP через SSL:
socat OPENSSL:ppp.example.com:443 EXEC:"sudo pppd nodetach noipdefault notty noauth 192.168.0.1:198.169.0.2"
или PPP через прокси HTTPS:
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"