From 3756c220ead56c7b182293c2e56ab1a4df9840a8 Mon Sep 17 00:00:00 2001 From: bolvan Date: Thu, 2 May 2019 20:22:52 +0300 Subject: [PATCH] drop old ubuntu/debian readme --- ipset/zapret-hosts-user.txt | 4 +- readme.txt | 82 ++++++++++++++++++++++++++----------- 2 files changed, 59 insertions(+), 27 deletions(-) diff --git a/ipset/zapret-hosts-user.txt b/ipset/zapret-hosts-user.txt index 90cc0da..1162eb8 100644 --- a/ipset/zapret-hosts-user.txt +++ b/ipset/zapret-hosts-user.txt @@ -1,5 +1,3 @@ st.kinozal.tv s.kinozal.tv -static.rutracker.org -static2.rutracker.org -bt.rutracker.org +putinhuylo.com diff --git a/readme.txt b/readme.txt index 3387bdf..aa36a9e 100644 --- a/readme.txt +++ b/readme.txt @@ -237,32 +237,37 @@ tpws должен запускаться без фильтрации по ipset. Сам поиск по доменам работает очень быстро, нагрузка связана с прокачиванием объема данных через процесс. Вариант хорошо подходит для тех, у кого быстрая система с 128+ Мб памяти и провайдер применяет DPI. -Пример установки на debian 7 ----------------------------- -Debian 7 изначально содержит ядро 3.2. Оно не умеет делать DNAT на localhost. -Конечно, можно не привязывать tpws к 127.0.0.1 и заменить в правилах iptables "DNAT 127.0.0.1" на "REDIRECT", -но лучше установить более свежее ядро. Оно есть в стабильном репозитории : - apt-get update - apt-get install linux-image-3.16 +Пример установки на debian 8,9 ubuntu 16,18 +------------------------------------------- + Установить пакеты : apt-get update - apt-get install libnetfilter-queue-dev ipset curl -Скопировать директорию "zapret" в /opt. + apt-get install ipset curl lsb-core dnsutils git +Скопировать директорию zapret в /opt или скачать через git : + cd /opt + git clone https://github.com/bol-van/zapret Запустить /opt/zapret/install_bin.sh. Он сам определит рабочую архитектуру и настроит все бинарики. АЛЬТЕРНАТИВА : зайти в tpws,nfq,ip2net,mdig, в каждом выполнить make. Получите динамические бинарики под вашу ось. -Скопировать /opt/zapret/init.d/debian7/zapret в /etc/init.d. +Скопировать скрипт запуска : + cp /opt/zapret/init.d/debian7/zapret /etc/init.d В /etc/init.d/zapret выбрать пераметр "ISP". В зависимости от него будут применены нужные правила. Там же выбрать параметр SLAVE_ETH, соответствующий названию внутреннего сетевого интерфейса. -Включить автостарт : chkconfig zapret on -(опционально) Вручную первый раз получить новый список ip адресов : /opt/zapret/ipset/get_antizapret.sh +Зарегистрировать init скрипт в systemd : + /usr/lib/lsb/install_initd zapret +Вручную первый раз получить новый список ip адресов : + /opt/zapret/ipset/get_antizapret.sh +ИЛИ + /opt/zapret/ipset/get_user.sh Зашедулить задание обновления листа (кроме hostlist) : crontab -e Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_antizapret.sh" +ИЛИ + Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_user.sh" Зашедулить задание обновления листа (только для hostlist): crontab -e Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_hostlist.sh" Это значит в 12:00 каждые 2 дня обновлять список. -Запустить службу : service zapret start +Запустить службу : systemctl start zapret Попробовать зайти куда-нибудь : http://ej.ru, http://kinozal.tv, http://grani.ru. Если не работает, то остановить службу zapret, добавить правило в iptables вручную, запустить nfqws или tpws в терминале под рутом с нужными параметрами. @@ -274,20 +279,13 @@ Debian 7 изначально содержит ядро 3.2. Оно не уме Попробуйте снять дамп в wireshark или "tcpdump -vvv -X host ", посмотрите действительно ли первый сегмент TCP уходит коротким и меняется ли регистр "Host:". -ubuntu 16,debian 8 ------------------- - -Процесс аналогичен debian 7, однако требуется зарегистрировать init скрипты в systemd после их копирования в /etc/init.d. -По умолчанию lsb-core может быть не установлен. -apt-get update -apt-get --no-install-recommends install lsb-core +Шпаргалка по управлению службой : install : /usr/lib/lsb/install_initd zapret remove : /usr/lib/lsb/remove_initd zapret start : sytemctl start zapret stop : systemctl stop zapret status, output messages : systemctl status zapret - После изменения /etc/init.d/zapret : systemctl daemon-reload Другие linux системы @@ -299,7 +297,6 @@ status, output messages : systemctl status zapret при необходимости почитывая документацию по системе запуска. Нужные команды можно взять из предложенных скриптов. - Фаерволлы --------- @@ -331,8 +328,8 @@ ipset можно выкинуть, если не будем пользовать можно скачать с официального сайта openwrt или LEDE. Но процесс кросс компиляции - это всегда сложности. Недостаточно запустить make как на традиционной linux системе. Поэтому в binaries имеются готовые статические бинарики для всех самых распространенных архитектур. -Статическая сборка означает, что бинарик не зависит от типа libc (glibc, uclibc или musl) и наличия установленных so - его можно использовать сразу. -Лишь бы подходил тип CPU. У ARM и MIPS есть несколько версий. +Статическая сборка означает, что бинарик не зависит от типа libc (glibc, uclibc или musl) и наличия установленных so. +Его можно использовать сразу. Лишь бы подходил тип CPU. У ARM и MIPS есть несколько версий. Скорее всего найдется рабочий вариант. Если нет - вам придется собирать самостоятельно. Скопировать директорию "zapret" в /opt на роутер. @@ -364,6 +361,43 @@ ipset можно выкинуть, если не будем пользовать и init скрипт, в firewall.user перенаправляйте весь трафик на порт 80 на tpws. такой вариант потребует менее 100 кб места и полностью статичен. отсутствуют любые загрузки, обновления, изменения файлов. +Другие прошивки +--------------- + +Для статических бинариков не имеет значения на чем они запущены : PC, android, приставка, роутер, любой другой девайс. +Подойдет любая прошивка, дистрибутив linux. Статические бинарики запустятся на всем. +Им нужно только ядро с необходимыми опциями сборки или модулями. +Но кроме бинариков в проекте используются еще и скрипты, в которых задействуются некоторые +стандартные программы. + +Основные причины почему нельзя просто так взять и установить эту систему на что угодно : + * отсутствие доступа к девайсу через shell + * отсутствие рута + * отсутствие раздела r/w для записи и энергонезависимого хранения файлов + * отсутствие возможности поставить что-то в автозапуск + * отсутствие cron + * недостаток модулей ядра или опций его сборки + * недостаток модулей iptables (/usr/lib/iptables/lib*.so) + * недостаток стандартных программ (типа ipset, curl) или их кастрированность (облегченная замена) + * кастрированный или нестандартный шелл sh + +Если в вашей прошивке есть все необходимое, то вы можете адаптировать zapret под ваш девайс в той или иной степени. +Может быть у вас не получится поднять все части системы, однако вы можете хотя бы попытаться +поднять tpws и завернуть на него через -j REDIRECT весь трафик на порт 80. +Если вам есть куда записать tpws, есть возможность выполнять команды при старте, то как минимум +это вы сделать сможете. Скорее всего поддержка REDIRECT в ядре есть. Она точно есть на любом роутере, +на других устройствах под вопросом. NFQUEUE, iptable_raw на большинстве прошивок отсутствуют из-за ненужности. + +Пересобрать ядро или модули для него будет скорее всего достаточно трудно. +Для этого вам необходимо будет по крайней мере получить исходники вашей прошивки. +User mode компоненты могут быть привнесены относительно безболезненно, если есть место куда их записать. +Специально для девайсов, имеющих область r/w, существует проект entware. +Некоторые прошивки даже имеют возможность его облегченной установки через веб интерфейс. +entware содержит репозиторий user-mode компонент, которые устанавливаются в /opt. +С их помощью можно компенсировать недостаток ПО основной прошивки, за исключением ядра. + +Подробное описание настроек для других прошивок выходит за рамки данного проекта. + Обход блокировки https ----------------------