From 4c6482a58cce015300f2d96a87614d6d36a8b416 Mon Sep 17 00:00:00 2001 From: bolvan Date: Mon, 7 Nov 2016 18:35:40 +0300 Subject: [PATCH] https.txt fix and minor beautify --- https.txt | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/https.txt b/https.txt index 2079f61..6382b1b 100644 --- a/https.txt +++ b/https.txt @@ -10,7 +10,9 @@ Tor Буду рассматривать систему на базе openwrt dedicated driver, где уже установлена система обхода dpi "zapret". По крайней мере нужно иметь заполненный ipset 'zapret', устанавливать tpws или nfqws не обязательно. Более того, если они на вашей системе не срабатывают, то можно соксифицировать не только https, но и http. -Сделать так, чтобы все время при загрузке системы на некотором порту возникал socks + +* Сделать так, чтобы все время при загрузке системы на некотором порту возникал socks + Т.к. дефолтный dropbear клиент не поддерживает создание socks, то для начала придется заменить dropbear ssh client на openssh : пакеты openssh-client и openssh-client-utils. Устанавливать их нужно с опцией opkg --force-overwrite, поскольку они перепишут ssh клиент от dropbear. После установки пакетов расслабим неоправданно жестокие права : chmod 755 /etc/ssh. @@ -60,7 +62,9 @@ start_service() { Останов : /etc/init.d/socks_vps stop Включить автозагрузку : /etc/init.d/socks_vps enable Проверка : curl --socks5 127.0.0.1:1098 https://btc-e.com -Организовать прозрачную соксификацию + +* Организовать прозрачную соксификацию + Установить пакет redsocks. Redsocks есть готовый для CC 15.05.1 и DD, для более старых версий openwrt его можно взять c http://downloads.openwrt.org, либо воспользоваться прекомпилированным статическим бинариком из комплекта "zapret". Если вы берете ipk с downloads.openwrt.org, то имейте в виду переход с uclibc в CC на musl в DD. Динамические бинарики между ними несовместимы. /etc/redsocks.conf : @@ -70,7 +74,9 @@ start_service() { Автостарт redsocks при таком конфиге не работает, потому что на момент запуска сеть не инициализирована, и у нас даже нет 127.0.0.1. Вместо штатного автостарта будем вешаться на события поднятия интерфейса. Разберем это позже. Пока что отключим автостарт : /etc/init.d/redsocks disable -Завертывание соединений через iptables + +* Завертывание соединений через iptables + /etc/firewall.user Код: SOXIFIER_PORT=1099 @@ -98,7 +104,9 @@ curl https://btc-e.com /etc/init.d/redsocks start curl https://btc-e.com # должно выдать страницу -Автозапуск redsocks + +* Автозапуск redsocks + Я сделал для себя небольшой скриптик, вешающийся на события поднятия и опускания интерфейсов. /etc/hotplug.d/iface/99-exec-on-updown Код: @@ -119,12 +127,16 @@ config interface 'wan' option exec_on_up '/etc/init.d/redsocks start' Теперь reboot. Заходим снова, смотрим, что есть redsocks, есть ssh, опять проверяем curl https://btc-e.com. Пробуем зайти на https://btc-e.com с компа внутри локалки. -Если у вас нет своего сервера + +* Если у вас нет своего сервера + Если у вас нет своего сервера, да и просто для упрощения настройки, можно использовать proxy от antizapret.prostovpn.org. -Посмотрите на http://antizapret.prostovpn.org/proxy.pac. Вы увидите javascript, который проверяет ip назначения и выносит решение для броузера : идти напрямую или использовать proxy. Proxy указано как "proxy.antizapret.prostovpn.org:3128". -Этот прокси работает только на IP назначения из списка, на остальные возвращает ошибку, чтобы его не использовали для других целей. Поддерживается метод CONNECT, а значит можно его использовать для проксирования https. +Посмотрите на http://antizapret.prostovpn.org/proxy.pac. Вы увидите список доменов, по которому броузер выносит решение : идти напрямую или использовать proxy. Proxy указано как "proxy.antizapret.prostovpn.org:3128". +Этот прокси работает только на IP назначения из списка https://github.com/zapret-info/z-i/raw/master/dump.csv, на остальные возвращает ошибку, чтобы его не использовали для других целей. Поддерживается метод CONNECT, а значит можно его использовать для проксирования https. В последней версии "zapret" я добавил скрипт "ipset/get_antizapret.sh". Он парсит список ip от "antizapret" и заносит в ipset "zapret". Это гарантирует, что вызов прокси будет по тем адресам, которые разрешены для проксирования. -Как изменится вышеописанная процедура + +* Как изменится вышеописанная процедура + Убираем все, что связано с ssh. Это нам не потребуется. В /etc/redsocks.conf меняем : Код: