diff --git a/docs/readme.md b/docs/readme.md index aca98b8..d038bf1 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -2,8 +2,57 @@ # Multilanguage README -[![en](https://img.shields.io/badge/lang-en-red.svg)](https://github.com/bol-van/zapret/tree/master/docs/readme.en.md) -[![ru](https://img.shields.io/badge/lang-ru-green.svg)](https://github.com/bol-van/zapret/tree/master/docs/readme.md) +[![en](https://img.shields.io/badge/lang-en-red.svg)](./readme.en.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: -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)). ``` @|$ ; читать конфигурацию из файла. опция должна быть первой. остальные опции игнорируются. @@ -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): + +USDT USDT 0x3d52Ce15B7Be734c53fc9526ECbAB8267b63d66E +USDT BTC bc1qhqew3mrvp47uk2vevt5sctp7p2x9m7m5kkchve \ No newline at end of file