mirror of
https://github.com/bol-van/zapret.git
synced 2025-02-22 13:02:20 +03:00
custom ISP placeholder
This commit is contained in:
parent
37e373ef31
commit
2c30f8e4c2
@ -17,6 +17,10 @@ ISP=mns
|
||||
#ISP=domru
|
||||
#ISP=tiera
|
||||
|
||||
# If ISP is unlisted then uncomment "custom"
|
||||
# Find out what works for your ISP and modify "# PLACEHOLDER" parts of this script
|
||||
#ISP=custom
|
||||
|
||||
# CHOSE NETWORK INTERFACE BEHIND NAT
|
||||
SLAVE_ETH=eth0
|
||||
|
||||
@ -90,6 +94,16 @@ case "$1" in
|
||||
DAEMON=$TPWS
|
||||
DAEMON_OPTS="--port=$TPPORT --split-http-req=host --user=$TPWS_USER --bind-addr=127.0.0.1"
|
||||
;;
|
||||
custom)
|
||||
# PLACEHOLDER
|
||||
echo !!! NEED ATTENTION !!!
|
||||
echo Select daemon and options that work for you
|
||||
echo \(optional\) Prepare environment for running daemon
|
||||
echo Configure iptables for required actions
|
||||
echo Study how other sections work
|
||||
DAEMON=/bin/sleep
|
||||
DAEMON_OPTS=20
|
||||
;;
|
||||
esac
|
||||
|
||||
echo -n "Starting $DESC: "
|
||||
@ -125,6 +139,13 @@ case "$1" in
|
||||
iptables -t nat -D OUTPUT -p tcp --dport 80 -m owner ! --uid-owner $TPWS_USER -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT
|
||||
DAEMON=$TPWS
|
||||
;;
|
||||
custom)
|
||||
# PLACEHOLDER
|
||||
echo !!! NEED ATTENTION !!!
|
||||
echo Clear firewall rules here. Remove iptables changes made previously.
|
||||
echo Select which daemon to stop.
|
||||
echo Study how other sections work
|
||||
;;
|
||||
esac
|
||||
|
||||
echo -n "Stopping $DESC: "
|
||||
|
3
init.d/openwrt/firewall.user.custom
Normal file
3
init.d/openwrt/firewall.user.custom
Normal file
@ -0,0 +1,3 @@
|
||||
# put it to /etc/firewall.user
|
||||
|
||||
# study how other firewall.user scripts work and put here rules that work for you
|
@ -7,7 +7,10 @@
|
||||
ISP=beeline
|
||||
#ISP=domru
|
||||
#ISP=tiera
|
||||
#ISP=none
|
||||
|
||||
# If ISP is unlisted then uncomment "custom"
|
||||
# Find out what works for your ISP and modify "# PLACEHOLDER" parts of this script
|
||||
#ISP=custom
|
||||
|
||||
USE_PROCD=1
|
||||
# start betfore firewall - we need ipset populated
|
||||
@ -65,6 +68,13 @@ get_daemon() {
|
||||
DAEMON_OPTS="--port=$TPPORT --split-http-req=host --bind-addr=127.0.0.1 --user=$TPWS_USER"
|
||||
DAEMON=$TPWS
|
||||
;;
|
||||
custom)
|
||||
# PLACEHOLDER
|
||||
echo !!! NEED ATTENTION !!!
|
||||
echo Select which daemon and what options work for you
|
||||
DAEMON_OPTS=20
|
||||
DAEMON=/bin/sleep
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
@ -6,12 +6,16 @@ stop on runlevel [!2345]
|
||||
# CHOOSE ISP HERE. UNCOMMENT ONLY ONE LINE.
|
||||
#env ISP=mns
|
||||
#env ISP=rt
|
||||
#env ISP=beeline
|
||||
env ISP=domru
|
||||
env ISP=beeline
|
||||
#env ISP=domru
|
||||
#env ISP=tiera
|
||||
|
||||
# If ISP is unlisted then uncomment "custom"
|
||||
# Find out what works for your ISP and modify "# PLACEHOLDER" parts of this script
|
||||
#env ISP=custom
|
||||
|
||||
# CHOSE NETWORK INTERFACE BEHIND NAT
|
||||
env SLAVE_ETH=eth0
|
||||
env SLAVE_ETH=eth1
|
||||
|
||||
|
||||
env QNUM=200
|
||||
@ -45,6 +49,10 @@ pre-start script
|
||||
iptables -t raw -I PREROUTING -p udp --sport 53 -m string --hex-string "|5cfff164|" --algo bm -j DROP --from 40 --to 300
|
||||
iptables -t raw -C PREROUTING -p udp --sport 53 -m string --hex-string "|2a022698a00000000000000000000064|" --algo bm -j DROP --from 40 --to 300 ||
|
||||
iptables -t raw -I PREROUTING -p udp --sport 53 -m string --hex-string "|2a022698a00000000000000000000064|" --algo bm -j DROP --from 40 --to 300
|
||||
iptables -t raw -C PREROUTING -p udp --sport 53 -m string --hex-string "|5cfff16e|" --algo bm -j DROP --from 40 --to 300 ||
|
||||
iptables -t raw -I PREROUTING -p udp --sport 53 -m string --hex-string "|5cfff16e|" --algo bm -j DROP --from 40 --to 300
|
||||
iptables -t raw -C PREROUTING -p udp --sport 53 -m string --hex-string "|2a022698a00000000000000000000110|" --algo bm -j DROP --from 40 --to 300 ||
|
||||
iptables -t raw -I PREROUTING -p udp --sport 53 -m string --hex-string "|2a022698a00000000000000000000110|" --algo bm -j DROP --from 40 --to 300
|
||||
;;
|
||||
tiera)
|
||||
adduser --disabled-login --no-create-home --system --quiet $TPWS_USER
|
||||
@ -54,6 +62,13 @@ pre-start script
|
||||
iptables -t nat -C OUTPUT -p tcp --dport 80 -m owner ! --uid-owner $TPWS_USER -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT ||
|
||||
iptables -t nat -I OUTPUT -p tcp --dport 80 -m owner ! --uid-owner $TPWS_USER -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT
|
||||
;;
|
||||
custom)
|
||||
# PLACEHOLDER
|
||||
echo !!! NEED ATTENTION !!!
|
||||
echo \(optional\) Prepare environment for running daemon
|
||||
echo Configure iptables for required actions
|
||||
echo Study how other sections work
|
||||
;;
|
||||
esac
|
||||
end script
|
||||
|
||||
@ -79,6 +94,14 @@ script
|
||||
NFEXE=$TPWS
|
||||
NFARG="--port=$TPPORT --split-http-req=host --user=$TPWS_USER --bind-addr=127.0.0.1"
|
||||
;;
|
||||
custom)
|
||||
# PLACEHOLDER
|
||||
echo !!! NEED ATTENTION !!!
|
||||
echo Select which daemon and what options work for you
|
||||
echo Study how other sections work
|
||||
NFEXE=/bin/sleep
|
||||
NFARG=20
|
||||
;;
|
||||
esac
|
||||
$NFEXE $NFARG
|
||||
[ -n "$NFEXE" ] && $NFEXE $NFARG
|
||||
@ -98,11 +121,19 @@ pre-stop script
|
||||
iptables -t nat -D OUTPUT -p tcp --dport 80 -m owner ! --uid-owner $TPWS_USER -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT
|
||||
iptables -t raw -D PREROUTING -p udp --sport 53 -m string --hex-string "|5cfff164|" --algo bm -j DROP --from 40 --to 300
|
||||
iptables -t raw -D PREROUTING -p udp --sport 53 -m string --hex-string "|2a022698a00000000000000000000064|" --algo bm -j DROP --from 40 --to 300
|
||||
iptables -t raw -D PREROUTING -p udp --sport 53 -m string --hex-string "|5cfff16e|" --algo bm -j DROP --from 40 --to 300
|
||||
iptables -t raw -D PREROUTING -p udp --sport 53 -m string --hex-string "|2a022698a00000000000000000000110|" --algo bm -j DROP --from 40 --to 300
|
||||
;;
|
||||
tiera)
|
||||
sysctl -w net.ipv4.conf.$SLAVE_ETH.route_localnet=0
|
||||
iptables -t nat -D PREROUTING -p tcp --dport 80 -i $SLAVE_ETH -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT
|
||||
iptables -t nat -D OUTPUT -p tcp --dport 80 -m owner ! --uid-owner $TPWS_USER -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT
|
||||
;;
|
||||
custom)
|
||||
# PLACEHOLDER
|
||||
echo !!! NEED ATTENTION !!!
|
||||
echo Clear firewall rules here. Remove iptables changes made previously.
|
||||
echo Study how other sections work
|
||||
;;
|
||||
esac
|
||||
end script
|
||||
|
28
readme.txt
28
readme.txt
@ -141,6 +141,25 @@ tkt : помогает разделение http запроса на сегме
|
||||
tiera : сама тиера до последнего ничего не банила. Похоже, что банит вышестоящий оператор, возможно telia.
|
||||
Требуется сплит http запросов в течение всей сессии.
|
||||
|
||||
Другие провайдеры
|
||||
-----------------
|
||||
|
||||
Первым делом необходимо выяснить не подменят ли ваш провайдер DNS.
|
||||
Посмотрите во что ресолвятся заблокированные хосты у вашего провайдера и через какой-нибудь web net tools, которых можно нагуглить множество. Сравните.
|
||||
Если ответы разные, то попробуйте заресолвить те же хосты с DNS сервера 8.8.8.8 через вашего провайдера.
|
||||
Если ответ от 8.8.8.8 нормальный - поменяйте DNS. Если ответ ненормальный, значит провайдер перехватывает запросы на сторонние DNS.
|
||||
Используйте dnscrypt.
|
||||
|
||||
Далее необходимо выяснить какой метод обхода DPI работает на вашем провайдере.
|
||||
В этом вам поможет скрипт https://github.com/ValdikSS/blockcheck.
|
||||
Выберите какой демон вы будете использовать : nfqws или tpws.
|
||||
Подготовьте вручную правила iptables для вашего случая, выполните их.
|
||||
Запустите демон с нужными параметрами вручную.
|
||||
Проверьте работает ли.
|
||||
Когда вы найдете рабочий вариант, отредактируйте init скрипт для вашей системы.
|
||||
Раскомментируйте ISP=custom. Добавьте ваш код в места "# PLACEHOLDER" по аналогии с секциями для других провайдеров для найденной рабочей комбинации.
|
||||
Для openwrt поместите в /etc/firewall.user свой код по аналогии с готовыми скриптами.
|
||||
|
||||
Способы получения списка заблокированных IP
|
||||
-------------------------------------------
|
||||
|
||||
@ -217,15 +236,22 @@ ubuntu 12,14
|
||||
Имеется готовый конфиг для upstart : zapret.conf. Его нужно скопировать в /etc/init и настроить по аналогии с debian.
|
||||
Запуск службы : "start zapret"
|
||||
Останов службы : "stop zapret"
|
||||
Просмотр сообщений : cat /var/log/upstart/zapret.log
|
||||
Ubuntu 12 так же, как и debian 7, оснащено ядром 3.2. См замечание в разделе "debian 7".
|
||||
|
||||
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
|
||||
|
||||
Другие linux системы
|
||||
--------------------
|
||||
|
Loading…
Reference in New Issue
Block a user