Browse Source

tkt/rostelekom

pull/5/head
bolvan 9 years ago
parent
commit
24b2f1e30b
  1. 1
      changes.txt
  2. 5
      init.d/debian7/zapret
  3. 5
      init.d/openwrt/firewall.user.tkt
  4. 3
      init.d/openwrt/zapret
  5. 7
      init.d/ubuntu12/zapret.conf
  6. 12
      readme.txt

1
changes.txt

@ -25,3 +25,4 @@ compile : openwrt compile howto
v4 v4
tpws : added ability to insert extra space after http method : "GET /" => "GET /" tpws : added ability to insert extra space after http method : "GET /" => "GET /"
ISP support : TKT support

5
init.d/debian7/zapret

@ -2,6 +2,7 @@
# CHOOSE ISP HERE. UNCOMMENT ONLY ONE LINE. # CHOOSE ISP HERE. UNCOMMENT ONLY ONE LINE.
ISP=mns ISP=mns
#ISP=tkt
#ISP=beeline #ISP=beeline
#ISP=domru #ISP=domru
@ -31,7 +32,7 @@ case "$1" in
echo "Adding iptables rule" echo "Adding iptables rule"
case "${ISP}" in case "${ISP}" in
mns) mns|tkt)
iptables -t raw -C PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass 2>/dev/null || iptables -t raw -C PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass 2>/dev/null ||
iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass
DAEMON=$NFQWS DAEMON=$NFQWS
@ -64,7 +65,7 @@ case "$1" in
echo "Deleting iptables rule" echo "Deleting iptables rule"
case "${ISP}" in case "${ISP}" in
mns) mns|tkt)
iptables -t raw -D PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass iptables -t raw -D PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass
DAEMON=$NFQWS DAEMON=$NFQWS
;; ;;

5
init.d/openwrt/firewall.user.tkt

@ -0,0 +1,5 @@
# put it to /etc/firewall.user
# for TKT ISP
iptables -t raw -D PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num 200 --queue-bypass 2>/dev/null
iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num 200 --queue-bypass

3
init.d/openwrt/zapret

@ -3,6 +3,7 @@
# CHOOSE ISP HERE. UNCOMMENT ONLY ONE LINE. # CHOOSE ISP HERE. UNCOMMENT ONLY ONE LINE.
#ISP=mns #ISP=mns
#ISP=tkt
#ISP=beeline #ISP=beeline
ISP=domru ISP=domru
@ -21,7 +22,7 @@ START=18
get_daemon() { get_daemon() {
case "${ISP}" in case "${ISP}" in
mns) mns|tkt)
DAEMON_OPTS="--qnum=$QNUM --wsize=4" DAEMON_OPTS="--qnum=$QNUM --wsize=4"
DAEMON=$NFQWS DAEMON=$NFQWS
;; ;;

7
init.d/ubuntu12/zapret.conf

@ -5,6 +5,7 @@ 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=tkt
#env ISP=beeline #env ISP=beeline
#env ISP=domru #env ISP=domru
@ -23,7 +24,7 @@ pre-start script
/opt/zapret/ipset/create_ipset.sh /opt/zapret/ipset/create_ipset.sh
case "${ISP}" in case "${ISP}" in
mns) mns|tkt)
iptables -t raw -C PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass || iptables -t raw -C PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass ||
iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass
;; ;;
@ -44,7 +45,7 @@ end script
script script
case "${ISP}" in case "${ISP}" in
mns) mns|tkt)
NFEXE=$NFQWS NFEXE=$NFQWS
NFARG="--qnum $QNUM --wsize=4" NFARG="--qnum $QNUM --wsize=4"
;; ;;
@ -62,7 +63,7 @@ end script
pre-stop script pre-stop script
case "${ISP}" in case "${ISP}" in
mns) mns|tkt)
iptables -t raw -D PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass iptables -t raw -D PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass
;; ;;
beeline) beeline)

12
readme.txt

@ -114,6 +114,7 @@ dom.ru : нужно проксирование HTTP сессий через tpws
2 запрашиваемых поддомена : s.kinozal.tv и st.kinozal.tv с разными IP адресами. 2 запрашиваемых поддомена : s.kinozal.tv и st.kinozal.tv с разными IP адресами.
sknt.ru : проверена работа с tpws с параметром "--split-http-req=method". возможно, будет работать nfqueue, пока возможности sknt.ru : проверена работа с tpws с параметром "--split-http-req=method". возможно, будет работать nfqueue, пока возможности
проверить нет проверить нет
tkt : нужно разделение http запроса на сегменты, настройки mns.ru подходят
Пример установки на debian 7 Пример установки на debian 7
---------------------------- ----------------------------
@ -159,9 +160,9 @@ ubuntu 12,14
-------------------- --------------------
Существует несколько основных систем запуска служб : sysvinit, upstart, systemd. Существует несколько основных систем запуска служб : sysvinit, upstart, systemd.
Насройка зависит от системы, используемой в вашем дистрибутиве. Настройка зависит от системы, используемой в вашем дистрибутиве.
Типичная стратегия - найти скрипт или конфигурацию запуска других служб и написать свой по аналогии, Типичная стратегия - найти скрипт или конфигурацию запуска других служб и написать свой по аналогии,
при необходимости почитывая документации по системе запуска. при необходимости почитывая документацию по системе запуска.
Нужные команды можно взять из предложенных скриптов. Нужные команды можно взять из предложенных скриптов.
Фаерволлы Фаерволлы
@ -199,3 +200,10 @@ opkg install iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptable
Зашедулить задание обновления листа : Зашедулить задание обновления листа :
crontab -e crontab -e
Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_reestr.sh". Это значит в 12:00 каждые 2 дня обновлять список. Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_reestr.sh". Это значит в 12:00 каждые 2 дня обновлять список.
Если у вас linux x64, то вместо компиляции toolchain можно использовать пре-компилированный SDK от разработчиков openwrt.
https://downloads.openwrt.org/
Найдите вашу версию openwrt, найдите вашу архитектуру, скачайте файл "OpenWrt-SDK-*".
Фактически это тот же buildroot, только в нем уже подготовлен toolchain для нужной версии openwrt,
нужной target архитектуры и хост-системы linux x64.

Loading…
Cancel
Save