|
|
@ -2,8 +2,57 @@ |
|
|
|
|
|
|
|
# Multilanguage README |
|
|
|
|
|
|
|
[](https://github.com/bol-van/zapret/tree/master/docs/readme.en.md) |
|
|
|
[](https://github.com/bol-van/zapret/tree/master/docs/readme.md) |
|
|
|
[](./readme.en.md) |
|
|
|
[](./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: |
|
|
|
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 |
|
|
|
|
|
|
|
## Что сейчас происходит в России |
|
|
@ -164,7 +213,7 @@ NFQUEUE работает без изменений. |
|
|
|
|
|
|
|
## Особенности применения nftables |
|
|
|
|
|
|
|
Более подробно преимущества и недостатки nftables применительно к данной системе описаны в docs/nftables_notes.txt Если |
|
|
|
Более подробно преимущества и недостатки nftables применительно к данной системе описаны в [docs/nftables_notes.txt](./nftables_notes.txt) Если |
|
|
|
коротко, то в nftables невозможно работать с большими ip листами на системах с малым количеством RAM. Остальные |
|
|
|
рассматриваемые здесь функции могут быть перенесены на nftables. |
|
|
|
|
|
|
@ -195,7 +244,7 @@ NFQUEUE работает без изменений. |
|
|
|
## nfqws |
|
|
|
|
|
|
|
Эта программа - модификатор пакетов и обработчик очереди NFQUEUE. Для BSD систем существует адаптированный вариант - |
|
|
|
dvtws, собираемый из тех же исходников (см. bsd.txt). |
|
|
|
dvtws, собираемый из тех же исходников (см. [bsd.txt](./bsd.txt)). |
|
|
|
|
|
|
|
``` |
|
|
|
@<config_file>|$<config_file> ; читать конфигурацию из файла. опция должна быть первой. остальные опции игнорируются. |
|
|
@ -268,8 +317,9 @@ dvtws, собираемый из тех же исходников (см. bsd.txt |
|
|
|
|
|
|
|
Параметры манипуляции могут сочетаться в любых комбинациях. |
|
|
|
|
|
|
|
**ЗАМЕЧАНИЕ.** Параметр `--wsize` считается устаревшим и более не поддерживается в скриптах. Функции сплита выполняются в |
|
|
|
рамках атаки десинхронизации. Это быстрее и избавляет от целого ряда недостатков wsize. |
|
|
|
> [!TIP] |
|
|
|
> **ЗАМЕЧАНИЕ.** Параметр `--wsize` считается устаревшим и более не поддерживается в скриптах. Функции сплита выполняются в |
|
|
|
> рамках атаки десинхронизации. Это быстрее и избавляет от целого ряда недостатков wsize. |
|
|
|
|
|
|
|
`--debug` позволяет выводить подробный лог действий на консоль, в syslog или в файл. Может быть важен порядок следования |
|
|
|
опций. `--debug` лучше всего указывать в самом начале. Опции анализируются последовательно. Если ошибка будет при |
|
|
@ -676,14 +726,16 @@ L7 протокол становится известен обычно посл |
|
|
|
Нумерация профилей идет с 1 до N. Последним в цепочке создается пустой профиль с номером 0. |
|
|
|
Он используется, когда никакие условия фильтров не совпали. |
|
|
|
|
|
|
|
**ВАЖНО:** множественные стратегии создавались только для случаев, когда невозможно обьединить |
|
|
|
имеющиеся стратегии для разных ресурсов. Копирование стратегий из blockcheck для разных сайтов |
|
|
|
во множество профилей без понимания как они работают приведет к нагромождению параметров, которые все равно |
|
|
|
не покроют все возможные заблокированные ресурсы. Вы только увязните в этой каше. |
|
|
|
> [!IMPORTANT] |
|
|
|
> Множественные стратегии создавались только для случаев, когда невозможно обьединить |
|
|
|
> имеющиеся стратегии для разных ресурсов. Копирование стратегий из blockcheck для разных сайтов |
|
|
|
> во множество профилей без понимания как они работают приведет к нагромождению параметров, которые все равно |
|
|
|
> не покроют все возможные заблокированные ресурсы. Вы только увязните в этой каше. |
|
|
|
|
|
|
|
**ВАЖНО:** user-mode реализация ipset создавалась не как удобная замена *nix версии, реализованной в ядре. |
|
|
|
Вариант в ядре работает гораздо эффективнее. Это создавалось для систем без подержки ipset в ядре. |
|
|
|
Конкретно - Windows и ядра Linux, собранные без nftables и ipset модулей ядра. Например, в android нет ipset. |
|
|
|
> [!IMPORTANT] |
|
|
|
> user-mode реализация ipset создавалась не как удобная замена *nix версии, реализованной в ядре. |
|
|
|
> Вариант в ядре работает гораздо эффективнее. Это создавалось для систем без подержки ipset в ядре. |
|
|
|
> Конкретно - Windows и ядра Linux, собранные без nftables и ipset модулей ядра. Например, в android нет ipset. |
|
|
|
|
|
|
|
## tpws |
|
|
|
|
|
|
@ -1151,7 +1203,7 @@ ipset/get_antizapret_domains.sh |
|
|
|
ipset/get_reestr_resolvable_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. |
|
|
|
|
|
|
|
**ВАЖНО**: настройка маршрутизации, маскарада и т.д. не входит в задачу zapret. |
|
|
|
Включаются только режимы, обеспечивающие перехват транзитного трафика. |
|
|
|
Возможно определить несколько интерфейсов следующим образом: |
|
|
|
> [!IMPORTANT] |
|
|
|
> Настройка маршрутизации, маскарада и т.д. не входит в задачу zapret. |
|
|
|
> Включаются только режимы, обеспечивающие перехват транзитного трафика. |
|
|
|
> Возможно определить несколько интерфейсов следующим образом: |
|
|
|
|
|
|
|
`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. |
|
|
|
|
|
|
|
Для более гибкой настройки перед запуском инсталлятора следует выполнить раздел "Выбор параметров". |
|
|
@ -1975,9 +2028,9 @@ connbytes придется опускать, поскольку модуля в |
|
|
|
запускайте из конца autorun.sh через "&". Скрипт должен в начале делать sleep 5, чтобы дождаться |
|
|
|
поднятия сети и iptables от huawei. |
|
|
|
|
|
|
|
**ПРЕДУПРЕЖДЕНИЕ.**\ |
|
|
|
На этом модеме происходят хаотические сбросы соединений tcp по непонятным причинам. |
|
|
|
Выглядит это так, если запускать curl с самого модема: |
|
|
|
> [!WARNING] |
|
|
|
> На этом модеме происходят хаотические сбросы соединений tcp по непонятным причинам. |
|
|
|
> Выглядит это так, если запускать curl с самого модема: |
|
|
|
``` |
|
|
|
curl www.ru |
|
|
|
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 отсутствует. Значит, все, что можно сделать - создать индивидуальные правила |
|
|
|
на небольшое количество хостов. |
|
|
|
|
|
|
|
Некоторые наброски скриптов присутствуют в files/huawei. _Не готовое решение!_ Смотрите, изучайте, приспосабливайте.\ |
|
|
|
Некоторые наброски скриптов присутствуют в [files/huawei](./../files/huawei/). _Не готовое решение!_ Смотрите, изучайте, приспосабливайте.\ |
|
|
|
Здесь можно скачать готовые полезные статические бинарники для arm, включая curl : https://github.com/bol-van/bins |
|
|
|
|
|
|
|
|
|
|
|
## FreeBSD, OpenBSD, MacOS |
|
|
|
|
|
|
|
Описано в docs/bsd.txt |
|
|
|
Описано в [docs/bsd.txt](./bsd.txt) |
|
|
|
|
|
|
|
## Windows |
|
|
|
|
|
|
|
Описано в docs/windows.txt |
|
|
|
Описано в [docs/windows.txt](./windows.txt) |
|
|
|
|
|
|
|
|
|
|
|
## Другие прошивки |
|
|
@ -2078,8 +2131,8 @@ Openwrt является одной из немногих относительн |
|
|
|
|
|
|
|
Если не работает автономный обход, приходится перенаправлять трафик через сторонний хост. |
|
|
|
Предлагается использовать прозрачный редирект через socks5 посредством `iptables+redsocks`, либо `iptables+iproute+vpn`. |
|
|
|
Настройка варианта с redsocks на openwrt описана в redsocks.txt. |
|
|
|
Настройка варианта с `iproute+wireguard` - в `wireguard_iproute_openwrt.txt`. |
|
|
|
Настройка варианта с redsocks на openwrt описана в [redsocks.txt](./redsocks.txt). |
|
|
|
Настройка варианта с `iproute+wireguard` - в [wireguard_iproute_openwrt.txt](./wireguard/wireguard_iproute_openwrt.txt). |
|
|
|
|
|
|
|
|
|
|
|
## Почему стоит вложиться в покупку VPS |
|
|
@ -2118,3 +2171,10 @@ VPS можно прибрести в множестве мест. Существ |
|
|
|
из описанного сделать не сможете, то вы сможете хотя бы использовать динамическое перенаправление портов ssh |
|
|
|
для получения шифрованного 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 |