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=domru
|
||||||
#ISP=tiera
|
#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
|
# CHOSE NETWORK INTERFACE BEHIND NAT
|
||||||
SLAVE_ETH=eth0
|
SLAVE_ETH=eth0
|
||||||
|
|
||||||
@ -90,6 +94,16 @@ case "$1" in
|
|||||||
DAEMON=$TPWS
|
DAEMON=$TPWS
|
||||||
DAEMON_OPTS="--port=$TPPORT --split-http-req=host --user=$TPWS_USER --bind-addr=127.0.0.1"
|
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
|
esac
|
||||||
|
|
||||||
echo -n "Starting $DESC: "
|
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
|
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
|
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
|
esac
|
||||||
|
|
||||||
echo -n "Stopping $DESC: "
|
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=beeline
|
||||||
#ISP=domru
|
#ISP=domru
|
||||||
#ISP=tiera
|
#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
|
USE_PROCD=1
|
||||||
# start betfore firewall - we need ipset populated
|
# 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_OPTS="--port=$TPPORT --split-http-req=host --bind-addr=127.0.0.1 --user=$TPWS_USER"
|
||||||
DAEMON=$TPWS
|
DAEMON=$TPWS
|
||||||
;;
|
;;
|
||||||
|
custom)
|
||||||
|
# PLACEHOLDER
|
||||||
|
echo !!! NEED ATTENTION !!!
|
||||||
|
echo Select which daemon and what options work for you
|
||||||
|
DAEMON_OPTS=20
|
||||||
|
DAEMON=/bin/sleep
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,12 +6,16 @@ stop on runlevel [!2345]
|
|||||||
# CHOOSE ISP HERE. UNCOMMENT ONLY ONE LINE.
|
# CHOOSE ISP HERE. UNCOMMENT ONLY ONE LINE.
|
||||||
#env ISP=mns
|
#env ISP=mns
|
||||||
#env ISP=rt
|
#env ISP=rt
|
||||||
#env ISP=beeline
|
env ISP=beeline
|
||||||
env ISP=domru
|
#env ISP=domru
|
||||||
#env ISP=tiera
|
#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
|
# CHOSE NETWORK INTERFACE BEHIND NAT
|
||||||
env SLAVE_ETH=eth0
|
env SLAVE_ETH=eth1
|
||||||
|
|
||||||
|
|
||||||
env QNUM=200
|
env QNUM=200
|
||||||
@ -45,7 +49,11 @@ 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 -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 -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 -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)
|
tiera)
|
||||||
adduser --disabled-login --no-create-home --system --quiet $TPWS_USER
|
adduser --disabled-login --no-create-home --system --quiet $TPWS_USER
|
||||||
sysctl -w net.ipv4.conf.$SLAVE_ETH.route_localnet=1
|
sysctl -w net.ipv4.conf.$SLAVE_ETH.route_localnet=1
|
||||||
@ -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 -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
|
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
|
esac
|
||||||
end script
|
end script
|
||||||
|
|
||||||
@ -79,6 +94,14 @@ script
|
|||||||
NFEXE=$TPWS
|
NFEXE=$TPWS
|
||||||
NFARG="--port=$TPPORT --split-http-req=host --user=$TPWS_USER --bind-addr=127.0.0.1"
|
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
|
esac
|
||||||
$NFEXE $NFARG
|
$NFEXE $NFARG
|
||||||
[ -n "$NFEXE" ] && $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 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 "|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 "|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)
|
tiera)
|
||||||
sysctl -w net.ipv4.conf.$SLAVE_ETH.route_localnet=0
|
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 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
|
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
|
esac
|
||||||
end script
|
end script
|
||||||
|
30
readme.txt
30
readme.txt
@ -141,6 +141,25 @@ tkt : помогает разделение http запроса на сегме
|
|||||||
tiera : сама тиера до последнего ничего не банила. Похоже, что банит вышестоящий оператор, возможно telia.
|
tiera : сама тиера до последнего ничего не банила. Похоже, что банит вышестоящий оператор, возможно telia.
|
||||||
Требуется сплит http запросов в течение всей сессии.
|
Требуется сплит 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
|
Способы получения списка заблокированных IP
|
||||||
-------------------------------------------
|
-------------------------------------------
|
||||||
|
|
||||||
@ -217,15 +236,22 @@ ubuntu 12,14
|
|||||||
Имеется готовый конфиг для upstart : zapret.conf. Его нужно скопировать в /etc/init и настроить по аналогии с debian.
|
Имеется готовый конфиг для upstart : zapret.conf. Его нужно скопировать в /etc/init и настроить по аналогии с debian.
|
||||||
Запуск службы : "start zapret"
|
Запуск службы : "start zapret"
|
||||||
Останов службы : "stop zapret"
|
Останов службы : "stop zapret"
|
||||||
|
Просмотр сообщений : cat /var/log/upstart/zapret.log
|
||||||
Ubuntu 12 так же, как и debian 7, оснащено ядром 3.2. См замечание в разделе "debian 7".
|
Ubuntu 12 так же, как и debian 7, оснащено ядром 3.2. См замечание в разделе "debian 7".
|
||||||
|
|
||||||
ubuntu 16,debian 8
|
ubuntu 16,debian 8
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
Процесс аналогичен debian 7, однако требуется зарегистрировать init скрипты в systemd после их копирования в /etc/init.d.
|
Процесс аналогичен debian 7, однако требуется зарегистрировать init скрипты в systemd после их копирования в /etc/init.d.
|
||||||
install : /usr/lib/lsb/install_initd zapret
|
По умолчанию lsb-core может быть не установлен.
|
||||||
remove : /usr/lib/lsb/remove_initd zapret
|
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 системы
|
Другие linux системы
|
||||||
--------------------
|
--------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user