Здесь опечатка в коде: #!/bin/sh [ "table" != "nat" ] && exit 0 , там "$table" должно быть.
Думаю самый правильный вариант использовать: [ "$table" != "mangle" ] && [ "$table" != "nat" ] && exit 0, чтобы правила обновлялись при перезагрузке таблицы mangle или nat.
--dpi-desync-fooling=<fooling> ; дополнительные методики как сделать, чтобы фейковый пакет не дошел до сервера. none md5sig badseq badsum datanoack hopbyhop hopbyhop2
Так описано, что какой параметр делает, и когда он работает/не работает.
Про none - я не про фильтрацию, а про --dpi-desync-fooling.
Делает одно и тоже, что скрипт /opt/etc/ndm/netfilter.d/000-zapret.sh. Тот и тот восстанавливает правила в таблице. Если с тем у Вас заработало, значит /opt/etc/ndm/netfilter.d/000-zapret.sh была ошибка/спец. символы при создании. Очень распространенная ошибка, много кто обращался с этим. Как я писал раньше в системном журнале ее сразу видно.
У нас подобное решение уже с самого августа, с момента написания статьи, используется. Это проблема известна еще со времен обхода 443 udp порта, что в кинетике udp пакеты уходят с локальным IP адресом и требуется добавлять MASQUERADE на интерфейс...
Вот этот код в скрипте /opt/zapret/init.d/sysv/zapret делает тоже самое:
for IFACE_N in $IFACE_WAN; do iptables -t nat -A POSTROUTING -o $IFACE_N -j MASQUERADE done
for IFACE_N in $IFACE_WAN; do iptables -t nat -D POSTROUTING -o $IFACE_N -j MASQUERADE done
Если делать все точно по статье, то не должно быть проблем с этим.
Крутите параметр --dpi-desync-fooling, похоже не пропускает этот провайдер фейковые пакеты, скорее всего проверяет пакеты на целостность и отбрасывает. Можно вообще пробывать none.
Я уже ничего не понимаю, раньше у Вас через какое-то время отваливалось, теперь совсем не работает? Может поделитесь технической информацией по работе утилиты, что выдает команда /opt/zapret/init.d/sysv/zapret restart, что пишет в системном журнале?
А вот так автор не рекомендует делать, потенциально может принести проблемы.
Если перестает работать через какое-то время то может быть две причины:
1) Ошибки в скрипте /opt/etc/ndm/netfilter.d/000-zapret.sh. Можно посмотреть в системный журнал в веб-интерфейсе роутера, там недолжно быть ошибок по этому скрипту. Характерный признак этого варианта - обход всего сразу не работает. Если есть ошибки - то внимательно проверяем скрипт на предмет опечаток и спец. символов в тексте.
2) Падает процесс nfqws во время работы. Увидеть можно по диспетчеру процессов на роутере или при выполнении команды /opt/zapret/init.d/sysv/zapret restart , скрипт сначала останавливает процессы nfqws и пишет наподобие - stopped /opt/zapret/nfq/nfqws (pid 2074). Если пишет, что процесс nfqws не найден, то значит он вылетел во время работы. А вот в причинах нужно разбирается, у меня процесс ни разу не падал, но мне писали люди, у которых были с этим проблемы. Характерная особенность - часть обхода может работать, если разные процессы используются, и падает один из них. Рекомендации - сброс роутера, форматирование usb накопителя и установка все с нуля, внимательно по инструкции все делать, учитывая все рекомендации.
Не нужно вносить смуту, все прекрасно работает, того что в статье достаточно для полноценной работы. Правила роутеру не дает забыть скрипт /opt/etc/ndm/netfilter.d/000-zapret.sh , и он прекрасно с этим справляется, и если посмотрите в системный журнал то, там будет сразу видно, что с завидной частотой появляться строчка наподобие: Opkg::Manager: /opt/etc/ndm/netfilter.d/000-zapret.sh: Inserting iptables rule for nfqws postrouting (qnum 65400) : -p udp -m multiport --dports 50000:50099 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:3 -m set --match-set discord dst. и другие подобные.
Так в Launcher for Zapret v1.4 есть файл youtube.txt с доменными именами, смотрите в нем. Вообще изначально нужно было отключить фильтрацию, проверять, а так не понятно в какую сторону смотреть.
PS: Сейчас проверил Launcher for Zapret v1.4 - у меня с ним видео не грузятся вообще, а интерфейс грузится... Откуда скачивали свою версию?
Скрипт в работе ничем не отличается, просто изменение параметров ядра linux через echo и procсчитается устаревшим способом, более современным и правильным является способ с использованием утилиты sysctl.
По модулям - у меня они на роутере не подгружались автоматически в ядро, но я проверял это уже давненько и может с новыми прошивками, что-то изменилось или может зависть от настроек в роутере. Но в любом случае по этим соображения я не буду удалять это из статьи, а то потом могут возникнуть проблемы с этим у кого-нибудь.
Проверили подгруздку модулей без установленного Zapret или после перезагрузки с отключённой его автозагрузкой или без правки скрипта?
Да тут не все так просто, потому что роутер использует файловую систему linux, и там у файлов есть права, владелец и группа. Если делать по вашему варианту, то вся эта информация просто потеряется при распаковке. Архив tar.gz - это специальный формат архивов для систем на базе unix.
Можете провести эксперимент распаковать и закинуть архив по вашему методу и по-моему, затем через командную строку на роутере сравните на файлах указанную мной информацию.
Можно конечно так, но если я напишу конкретную ссылку на релиз, даже для примера, то потом найдутся те, кто так и будут ставить этот конкретный релиз, заместо актуального, и потом писать - спрашивать, почему не работает что-нибудь.
Думаю скачать архив с сайта и закинуть его на роутер ни для кого, из тех кто сможет настроить Zapret - не составит труда.
На первый взгляд, можно попробовать --dpi-desync-repeats=10, на второй --dpi-desync=fake,split2 --dpi-desync-split-seqovl=2 --dpi-desync-split-pos=3. Но с split2 нужно осторожно - может сломать интерфейс Youtube на телевизоре. Вообще для Youtube достаточно стратегии fake.
PS: Сейчас проверил с уменьшением--dpi-desync-repeats теперь вроде все работает, вплоть до --dpi-desync-repeats=2, видать перестали фейки ловить.
Здесь опечатка в коде:
#!/bin/sh [ "table" != "nat" ] && exit 0
, там"$table"
должно быть.Думаю самый правильный вариант использовать:
[ "$table" != "mangle" ] && [ "$table" != "nat" ] && exit 0
, чтобы правила обновлялись при перезагрузке таблицы mangle или nat.Смотрите описание на Github:
Так описано, что какой параметр делает, и когда он работает/не работает.
Про none - я не про фильтрацию, а про
--dpi-desync-fooling
.Делает одно и тоже, что скрипт
/opt/etc/ndm/netfilter.d/000-zapret.sh
. Тот и тот восстанавливает правила в таблице. Если с тем у Вас заработало, значит/opt/etc/ndm/netfilter.d/000-zapret.sh
была ошибка/спец. символы при создании. Очень распространенная ошибка, много кто обращался с этим. Как я писал раньше в системном журнале ее сразу видно.У нас подобное решение уже с самого августа, с момента написания статьи, используется. Это проблема известна еще со времен обхода 443 udp порта, что в кинетике udp пакеты уходят с локальным IP адресом и требуется добавлять
MASQUERADE
на интерфейс...Вот этот код в скрипте
/opt/zapret/init.d/sysv/zapret
делает тоже самое:for IFACE_N in $IFACE_WAN; do iptables -t nat -A POSTROUTING -o $IFACE_N -j MASQUERADE done
for IFACE_N in $IFACE_WAN; do iptables -t nat -D POSTROUTING -o $IFACE_N -j MASQUERADE done
Если делать все точно по статье, то не должно быть проблем с этим.
Крутите параметр
--dpi-desync-fooling
, похоже не пропускает этот провайдер фейковые пакеты, скорее всего проверяет пакеты на целостность и отбрасывает. Можно вообще пробыватьnone
.Я уже ничего не понимаю, раньше у Вас через какое-то время отваливалось, теперь совсем не работает? Может поделитесь технической информацией по работе утилиты, что выдает команда
/opt/zapret/init.d/sysv/zapret restart
, что пишет в системном журнале?zapret v.68
Три часа уже работает, не отваливается. Сколько времени нужно ждать до отвала?
Хорошо, я оставлю на длительное время. Что при этом в системном журнале пишет? Процесс
nfqws
, который обслуживает эти порты не отваливается?А вот так автор не рекомендует делать, потенциально может принести проблемы.
Если перестает работать через какое-то время то может быть две причины:
1) Ошибки в скрипте
/opt/etc/ndm/netfilter.d/000-zapret.sh
. Можно посмотреть в системный журнал в веб-интерфейсе роутера, там недолжно быть ошибок по этому скрипту. Характерный признак этого варианта - обход всего сразу не работает. Если есть ошибки - то внимательно проверяем скрипт на предмет опечаток и спец. символов в тексте.2) Падает процесс
nfqws
во время работы. Увидеть можно по диспетчеру процессов на роутере или при выполнении команды/opt/zapret/init.d/sysv/zapret restart
, скрипт сначала останавливает процессыnfqws
и пишет наподобие -stopped /opt/zapret/nfq/nfqws (pid 2074)
. Если пишет, что процессnfqws
не найден, то значит он вылетел во время работы. А вот в причинах нужно разбирается, у меня процесс ни разу не падал, но мне писали люди, у которых были с этим проблемы. Характерная особенность - часть обхода может работать, если разные процессы используются, и падает один из них. Рекомендации - сброс роутера, форматирование usb накопителя и установка все с нуля, внимательно по инструкции все делать, учитывая все рекомендации.Не нужно вносить смуту, все прекрасно работает, того что в статье достаточно для полноценной работы. Правила роутеру не дает забыть скрипт
/opt/etc/ndm/netfilter.d/000-zapret.sh
, и он прекрасно с этим справляется, и если посмотрите в системный журнал то, там будет сразу видно, что с завидной частотой появляться строчка наподобие:Opkg::Manager: /opt/etc/ndm/netfilter.d/000-zapret.sh: Inserting iptables rule for nfqws postrouting (qnum 65400) : -p udp -m multiport --dports 50000:50099 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:3 -m set --match-set discord dst.
и другие подобные.Так в Launcher for Zapret v1.4 есть файл youtube.txt с доменными именами, смотрите в нем. Вообще изначально нужно было отключить фильтрацию, проверять, а так не понятно в какую сторону смотреть.
PS: Сейчас проверил Launcher for Zapret v1.4 - у меня с ним видео не грузятся вообще, а интерфейс грузится... Откуда скачивали свою версию?
Скрипт в работе ничем не отличается, просто изменение параметров ядра linux через
echo
иproc
считается устаревшим способом, более современным и правильным является способ с использованием утилитыsysctl
.По модулям - у меня они на роутере не подгружались автоматически в ядро, но я проверял это уже давненько и может с новыми прошивками, что-то изменилось или может зависть от настроек в роутере. Но в любом случае по этим соображения я не буду удалять это из статьи, а то потом могут возникнуть проблемы с этим у кого-нибудь.
Проверили подгруздку модулей без установленного Zapret или после перезагрузки с отключённой его автозагрузкой или без правки скрипта?
Да тут не все так просто, потому что роутер использует файловую систему linux, и там у файлов есть права, владелец и группа. Если делать по вашему варианту, то вся эта информация просто потеряется при распаковке. Архив tar.gz - это специальный формат архивов для систем на базе unix.
Можете провести эксперимент распаковать и закинуть архив по вашему методу и по-моему, затем через командную строку на роутере сравните на файлах указанную мной информацию.
Нет, на телевизоре начинает блокировать поток при
--dpi-desync-repeats
меньше 13.Можно конечно так, но если я напишу конкретную ссылку на релиз, даже для примера, то потом найдутся те, кто так и будут ставить этот конкретный релиз, заместо актуального, и потом писать - спрашивать, почему не работает что-нибудь.
Думаю скачать архив с сайта и закинуть его на роутер ни для кого, из тех кто сможет настроить Zapret - не составит труда.
Тут нужно проверять, смотреть. Могу подсказать - в Launcher for Zapret v1.4 используется такие параметры для стратегии Youtube:
\winws.exe --wf-tcp=443 --wf-udp=443 --filter-udp=443 --hostlist=\youtube.txt --dpi-desync=fake --dpi-desync-repeats=4 --dpi-desync-fake-quic=\quic_initial_www_google_com.bin --new --filter-tcp=443 --hostlist=\youtube.txt --dpi-desync=split --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-repeats=10 --d --filter-tcp=443 --hostlist=\youtube.txt --dpi-desync=fake,split2 --dpi-desync-split-seqovl=2 --dpi-desync-split-pos=3 --dpi-desync-fake-tls=\tls_clienthello_www_google_com.bin --dpi-desync-ttl=3
На первый взгляд, можно попробовать
--dpi-desync-repeats=10
, на второй--dpi-desync=fake,split2 --dpi-desync-split-seqovl=2 --dpi-desync-split-pos=3
. Но сsplit2
нужно осторожно - может сломать интерфейс Youtube на телевизоре. Вообще для Youtube достаточно стратегииfake
.PS: Сейчас проверил с уменьшением
--dpi-desync-repeats
теперь вроде все работает, вплоть до--dpi-desync-repeats=2
, видать перестали фейки ловить.Внимание!
В связи с удалением бинарников из github и использованием github actions, обновил инструкцию по установке Zapret на роутер.
Теперь готовые архивы с релизами берем - тут.
Утилита git для скачивания и обновления Zapret теперь больше не используется.
В статье обновил конфигурацию
--filter-tcp=80.
При старой без ttl ограничения ломалось приложение ИВИ на телевизоре, возможно еще сайты (HTTP).Так говорите же, что через какое-то время перестаёт работать.