drop old ubuntu/debian readme

This commit is contained in:
bolvan 2019-05-02 20:22:52 +03:00
parent 76583195b0
commit 3756c220ea
2 changed files with 59 additions and 27 deletions

View File

@ -1,5 +1,3 @@
st.kinozal.tv
s.kinozal.tv
static.rutracker.org
static2.rutracker.org
bt.rutracker.org
putinhuylo.com

View File

@ -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 <ip>", посмотрите действительно ли первый
сегмент 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
----------------------