Update docs/readme.md

This commit is contained in:
0x201 2024-11-04 10:10:13 +03:00
parent f2ea38cf93
commit f4d31cdcb6

View File

@ -2,8 +2,57 @@
# Multilanguage README # Multilanguage README
[![en](https://img.shields.io/badge/lang-en-red.svg)](https://github.com/bol-van/zapret/tree/master/docs/readme.en.md) [![en](https://img.shields.io/badge/lang-en-red.svg)](./readme.en.md)
[![ru](https://img.shields.io/badge/lang-ru-green.svg)](https://github.com/bol-van/zapret/tree/master/docs/readme.md) [![ru](https://img.shields.io/badge/lang-ru-green.svg)](./readme.md)
***
## Все пункты
- [zapret v.67](#zapret-v67)
- [Multilanguage README](#multilanguage-readme)
- [Все пункты](#все-пункты)
- [Зачем это нужно](#зачем-это-нужно)
- [Быстрый старт](#быстрый-старт)
- [Как это работает](#как-это-работает)
- [Что сейчас происходит в России](#что-сейчас-происходит-в-россии)
- [Как это реализовать на практике в системе linux](#как-это-реализовать-на-практике-в-системе-linux)
- [Особенности применения ip6tables](#особенности-применения-ip6tables)
- [Особенности применения nftables](#особенности-применения-nftables)
- [Когда это работать не будет](#когда-это-работать-не-будет)
- [nfqws](#nfqws)
- [АТАКА ДЕСИНХРОНИЗАЦИИ DPI](#атака-десинхронизации-dpi)
- [КОМБИНИРОВАНИЕ МЕТОДОВ ДЕСИНХРОНИЗАЦИИ](#комбинирование-методов-десинхронизации)
- [РЕЖИМ SYNACK](#режим-synack)
- [РЕЖИМ SYNDATA](#режим-syndata)
- [ВИРТУАЛЬНЫЕ МАШИНЫ](#виртуальные-машины)
- [CONNTRACK](#conntrack)
- [РЕАССЕМБЛИНГ](#реассемблинг)
- [ПОДДЕРЖКА UDP](#поддержка-udp)
- [IP ФРАГМЕНТАЦИЯ](#ip-фрагментация)
- [МНОЖЕСТВЕННЫЕ СТРАТЕГИИ](#множественные-стратегии)
- [tpws](#tpws)
- [МНОЖЕСТВЕННЫЕ СТРАТЕГИИ](#множественные-стратегии-1)
- [Способы получения списка заблокированных IP](#способы-получения-списка-заблокированных-ip)
- [ip2net](#ip2net)
- [mdig](#mdig)
- [Фильтрация по именам доменов](#фильтрация-по-именам-доменов)
- [Режим фильтрации autohostlist](#режим-фильтрации-autohostlist)
- [Проверка провайдера](#проверка-провайдера)
- [Выбор параметров](#выбор-параметров)
- [Прикручивание к системе управления фаерволом или своей системе запуска](#прикручивание-к-системе-управления-фаерволом-или-своей-системе-запуска)
- [Вариант custom](#вариант-custom)
- [Простая установка](#простая-установка)
- [Простая установка на openwrt](#простая-установка-на-openwrt)
- [Установка на openwrt в режиме острой нехватки места на диске](#установка-на-openwrt-в-режиме-острой-нехватки-места-на-диске)
- [Android](#android)
- [Мобильные модемы и роутеры huawei](#мобильные-модемы-и-роутеры-huawei)
- [FreeBSD, OpenBSD, MacOS](#freebsd-openbsd-macos)
- [Windows](#windows)
- [Другие прошивки](#другие-прошивки)
- [Обход блокировки через сторонний хост](#обход-блокировки-через-сторонний-хост)
- [Почему стоит вложиться в покупку VPS](#почему-стоит-вложиться-в-покупку-vps)
- [Поддержать разработчика](#поддержать-разработчика)
***
## Зачем это нужно ## Зачем это нужно
@ -19,9 +68,9 @@ VPN.
## Быстрый старт ## Быстрый старт
> *Linux/openwrt:* docs/quick_start.txt > *Linux/openwrt:* [docs/quick_start.txt](./quick_start.txt)
> >
>*Windows:* docs/quick_start_windows.txt >*Windows:* [docs/quick_start_windows.txt](./quick_start_windows.txt)
## Как это работает ## Как это работает
@ -50,7 +99,7 @@ VPN.
Существует и более продвинутая магия, направленная на преодоление DPI на пакетном уровне. Существует и более продвинутая магия, направленная на преодоление DPI на пакетном уровне.
Подробнее про DPI: Подробнее про DPI:
https://habr.com/ru/post/335436 https://habr.com/ru/post/335436, если заблокирована то https://web.archive.org/web/20230331233644/https://habr.com/ru/post/335436/
https://geneva.cs.umd.edu/papers/geneva_ccs19.pdf https://geneva.cs.umd.edu/papers/geneva_ccs19.pdf
## Что сейчас происходит в России ## Что сейчас происходит в России
@ -164,7 +213,7 @@ NFQUEUE работает без изменений.
## Особенности применения nftables ## Особенности применения nftables
Более подробно преимущества и недостатки nftables применительно к данной системе описаны в docs/nftables_notes.txt Если Более подробно преимущества и недостатки nftables применительно к данной системе описаны в [docs/nftables_notes.txt](./nftables_notes.txt) Если
коротко, то в nftables невозможно работать с большими ip листами на системах с малым количеством RAM. Остальные коротко, то в nftables невозможно работать с большими ip листами на системах с малым количеством RAM. Остальные
рассматриваемые здесь функции могут быть перенесены на nftables. рассматриваемые здесь функции могут быть перенесены на nftables.
@ -195,7 +244,7 @@ NFQUEUE работает без изменений.
## nfqws ## nfqws
Эта программа - модификатор пакетов и обработчик очереди NFQUEUE. Для BSD систем существует адаптированный вариант - Эта программа - модификатор пакетов и обработчик очереди NFQUEUE. Для BSD систем существует адаптированный вариант -
dvtws, собираемый из тех же исходников (см. bsd.txt). dvtws, собираемый из тех же исходников (см. [bsd.txt](./bsd.txt)).
``` ```
@<config_file>|$<config_file> ; читать конфигурацию из файла. опция должна быть первой. остальные опции игнорируются. @<config_file>|$<config_file> ; читать конфигурацию из файла. опция должна быть первой. остальные опции игнорируются.
@ -268,8 +317,9 @@ dvtws, собираемый из тех же исходников (см. bsd.txt
Параметры манипуляции могут сочетаться в любых комбинациях. Параметры манипуляции могут сочетаться в любых комбинациях.
**ЗАМЕЧАНИЕ.** Параметр `--wsize` считается устаревшим и более не поддерживается в скриптах. Функции сплита выполняются в > [!TIP]
рамках атаки десинхронизации. Это быстрее и избавляет от целого ряда недостатков wsize. > **ЗАМЕЧАНИЕ.** Параметр `--wsize` считается устаревшим и более не поддерживается в скриптах. Функции сплита выполняются в
> рамках атаки десинхронизации. Это быстрее и избавляет от целого ряда недостатков wsize.
`--debug` позволяет выводить подробный лог действий на консоль, в syslog или в файл. Может быть важен порядок следования `--debug` позволяет выводить подробный лог действий на консоль, в syslog или в файл. Может быть важен порядок следования
опций. `--debug` лучше всего указывать в самом начале. Опции анализируются последовательно. Если ошибка будет при опций. `--debug` лучше всего указывать в самом начале. Опции анализируются последовательно. Если ошибка будет при
@ -676,14 +726,16 @@ L7 протокол становится известен обычно посл
Нумерация профилей идет с 1 до N. Последним в цепочке создается пустой профиль с номером 0. Нумерация профилей идет с 1 до N. Последним в цепочке создается пустой профиль с номером 0.
Он используется, когда никакие условия фильтров не совпали. Он используется, когда никакие условия фильтров не совпали.
**ВАЖНО:** множественные стратегии создавались только для случаев, когда невозможно обьединить > [!IMPORTANT]
имеющиеся стратегии для разных ресурсов. Копирование стратегий из blockcheck для разных сайтов > Множественные стратегии создавались только для случаев, когда невозможно обьединить
во множество профилей без понимания как они работают приведет к нагромождению параметров, которые все равно > имеющиеся стратегии для разных ресурсов. Копирование стратегий из blockcheck для разных сайтов
не покроют все возможные заблокированные ресурсы. Вы только увязните в этой каше. > во множество профилей без понимания как они работают приведет к нагромождению параметров, которые все равно
> не покроют все возможные заблокированные ресурсы. Вы только увязните в этой каше.
**ВАЖНО:** user-mode реализация ipset создавалась не как удобная замена *nix версии, реализованной в ядре. > [!IMPORTANT]
Вариант в ядре работает гораздо эффективнее. Это создавалось для систем без подержки ipset в ядре. > user-mode реализация ipset создавалась не как удобная замена *nix версии, реализованной в ядре.
Конкретно - Windows и ядра Linux, собранные без nftables и ipset модулей ядра. Например, в android нет ipset. > Вариант в ядре работает гораздо эффективнее. Это создавалось для систем без подержки ipset в ядре.
> Конкретно - Windows и ядра Linux, собранные без nftables и ipset модулей ядра. Например, в android нет ipset.
## tpws ## tpws
@ -1151,7 +1203,7 @@ ipset/get_antizapret_domains.sh
ipset/get_reestr_resolvable_domains.sh ipset/get_reestr_resolvable_domains.sh
ipset/get_refilter_domains.sh ipset/get_refilter_domains.sh
``` ```
Он кладется в ipset/zapret-hosts.txt.gz. Он кладется в `ipset/zapret-hosts.txt.gz`.
При изменении времени модификации файлов списки перечитываются автоматически. При изменении времени модификации файлов списки перечитываются автоматически.
@ -1625,9 +1677,10 @@ IFACE_WAN6="henet ipsec0"
Несколько интерфейсов могут быть вписаны через пробел. Несколько интерфейсов могут быть вписаны через пробел.
Если IFACE_WAN6 не задан, то берется значение IFACE_WAN. Если IFACE_WAN6 не задан, то берется значение IFACE_WAN.
**ВАЖНО**: настройка маршрутизации, маскарада и т.д. не входит в задачу zapret. > [!IMPORTANT]
Включаются только режимы, обеспечивающие перехват транзитного трафика. > Настройка маршрутизации, маскарада и т.д. не входит в задачу zapret.
Возможно определить несколько интерфейсов следующим образом: > Включаются только режимы, обеспечивающие перехват транзитного трафика.
> Возможно определить несколько интерфейсов следующим образом:
`IFACE_LAN="eth0 eth1 eth2"` `IFACE_LAN="eth0 eth1 eth2"`
@ -1757,7 +1810,7 @@ zapret_custom_firewall_nft поднимает правила nftables.
## Простая установка ## Простая установка
`install_easy.sh` автоматизирует ручные варианты процедур установки (см manual_setup.txt). `install_easy.sh` автоматизирует ручные варианты процедур установки (см [manual_setup.txt](./manual_setup.txt)).
Он поддерживает OpenWRT, linux системы на базе systemd или openrc и MacOS. Он поддерживает OpenWRT, linux системы на базе systemd или openrc и MacOS.
Для более гибкой настройки перед запуском инсталлятора следует выполнить раздел "Выбор параметров". Для более гибкой настройки перед запуском инсталлятора следует выполнить раздел "Выбор параметров".
@ -1975,9 +2028,9 @@ connbytes придется опускать, поскольку модуля в
запускайте из конца autorun.sh через "&". Скрипт должен в начале делать sleep 5, чтобы дождаться запускайте из конца autorun.sh через "&". Скрипт должен в начале делать sleep 5, чтобы дождаться
поднятия сети и iptables от huawei. поднятия сети и iptables от huawei.
**ПРЕДУПРЕЖДЕНИЕ.**\ > [!WARNING]
На этом модеме происходят хаотические сбросы соединений tcp по непонятным причинам. > На этом модеме происходят хаотические сбросы соединений tcp по непонятным причинам.
Выглядит это так, если запускать curl с самого модема: > Выглядит это так, если запускать curl с самого модема:
``` ```
curl www.ru curl www.ru
curl: (7) Failed to connect to www.ru port 80: Host is unreachable curl: (7) Failed to connect to www.ru port 80: Host is unreachable
@ -1999,17 +2052,17 @@ curl: (7) Failed to connect to www.ru port 80: Host is unreachable
Поддержка ipset отсутствует. Значит, все, что можно сделать - создать индивидуальные правила Поддержка ipset отсутствует. Значит, все, что можно сделать - создать индивидуальные правила
на небольшое количество хостов. на небольшое количество хостов.
Некоторые наброски скриптов присутствуют в files/huawei. _Не готовое решение!_ Смотрите, изучайте, приспосабливайте.\ Некоторые наброски скриптов присутствуют в [files/huawei](./../files/huawei/). _Не готовое решение!_ Смотрите, изучайте, приспосабливайте.\
Здесь можно скачать готовые полезные статические бинарники для arm, включая curl : https://github.com/bol-van/bins Здесь можно скачать готовые полезные статические бинарники для arm, включая curl : https://github.com/bol-van/bins
## FreeBSD, OpenBSD, MacOS ## FreeBSD, OpenBSD, MacOS
Описано в docs/bsd.txt Описано в [docs/bsd.txt](./bsd.txt)
## Windows ## Windows
Описано в docs/windows.txt Описано в [docs/windows.txt](./windows.txt)
## Другие прошивки ## Другие прошивки
@ -2078,8 +2131,8 @@ Openwrt является одной из немногих относительн
Если не работает автономный обход, приходится перенаправлять трафик через сторонний хост. Если не работает автономный обход, приходится перенаправлять трафик через сторонний хост.
Предлагается использовать прозрачный редирект через socks5 посредством `iptables+redsocks`, либо `iptables+iproute+vpn`. Предлагается использовать прозрачный редирект через socks5 посредством `iptables+redsocks`, либо `iptables+iproute+vpn`.
Настройка варианта с redsocks на openwrt описана в redsocks.txt. Настройка варианта с redsocks на openwrt описана в [redsocks.txt](./redsocks.txt).
Настройка варианта с `iproute+wireguard` - в `wireguard_iproute_openwrt.txt`. Настройка варианта с `iproute+wireguard` - в [wireguard_iproute_openwrt.txt](./wireguard/wireguard_iproute_openwrt.txt).
## Почему стоит вложиться в покупку VPS ## Почему стоит вложиться в покупку VPS
@ -2118,3 +2171,10 @@ VPS можно прибрести в множестве мест. Существ
из описанного сделать не сможете, то вы сможете хотя бы использовать динамическое перенаправление портов ssh из описанного сделать не сможете, то вы сможете хотя бы использовать динамическое перенаправление портов ssh
для получения шифрованного socks proxy и прописать его в броузер. Знания linux не нужны совсем. для получения шифрованного socks proxy и прописать его в броузер. Знания linux не нужны совсем.
Это вариант наименее напряжный для чайников, хотя и не самый удобный в использовании. Это вариант наименее напряжный для чайников, хотя и не самый удобный в использовании.
## Поддержать разработчика
[Реквизиты](https://github.com/bol-van/zapret/issues/590):
<img src=https://cdn-icons-png.flaticon.com/16/14446/14446252.png alt="USDT" style="vertical-align: middle;"/> USDT 0x3d52Ce15B7Be734c53fc9526ECbAB8267b63d66E
<img src=https://cdn-icons-png.flaticon.com/16/5968/5968260.png alt="USDT" style="vertical-align: middle;"/> BTC bc1qhqew3mrvp47uk2vevt5sctp7p2x9m7m5kkchve