|
|
@ -1572,18 +1572,42 @@ nfset-ы принадлежат только одной таблице, след |
|
|
|
Вариант custom |
|
|
|
-------------- |
|
|
|
|
|
|
|
custom код вынесен в отдельный shell include |
|
|
|
custom код вынесен в отдельные shell includes. |
|
|
|
Поддерживается старый вариант в |
|
|
|
/opt/zapret/init.d/sysv/custom |
|
|
|
или |
|
|
|
/opt/zapret/init.d/openwrt/custom |
|
|
|
|
|
|
|
Нужно свой код вписать в функции : |
|
|
|
/opt/zapret/init.d/macos/custom |
|
|
|
Он считается устаревшим. Актуальный вариант - помещать отдельные скрипты там же, но в директорию "custom.d". |
|
|
|
Она будет просканирована стандартным образом, т.е. в алфавитном порядке, и каждый скрипт будет применен. |
|
|
|
Рядом имеется "custom.d.examples". Это готовые скрипты, который можно копировать в "custom.d". |
|
|
|
Особо стоит отметить "10-inherit-*". Они наследуют стандартные режимы nfqws/tpws/tpws-socks. |
|
|
|
Полезно, чтобы не писать код заново. Достаточно лишь скопировать соответствующий файл. |
|
|
|
|
|
|
|
Для linux пишется код в функции |
|
|
|
zapret_custom_daemons |
|
|
|
zapret_custom_firewall |
|
|
|
zapret_custom_firewall_nft |
|
|
|
|
|
|
|
В файле custom пишите ваш код, пользуясь хелперами из "functions" или "zapret". |
|
|
|
Смотрите как там сделано добавление iptables или запуск демонов. |
|
|
|
Для macos |
|
|
|
zapret_custom_daemons |
|
|
|
zapret_custom_firewall_v4 |
|
|
|
zapret_custom_firewall_v6 |
|
|
|
|
|
|
|
zapret_custom_daemons поднимает демоны nfqws/tpws в нужном вам количестве и с нужными вам параметрами. |
|
|
|
Особо обратите внимание на номер демона в функциях "run_daemon" и "do_daemon". |
|
|
|
Они должны быть уникальными во всех скриптах. При накладке будет ошибка. |
|
|
|
Так же следует избегать пересечения номеров портов tpws и очередей nfqws. |
|
|
|
При пересечении какой-то из демонов не запустится. |
|
|
|
Чтобы как-то нивелировать эту проблему, в examples используется переменная DNUM. |
|
|
|
На ее базе считается диапазон номеров очередей (5 шт), которые использует этот скрипт. |
|
|
|
При таком подходе достаточно, чтобы DNUM был везде уникален. |
|
|
|
Поскольку номера очереди и портов имеют нумерацию до 65536, можно использовать DNUM до 13106. |
|
|
|
Однако, следует оставить номера очереди 200-299 для стандартных режимов и не использовать их. |
|
|
|
|
|
|
|
custom скрипты могут использовать переменные из config. Можно помещать в config свои переменные |
|
|
|
и использовать их в скриптах. |
|
|
|
Можно использовать функции-хелперы. Они являются частью общего пространства функций shell. |
|
|
|
Полезные функции можно взять из примеров скриптов. Так же смотрите "common/*.sh". |
|
|
|
Используя хелпер функции, вы избавитесь от необходимости учитывать все возможные случаи |
|
|
|
типа наличия/отсутствия ipv6, является ли система роутером, имена интерфейсов, ... |
|
|
|
Хелперы это учитывают, вам нужно сосредоточиться лишь на фильтрах {ip,nf}tables и |
|
|
@ -1593,13 +1617,12 @@ zapret_custom_firewall_nft |
|
|
|
Запуск это или остановка передается в параметре $1 (0 или 1). |
|
|
|
В openwrt за остановку отвечает procd. |
|
|
|
|
|
|
|
Для фаервола кастом пишется отдельно для iptables и nftables. Все очень похоже, но отличается |
|
|
|
Для фаервола в linux кастом пишется отдельно для iptables и nftables. Все очень похоже, но отличается |
|
|
|
написание фильтров и названия процедур хелперов. Если вам не нужны iptables или nftables - |
|
|
|
можете не писать соответствующую функцию. |
|
|
|
|
|
|
|
Готовый custom скрипт custom-tpws4http-nfqws4https позволяет применить дурение |
|
|
|
tpws к http и nfqws к https. При этом поддерживаются установки из config. |
|
|
|
Его можно использовать как стартовую точку для написания своих скриптов. |
|
|
|
В macos firewall-функции ничего сами никуда не заносят. Их задача - лишь выдать текст в stdout, |
|
|
|
содержащий правила для pf-якоря. Остальное сделает обертка. |
|
|
|
|
|
|
|
|
|
|
|
Простая установка |
|
|
|