Template
1
0
mirror of https://github.com/bol-van/zapret2.git synced 2026-03-14 06:13:09 +00:00

update docs

This commit is contained in:
bol-van
2025-12-20 23:13:36 +03:00
parent 3e2ead29da
commit 0cd6f97b68

View File

@@ -3755,3 +3755,103 @@ nfqws2 может работать и самостоятельно без скр
На Windows система запуска не требуется - все как правило решается батниками для запуска winws2 в интерактивном режиме или управления службой.
На BSD работает только система получения листов из ipset. На FreeBSD она умеет загружать ipset-ы (tables) в ipfw. На OpenBSD файлы с ip листами загружает сам pf.
## Файл config
Используется всеми компонентами скриптов запуска, имеет название "config" и располагается в корне директории zapret. Представляет собой shell include, в котором присваиваются переменные и поддерживаются комментарии, начинающиеся с '#'. Возможно и применение любых shell конструкций - таких, как адресация других переменных или арифметические операторы.
Сам nfqws2 ничего не знает о скриптах запуска и файле config, не принимает ссылку на него в командной строке.
## Система ведение листов
Располагается в директории ipset и состоит из shell скриптов, которые обслуживают файлы с фиксированными именами внутри этой же директории.
### Стандартные файлы листов
Разделяются на хостлист и ip листы, на пользовательские и генерируемые.
Пользовательские листы ведутся вручную и не изменяются программно, генерируемые являются результатом работы программы и не предназначены для ручного редактирования. Изменения в генерируемых листах могут быть переписаны. Одним из вариантов генерируемых листов являются скачиваемые листы.
Пользовательские хостлисты могут содержать имена хостов, ipv4 и ipv6 адреса или подсети CIDR. Генерируемые хостлисты могут содержать только имена хостов.
Все листы могут сжиматься gzip. В этом случае к их именам добавляется ".gz". Сжатие gzip обычно не используется для пользовательских листов, потому что они как правило не слишком большие, а в gzip их неудобно редактировать. Для генерируемых листов gzip обычно используется, чтобы сократить занимаемое на диске место. Будет ли применено сжатие генерируемых листов зависит от переменной config [GZIP_LISTS](#файл-config).
ip листы разделяются на ipv4 и ipv6. ipv6 листы имеют в конце файла перед расширением символ "6".
В зависимости от режима хостлисты могут ресолвиться в ip листы через [mdig](#mdig) или применяться как есть. Если хостлисты применяются как есть в nfqws2, учитываются только имена доменов, а IP адреса и подсети - нет.
| Хостлист | Тип | Назначение | ip листы |
|:---------|:-----|:-----------|:--------|
| zapret-hosts-user.txt | пользовательский | включающий | zapret-ip-user.txt<br>zapret-ip-user6.txt |
| zapret-hosts-user-exclude.txt | пользовательский | исключающий | zapret-ip-exclude.txt<br>zapret-ip-exclude6.txt |
| zapret-hosts-user-ipban.txt | пользовательский | заворот трафика | zapret-ip-user-ipban.txt<br>zapret-ip-user-ipban6.txt |
| -- | генерируемый | заворот трафика | zapret-ip-ipban.txt<br>zapret-ip-ipban6.txt |
| zapret-hosts.txt | генерируемый | включающий | zapret-ip.txt<br>zapret-ip6.txt |
### Скрипты ipset
#### clear_lists.sh
Удаляет все генерируемые листы из ipset
#### create_ipset.sh
Загоняет все имеющиеся ip листы в соответствующие ipset. Под ipset здесь понимаются ipset от iptables, set от nftables или tables от ipfw. Скрипт выбирает ipset backend в зависимости от переменной config [FWTYPE](#файл-config) или автоматически в зависимости от ОС и установленных компонент, если переменная не задана. Нужно ли загонять ipv4 или ipv6 версии зависит от [DISABLE_IPV4](#файл-config) и [DISABLE_IPV6](#файл-config).
Берет 1 параметр командной строки. Им может быть "clear" - очистить ipset-ы или "no-update" - загонять только если ipset еще не созданы, не выполнять обновление.
#### get_config.sh
Выполняет скрипт из ipset, заданный в переменной config [GETLIST](#файл-config). Если переменная не задана, выполняет `get_ipban.sh`.
#### get_user.sh
Ресолвит `zapret-hosts-user.txt`, `zapret-hosts-exclude.txt` и `zapret-hosts-ipban.txt`.
#### get_ipban.sh
Ресолвит `zapret-hosts-exclude.txt` и `zapret-hosts-ipban.txt`.
#### get_exclude.sh
Ресолвит `zapret-hosts-exclude.txt`.
#### get_antifilter_*.sh
Загружает ip или хостлисты с https://antifilter.network.
Роскомнадзор в своей непрестанной заботе о благополучии граждан Российской Федерации ведет несколько списков ресурсов, на которые гражданам ходить нельзя. К сожалению, из-за нехватки сил, вызванной думами о будущем России, они не могут донести содержимое этого списка до каждого гражданина Российской Федерации.
Мы решили оказать посильную помощь Роскомнадзору и предоставить каждому желающему актуальные и полные списки IP-адресов, на которые ходить нельзя. На их основе вы можете даже автоматизировать своё нехождение туда.
На сайте указано, что списки берутся с zapret-info, который приказал долго жить, поэтому актуальность под вопросом.
#### get_antizapret_domains.sh
Загружает хостлисты с https://antizapret.prostovpn.org.
Хостлист со старого сервиса обхода блокировок "prostovpn.org"
#### get_refilter_*.sh
Загружает ip или хостлист с https://github.com/1andrevich/Re-filter-lists.
Re:filter — это попытка создать актуальный список заблокированных доменов и IP-адресов в РФ, а также популярных и заблокированных для пользователей из России.
Исключает казино, порно, проституцию, наркотики и тому подобное.
#### get_reestr_*.sh
Загружает ip или хостлисты с https://github.com/bol-van/rulist.
IP листы содержат как ipv4, так и ipv6.
* `get_reestr_resolvable_domains.sh` - список заблокированных доменов, которые ресолвятся. Среди заблокированных доменов больше половины уже мертвы. Чтобы не перегружать лист они удаляются.
* `get_reestr_preresolved.sh` - периодический ресолв списка заблокированных доменов. Не помогает от "прыгающих" доменов с регулярно изменяющимися IP и от доменов, которые ресолвятся по-разному в зависимости от geoip.
* `get_reestr_preresolved_smart.sh` - предыдущий список + подсети некоторых проблемных AS + исключение некоторых точно незаблокированных (белых) AS. Проблемными IP считаются популярные CDN с прыгающими IP и хостеры, к которым в России применяются особые более жесткие правила фильтрации. На момент написания проблемные AS : AS32934 (facebook,instagram), AS13414(twitter) , AS13335 (cloudflare), AS15169 (google), AS16509 (amazon), AS16276 (ovh), AS24940 (hetzner). Белые AS : AS47541 (vk), AS35237 (sberbank), AS47764 (mail.ru), AS13238 (yandex).
## Стартовые скрипты
## Инсталлятор