Skip to content

Instantly share code, notes, and snippets.

@wiktorbgu
Last active April 25, 2026 20:59
Show Gist options
  • Select an option

  • Save wiktorbgu/b27828bc789d9e751c18503d0ee86675 to your computer and use it in GitHub Desktop.

Select an option

Save wiktorbgu/b27828bc789d9e751c18503d0ee86675 to your computer and use it in GitHub Desktop.
Первый в истории запуск Zapret NFQWS на официальном Mikrotik в контейнере!

Справка по установке на DockerHub

NFQWS   ZAPRET https://hub.docker.com/r/wiktorbgu/nfqws-mikrotik
NFQWS2 ZAPRET2 https://hub.docker.com/r/wiktorbgu/nfqws2-mikrotik

https://t.me/it_network_people/14/37692

🔥 Zapret и Zapret2 на MikroTik! ♥️

Вчера это было невозможно, а сегодня это уже реальность!

После появления в 7.21beta2 модуля tproxy, который я просил через заявку добавить 14/Aug/25 для оптимизации работы сетевых сервисов в контейнерах я пошел таки проверил, а что еще нужно 'запрету', чтобы MikroTik сделал шаг в будущее!

И дописал в ту же заявку по tproxy чтобы добавили модуль nfnetlink_queue который является сердцем NFQWS (заметили сходство в их названиях 😏 ) и который поможет многим людям жить проще 😎

Так что теперь Zapret и Zapret 2 официально и на Mikrotik! То, что многие просили)

изображение

Необходимый модуль ядра изображение

Работа скрипта blockcheck.sh изображение

изображение

Запущенный процесс NFQWS изображение

Лог запуска NFQWS изображение

@Marker689
Copy link
Copy Markdown

Marker689 commented Dec 24, 2025

Спасибо! Затестил сразу образ с nfqws2 и всё хорошо работает.

P.S Пробовал на hap ax3

@dolinenkov
Copy link
Copy Markdown

Не знаете, случаем, не планируют ли они добавлять новые модули в arm-версии?

@wiktorbgu
Copy link
Copy Markdown
Author

@dolinenkov пока не планируют, это их стандартный ответ.

@vdrakula-hub
Copy link
Copy Markdown

Ну... От делать нечего поставил. Сегодня подбил листы. Пришлось их вынести в /list/, что бы не париться с длинными путями. Получился вот такой конфиг:

--filter-udp=443 --hostlist=/list/list-general.txt --hostlist=/list/list-general-user.txt --hostlist-exclude=/list/list-exclude.txt --hostlist-exclude=/list/list-exclude-user.txt --ipset-exclude=/list/ipset-exclude.txt --ipset-exclude=/list/ipset-exclude-user.txt --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic=/opt/zapret/files/fake/quic_initial_www_google_com.bin --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin --dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin --new ^
--filter-tcp=443 --hostlist=/list/list-google.txt --ip-id=zero --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin --dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin --new ^
--filter-tcp=80,443 --hostlist=/list/list-general.txt --hostlist=/list/list-general-user.txt --hostlist-exclude=/list/list-exclude.txt --hostlist-exclude=/list/list-exclude-user.txt --ipset-exclude=/list/ipset-exclude.txt --ipset-exclude=/list/ipset-exclude-user.txt --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=664 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern=/opt/zapret/files/fake/tls_clienthello_vk_com.bin --dpi-desync-fake-tls=/opt/zapret/files/fake/stun.bin --dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_vk_com.bin --dpi-desync-fake-http=/opt/zapret/files/fake/tls_clienthello_vk_com.bin --new ^
--filter-udp=443 --ipset=/list/ipset-all.txt --hostlist-exclude=/list/list-exclude.txt --hostlist-exclude=/list/list-exclude-user.txt --ipset-exclude=/list/ipset-exclude.txt --ipset-exclude=/list/ipset-exclude-user.txt --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic=/opt/zapret/files/fake/quic_initial_www_google_com.bin --new ^
--filter-tcp=80,443,8443 --ipset=/list/ipset-all.txt --hostlist-exclude=/list/list-exclude.txt --hostlist-exclude=/list/list-exclude-user.txt --ipset-exclude=/list/ipset-exclude.txt --ipset-exclude=/list/ipset-exclude-user.txt --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=664 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern=/opt/zapret/files/fake/tls_clienthello_vk_com.bin --dpi-desync-fake-tls=/opt/zapret/files/fake/stun.bin --dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_vk_com.bin --dpi-desync-fake-http=/opt/zapret/files/fake/tls_clienthello_vk_com.bin

Вроде работает все.

@v-zhuravlev
Copy link
Copy Markdown

Не знаете, случаем, не планируют ли они добавлять новые модули в arm-версии?

если для Mikrotik L9001, то можно перейти с arm на arm64:
инструкция от вендора:
https://www.youtube.com/watch?v=pnktg6SD6T8
После этого контейнер запускается.

@RAGNORRAIDER
Copy link
Copy Markdown

Может кто помочь?

nfqws2-mikrotik
Installing NFQWS2
wget: bad address 'api.github.com'
Failed to get release URL

@vdrakula-hub
Copy link
Copy Markdown

Может кто помочь?

nfqws2-mikrotik Installing NFQWS2 wget: bad address 'api.github.com' Failed to get release URL

А у вас точно на самом микроте настроен DNS? Попробуйте сменить на какой-нибудь гугель.

@RAGNORRAIDER
Copy link
Copy Markdown

@vdrakula-hub уже давно решил, как оказалось контейнер в mikrotik не может нормально в ipv6 решил врезатся промеж провайдера отдельной тачкой с zapret чтобы всё было чётко

@skros79
Copy link
Copy Markdown

skros79 commented Apr 25, 2026

добрый день, у меня RB1100x4 (Annapurna Alpine AL21400 с 4 ядрами Cortex A15) arm32, как я понимаю перейти на arm64 на нем не получится? и подскажите в будущем запрет можно будет поставить на него или это в принципе нельзя сделать (по какой причине?)
спасибо

@arrbsd
Copy link
Copy Markdown

arrbsd commented Apr 25, 2026

Пришлось их вынести в /list/,

Подскажи как это сделать?
Установил. Запустил blockcheck2.sh
После окнчания, я так понял он выдал рабочие стратегии - примерно 300+
Мне их все в конфиг вписывать?

@vdrakula-hub
Copy link
Copy Markdown

Подскажи как это сделать? Установил. Запустил blockcheck2.sh После окнчания, я так понял он выдал рабочие стратегии - примерно 300+ Мне их все в конфиг вписывать?

Нет. Стратегии формируются по листам. Условно у вас есть youtube который "заторможен" и для него формируется стратегия обхода типа 1. Вы создаете для нее отдельный лист. Типа:

--filter-udp=443 --hostlist=/list/youtube.txt --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic=/opt/zapret/files/fake/quic_initial_www_google_com.bin --new ^

Таких листов у вас может быть хоть 100 штук. Просто нужные домены включаете в нужный листинг. У меня сейчас 5 листов с разными типами обхода, если попадается новый домен он проверяется в каждом листе и остается в том где будет работать.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment