From e6551f89541963f001115ba331c0be4a997b0def Mon Sep 17 00:00:00 2001 From: Auto Fix Date: Mon, 11 May 2026 17:38:56 +0400 Subject: [PATCH] feat(autotest): --list-all mode; fix GAME placeholders; fix bin refs; docs: new workflow --- README.md | 911 +++++++++++------------------ SCRIPT | 0 autotest.sh | 275 ++++----- run_strategy.sh | 16 +- service.sh | 48 +- strategies/ALT.conf | 8 +- strategies/ALT10.conf | 8 +- strategies/ALT11.conf | 8 +- strategies/ALT2.conf | 2 +- strategies/ALT3.conf | 8 +- strategies/ALT4.conf | 8 +- strategies/ALT5.conf | 2 +- strategies/ALT6.conf | 2 +- strategies/ALT7.conf | 2 +- strategies/ALT8.conf | 8 +- strategies/ALT9.conf | 2 +- strategies/FAKE_TLS_AUTO.conf | 8 +- strategies/FAKE_TLS_AUTO_ALT.conf | 8 +- strategies/FAKE_TLS_AUTO_ALT2.conf | 8 +- strategies/FAKE_TLS_AUTO_ALT3.conf | 8 +- strategies/SIMPLE_FAKE.conf | 8 +- strategies/SIMPLE_FAKE_ALT.conf | 8 +- strategies/SIMPLE_FAKE_ALT2.conf | 8 +- strategies/general.conf | 8 +- systemd/zapret.service | 4 +- 25 files changed, 532 insertions(+), 844 deletions(-) create mode 100644 SCRIPT diff --git a/README.md b/README.md index 7fbc169..1223785 100755 --- a/README.md +++ b/README.md @@ -1,560 +1,353 @@ -# Zapret for Linux (Discord + YouTube + GitHub + Telegram + Steam) - -Linux-аналог популярного репозитория [Flowseal/zapret-discord-youtube](https://github.com/Flowseal/zapret-discord-youtube) для обхода DPI (Deep Packet Inspection). - -**Ключевая фича:** `sync_from_upstream.sh` — автоматическое слежение за оригинальным Windows-репозиторием. При обновлении Flowseal скрипт сам скачает новые списки доменов, `hosts` и авто-конвертирует новые `.bat` стратегии в Linux-формат. Подробнее в разделе **Синхронизация upstream**. - ---- - -## Важно для пользователей из России - -GitHub заблокирован в РФ. Установщик **автоматически использует** прокси/зеркала, но рекомендуется: - -1. **Если есть VPN/прокси** — самый простой способ: - ```bash - # Вариант A: системный прокси - export HTTPS_PROXY=socks5://127.0.0.1:1080 - sudo ./install.sh - - # Вариант B: proxychains - proxychains ./install.sh - ``` - -2. **Если нет VPN на целевой машине** — подготовьте офлайн-пакет: - ```bash - # На машине С интернетом (с VPN): - cd /opt/zapret - proxychains ./prepare_offline_bundle.sh - - # Перенесите zapret-discord-youtube-linux-bundle.tar.gz - # на целевую машину, распакуйте и: - sudo ./install.sh --offline - ``` - -3. **Если установка падает на скачивании**: - - Проверьте `.env.example` → создайте `.env` с `GITHUB_PROXY=...` - - Или передайте прокси через переменную окружения - -Подробнее: раздел **Offline / РФ** внизу. - ---- - -## Быстрый старт - -```bash -# 1. Установка git (один раз) -sudo apt install git # Ubuntu/Debian -sudo pacman -S git # Arch/Manjaro -sudo dnf install git # Fedora - -# 2. Клонирование (БЕЗ sudo — создаёт файлы от текущего пользователя) -cd /opt -git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret -cd zapret - -# 3. Установка (одна команда — всё сделает) -sudo ./install.sh -``` - -После `install.sh` сервис запущен и будет автозапускаться. - -> **Важно:** Все скрипты (`install.sh`, `setup.sh`, `general*.sh`, `service.sh`, `autotest.sh`, `update.sh`) должны запускаться **от root** (через `sudo`). Сами скрипты проверяют это автоматически. - ---- - -## Установка по дистрибутивам - -### Ubuntu / Debian / Linux Mint / Pop!_OS / Zorin OS / Kali - -```bash -sudo apt update -sudo apt install -y git curl make gcc iptables nftables libnetfilter-queue-dev - -cd /opt -git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret -cd zapret -sudo ./install.sh -``` - -### Arch Linux / Manjaro / EndeavourOS / Garuda / Artix - -```bash -sudo pacman -Syu --noconfirm git curl make gcc iptables nftables libnetfilter_queue - -cd /opt -git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret -cd zapret -sudo ./install.sh -``` - -### Fedora / RHEL / CentOS / AlmaLinux / Rocky Linux - -```bash -sudo dnf install -y git curl make gcc iptables nftables libnetfilter_queue-devel - -cd /opt -git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret -cd zapret -sudo ./install.sh -``` - -### Alpine Linux - -```bash -sudo apk add --no-cache git curl make gcc iptables nftables libnetfilter_queue-dev linux-headers - -cd /opt -git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret -cd zapret -sudo ./install.sh -``` - -### Gentoo / Funtoo - -```bash -sudo emerge --ask dev-vcs/git net-misc/curl sys-devel/gcc sys-devel/make net-firewall/iptables net-firewall/nftables - -cd /opt -git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret -cd zapret -sudo ./install.sh -``` - -### openSUSE / SUSE - -```bash -sudo zypper install -y git curl make gcc iptables nftables libnetfilter_queue-devel - -cd /opt -git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret -cd zapret -sudo ./install.sh -``` - -### Void Linux - -```bash -sudo xbps-install -Sy git curl make gcc iptables nftables libnetfilter_queue-devel - -cd /opt -git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret -cd zapret -sudo ./install.sh -``` - -### NixOS - -```bash -nix-shell -p git curl gnumake gcc iptables nftables libnetfilter_queue - -cd /opt -git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret -cd zapret -sudo ./install.sh -``` - ---- - -## Что делает `./install.sh` (шаг за шагом) - -1. **Синхронизация upstream** (`sync_from_upstream.sh`) - - Клонирует оригинальный `Flowseal/zapret-discord-youtube` - - Мержит свежие `lists/*.txt` (Discord, YouTube, GitHub, Telegram, Steam) - - Обновляет `.service/hosts` (статичные IP для GitHub/Telegram) - - При необходимости конвертирует новые `.bat` стратегии в `strategies/*.conf` - -2. **Установка зависимостей** (`setup.sh`) — по дистрибутиву - -3. **Сборка `nfqws`** (`install_nfqws.sh`) — git clone bol-van/zapret, make, fake .bin пакеты - -4. **Автотест** (`autotest.sh --auto`) — перебирает стратегии, находит рабочую, ставит в systemd - ---- - -## Структура проекта (модульная архитектура) - -```text -. -├── bin/ # nfqws + fake .bin (собирается) -├── lib/ -│ └── functions.sh # Общие: firewall, цвета, cleanup -├── lists/ # Списки доменов и IP -│ ├── list-general.txt # Discord, YouTube, GitHub, Telegram, Steam -│ ├── list-google.txt # Google/YouTube -│ ├── list-exclude.txt # Исключения (банки, госуслуги) -│ ├── ipset-all.txt # IP-диапазоны -│ └── ipset-exclude.txt # Локальные подсети -├── strategies/ # Модульные стратегии (.conf) -│ └── general.conf # Конфиг стратегии (RULE1=... RULE2=...) -│ # Другие .conf появляются автоматически через sync_from_upstream.sh -├── utils/ -│ ├── test_zapret.sh # curl-тесты -│ └── targets.txt # Цели -├── systemd/ # Юниты и таймеры -├── .service/ -│ ├── version.txt # Версия (x.y.z-linux) -│ ├── hosts # Статичные IP (GitHub, Telegram) -│ └── installed_strategy # Какая стратегия в systemd -├── general*.sh # Обёртки → run_strategy.sh -├── run_strategy.sh # Движок: читает .conf, подставляет %BIN%/%LISTS%, запускает nfqws -├── sync_from_upstream.sh # Авто-мердж с Windows-репон -├── autotest.sh # Автоподбор рабочей стратегии -├── install.sh # Полный установщик (setup + build + autotest + systemd) -├── service.sh # Меню управления (аналог service.bat) -├── setup.sh # Зависимости по дистрибутиву -├── install_nfqws.sh # Сборка nfqws из bol-van/zapret -├── ensure_wrappers.sh # Создаёт general_*.sh из strategies/*.conf -└── update.sh # Полный pipeline: sync → build → test → install +# Zapret for Linux (Discord + YouTube + GitHub + Telegram + Steam) + +Linux-аналог популярного репозитория [Flowseal/zapret-discord-youtube](https://github.com/Flowseal/zapret-discord-youtube) для обхода DPI (Deep Packet Inspection). + +**Ключевая фича:** `sync_from_upstream.sh` — автоматическое слежение за оригинальным Windows-репозиторием. При обновлении Flowseal скрипт сам скачает новые списки доменов, `hosts` и авто-конвертирует новые `.bat` стратегии в Linux-формат. + +--- + +## Быстрый старт (рекомендуемый workflow) + +```bash +# 1. Клонирование +cd /opt +git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret +cd zapret + +# 2. Запуск меню управления +sudo ./service.sh ``` -. -├── bin/ # nfqws + fake .bin (собирается) -├── lib/ -│ └── functions.sh # Общие: firewall, цвета, cleanup -├── lists/ # Списки доменов и IP -│ ├── list-general.txt # Discord, YouTube, GitHub, Telegram, Steam -│ ├── list-google.txt # Google/YouTube -│ ├── list-exclude.txt # Исключения (банки, госуслуги) -│ ├── ipset-all.txt # IP-диапазоны -│ └── ipset-exclude.txt # Локальные подсети -├── strategies/ # Новое: модульные стратегии -│ └── general.conf # Конфиг стратегии (RULE1=... RULE2=...) -│ # Другие .conf появляются автоматически через sync_from_upstream.sh -├── utils/ -│ ├── test_zapret.sh # curl-тесты -│ └── targets.txt # Цели -├── systemd/ # Юниты и таймеры -├── .service/ -│ ├── version.txt # Версия (x.y.z-linux) -│ ├── hosts # Статичные IP (GitHub, Telegram) -│ └── installed_strategy # Какая стратегия в systemd -├── general*.sh # Обёртки → run_strategy.sh -├── run_strategy.sh # Движок: читает .conf, подставляет %BIN%/%LISTS%, запускает nfqws -├── sync_from_upstream.sh # Авто-мердж с Windows-репон -├── autotest.sh # Автоподбор рабочей стратегии -├── install.sh # Полный установщик (setup + build + autotest + systemd) -├── service.sh # Меню управления (аналог service.bat) -├── setup.sh # Зависимости по дистрибутиву -├── install_nfqws.sh # Сборка nfqws из bol-van/zapret -├── ensure_wrappers.sh # Создаёт general_*.sh из strategies/*.conf -└── update.sh # Полный pipeline: sync → build → test → install -``` - -**Ключевой момент:** стратегии больше не зашиты в код. Они вынесены в `strategies/*.conf` — текстовые файлы, которые автоматически конвертируются из `.bat` при синхронизации. - ---- - -## Модульные стратегии (strategies/*.conf) - -Вместо 20 скриптов с дублирующимся кодом — **один движок** + **конфигурационные файлы**. - -Пример `strategies/general.conf`: -``` -# Strategy: general -RULE1=--filter-udp=443 --hostlist="%LISTS%/list-general.txt" ... --dpi-desync=fake ... -RULE2=--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun ... -RULE3=--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media ... -RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%/ipset-all.txt" ... -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%/ipset-all.txt" ... -``` - -Переменные (подставляются на лету через sed, без envsubst): -- `%BIN%` → `bin/` -- `%LISTS%` → `lists/` -- `%GAME_TCP%` / `%GAME_UDP%` → `1024:65535` (или пусто) - -**Если Flowseal выпускает новую `general (ALT12).bat`:** -```bash -sudo ./sync_from_upstream.sh # авто-конвертирует в strategies/ALT12.conf + general_ALT12.sh -``` - ---- - -## Стратегии (general*.sh) - -| Файл | Стратегия | Описание | -|------|-----------|----------| -| `general.sh` | `general` | Standard multisplit (рекомендуется пробовать первой) | -| `general_ALT.sh` | `ALT` | Fake fakedsplit + ts fooling | -| `general_ALT2.sh` | `ALT2` | Multisplit pos=2 | -| `general_ALT3.sh` | `ALT3` | Hostfakesplit (Google/ya.ru) | -| `general_ALT4.sh` | `ALT4` | Fake multisplit + badseq | -| `general_ALT5.sh` | `ALT5` | **NOT RECOMMENDED** syndata multidisorder | -| `general_ALT6.sh` | `ALT6` | Uniform split-seqovl=681 | -| `general_ALT7.sh` | `ALT7` | Multisplit + syndata | -| `general_ALT8.sh` | `ALT8` | Fake + badseq-increment=2 | -| `general_ALT9.sh` | `ALT9` | Hostfakesplit (ozon.ru) | -| `general_ALT10.sh` | `ALT10` | Fake + ts fooling | -| `general_ALT11.sh` | `ALT11` | Fake multisplit + max_ru pattern | -| `general_FAKE_TLS_AUTO.sh` | `FAKE_TLS_AUTO` | FAKE TLS multidisorder | -| `general_FAKE_TLS_AUTO_ALT.sh` | `FAKE_TLS_AUTO_ALT` | FAKE TLS fakedsplit | -| `general_FAKE_TLS_AUTO_ALT2.sh` | `FAKE_TLS_AUTO_ALT2` | FAKE TLS multisplit badseq | -| `general_FAKE_TLS_AUTO_ALT3.sh` | `FAKE_TLS_AUTO_ALT3` | FAKE TLS + 4pda pattern | -| `general_SIMPLE_FAKE.sh` | `SIMPLE_FAKE` | Simple fake | -| `general_SIMPLE_FAKE_ALT.sh` | `SIMPLE_FAKE_ALT` | Simple fakedsplit | -| `general_SIMPLE_FAKE_ALT2.sh` | `SIMPLE_FAKE_ALT2` | Simple hostfakesplit | - -**Подбор рабочей:** -```bash -sudo ./autotest.sh # интерактивно: тестит, пока не найдёт -sudo ./autotest.sh --auto # автомат: найдёт и сразу установит в systemd -``` - ---- - -## service.sh — меню управления - -Аналог `service.bat` из Windows-версии: - -``` -:: SERVICE - 1. Install Service — выбор стратегии + systemd unit - 2. Remove Services — удаление unit + остановка nfqws - 3. Check Status — проверка nfqws и firewall rules - -:: SETTINGS - 4. Game Filter — вкл/выкл обход портов >1024 - 5. IPSet Filter — none / loaded / any - 6. Auto-Update Check — вкл/выкл автообновление - -:: UPDATES - 7. Update IPSet List — обновить список IP - 8. Update Hosts File — показать hosts и предложить добавить в /etc/hosts - 9. Check for Updates — проверить версию (внутренняя) - -:: TOOLS - 10. Run Diagnostics — зависимости, ядерный модуль, DNS - 11. Run Tests — curl-проверка Discord/YouTube -``` - ---- - -## update.sh — автообновление (pipeline) - -```bash -# Полный pipeline: sync upstream → rebuild → test → install -sudo ./update.sh # интерактивно -sudo ./update.sh --auto # для cron: тихий режим, только если upstream изменился -sudo ./update.sh --full-auto # форсировать пересборку + перетестирование -sudo ./update.sh --help # справка -``` - -**Когда использовать `--full-auto`:** -- После обновления дистрибутива/ядра (может сломать бинарный совместимость `nfqws`) -- Если `nfqws` падает с segfault (пересборка с безопасными флагами) -- Если установка новой стратегии не работает - -**Что делает при обновлении Flowseal:** -``` -Step 0: sync_from_upstream.sh - → скачивает новые lists, hosts, версию - → если Flowseal выпустил новый .bat — авто-конвертирует в .conf + .sh - -Step 1: Rebuild nfqws - → пересобирает из исходников - -Step 2: Auto-test - → перетестирует все стратегии (включая новые) - -Step 3: Install to systemd - → ставит лучшую рабочую в автостарт -``` - ---- - -## Синхронизация upstream (`sync_from_upstream.sh`) - -Отдельный скрипт для ручного мержа с оригиналом. Не требует пересборки nfqws. - -```bash -sudo ./sync_from_upstream.sh -# Вывод: -# [OK] lists/list-general.txt (новые домены GitHub/Telegram) -# [OK] .service/hosts (новые статичные IP) -# [NEW] Detected upstream strategy: general (ALT12).bat → ALT12.conf -# [OK] REBUILD NEEDED: run ./update.sh -``` - -Если видите `REBUILD NEEDED` (exit 2) — запускайте `sudo ./update.sh` или `sudo ./install.sh`. - -**systemd таймер для ежедневного автообновления:** -```bash -sudo cp systemd/zapret-update.timer /etc/systemd/system/ -sudo cp systemd/zapret-update.service /etc/systemd/system/ -sudo systemctl daemon-reload -sudo systemctl enable --now zapret-update.timer -``` - ---- - -## Security — hosts для заблокированных ресурсов - -Проект включает `.service/hosts` со статичными IP, чтобы обойти DNS-блокировки: - -- **GitHub**: `raw.githubusercontent.com`, `avatars.githubusercontent.com`, `gist.github.com` -- **Telegram**: `t.me`, `telegram.org`, `web.telegram.org`, `api.telegram.org` -- **Discord media**: голосовые каналы - -Добавить в `/etc/hosts`: -```bash -sudo ./service.sh -# → 8. Update Hosts File -``` - -Или вручную: -```bash -cat .service/hosts | sudo tee -a /etc/hosts -``` - -Рекомендуется также включить **Secure DNS** (DoH/DoT): -- Chrome: `chrome://settings/security` → Secure DNS -- Firefox: `about:preferences#privacy` → DNS-over-HTTPS -- systemd-resolved: `resolvectl dns eth0 1.1.1.1` - ---- - -## Ручное управление (если автоматика не подошла) - -```bash -cd /opt/zapret - -# Запуск конкретной стратегии -sudo ./general.sh # если не работает — Ctrl+C -sudo ./general_ALT.sh # пробуем следующую -# ... и так до 20 стратегий - -# Меню -sudo ./service.sh - -# Обновление (sync + rebuild + test + install) -sudo ./update.sh -sudo ./update.sh --full-auto -``` - -### Если autotest показывает "nfqws did not start" / ошибка 0000 - -Это значит `nfqws` не удалось запуститься. Самые частые причины: - -1. **Не хватает root-прав** — запускайте ВСЕ скрипты через `sudo` -2. **Отсутствуют fake .bin файлы** — пересоберите: `sudo ./install_nfqws.sh` -3. **nfnetlink_queue не загружен** — `sudo modprobe nfnetlink_queue` -4. **iptables/nftables конфликт** — `sudo ./service.sh → 2. Remove Services`, затем `sudo ./general.sh` -5. **nfqws падает с segfault** — пересоберите с безопасными флагами: `sudo ./update.sh --full-auto` - - Скрипт автоматически выключит `-flto=auto` и `--gc-sections`, которые вызывают крах на некоторых системах - -### Если curl-тесты падают, но nfqws запущен - -1. Включите **Secure DNS** (DoH/DoT) — провайдер блокирует по DNS -2. Добавьте `.service/hosts` в `/etc/hosts` (`sudo ./service.sh → 8`) -3. Попробуйте стратегии вручную — у разных провайдеров работают разные - ---- - -## Требования - -- Linux с `iptables` или `nftables` -- Ядерный модуль `nfnetlink_queue` (загрузится автоматически) -- `git`, `make`, `gcc`, `curl` -- **Root-доступ** — все скрипты (`install.sh`, `setup.sh`, `general*.sh`, `service.sh`, `autotest.sh`, `update.sh`) проверяют это автоматически и показывают `sudo $0`, если запущены без прав - ---- - -## Работа в России / Offline-режим - -### Почему нужен прокси или offline-бандл - -- `github.com` заблокирован в РФ -- Оригинальный репозиторий лежит на GitHub (Flowseal/zapret-discord-youtube) -- Исходники `nfqws` тоже на GitHub (bol-van/zapret) -- Наш проект на **Gitea**, поэтому клонирование работает, но внутренние скачивания (lists, hosts, bol-van/zapret) — используют GitHub - -### Вариант 1: Установка с VPN/прокси (рекомендуется) - -```bash -# Системный прокси -export HTTPS_PROXY=socks5://127.0.0.1:1080 -export HTTP_PROXY=socks5://127.0.0.1:1080 -sudo ./install.sh - -# Или proxychains -proxychains ./install.sh -``` - -Также можно настроить `~/.bashrc`: -```bash -echo 'export HTTPS_PROXY=socks5://127.0.0.1:1080' >> ~/.bashrc -source ~/.bashrc -``` - -### Вариант 2: Offline-бандл (без интернета на целевой машине) - -На машине **с интернетом** (например, у друга, или с VPN на работе): - -```bash -cd /opt/zapret -proxychains ./prepare_offline_bundle.sh -``` - -Получите файл: `zapret-discord-youtube-linux-bundle.tar.gz` - -На машине **без интернета**: -```bash -cd /opt -sudo tar -xzf zapret-discord-youtube-linux-bundle.tar.gz -cd zapret-bundle-*/installed-scripts -sudo ./install.sh --offline -``` - -Бандл содержит: -- Исходники `bol-van/zapret` (для сборки nfqws) -- `lists/*.txt` (свежие домены) -- `.service/hosts` (статичные IP) -- Все скрипты и стратегии - -### Вариант 3: Установка на Windows и перенос в Linux - -1. Скачать репозиторий на Windows (где VPN работает) -2. Перенести на Linux через флешку/сеть -3. На Linux запустить `sudo ./install.sh --offline` - -### Если GitHub заблокирован — поведение скриптов - -| Скрипт | Поведение при отсутствии интернета | -|--------|-----------------------------------| -| `install.sh` | Предупреждает, спрашивает, можно запустить `--offline` | -| `sync_from_upstream.sh` | Переключается в offline-режим, использует `.bundle/` | -| `update.sh` | Если sync не удался — сообщает и выходит | -| `install_nfqws.sh` | Предлагает proxychains, `--offline`, или `prepare_offline_bundle.sh` | - -### Настройка прокси через .env - -```bash -cp .env.example .env -nano .env -``` - -``` -GITHUB_PROXY=socks5://127.0.0.1:1080 -``` - -Скрипты автоматически прочитают `.env` при запуске. - -### Обновление при заблокированном GitHub - -```bash -# С VPN/proxy на целевой машине: -sudo ./update.sh --full-auto - -# Или через proxychains: -proxychains ./update.sh --full-auto -``` - ---- - -## Лицензия - -MIT License. - -**Авторы:** -- [bol-van](https://github.com/bol-van) — оригинальный zapret -- [Flowseal](https://github.com/Flowseal) — Windows-обёртка и стратегии -- Linux-адаптация — [Gitea](https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux) + +В открывшемся меню: +1. **Нажмите `11` (Run Tests)** — скрипт автоматически проверит все стратегии (general, ALT, ALT2, ALT3...) против YouTube и Discord и покажет **список ВСЕХ рабочих**. +2. После тестов нажмите `1` (Install Service) и **выберите номер** понравившейся стратегии из списка. +3. Сервис установлен и будет автозапускаться при загрузке. + +``` + :: TOOLS + 10. Run Diagnostics + 11. Run Tests (find ALL working strategies) ← СНАЧАЛА ЭТО + + :: SERVICE + 1. Install Service ← ПОТОМ ЭТО + 2. Remove Services + 3. Check Status +``` + +> **Важно:** Все скрипты (`install.sh`, `setup.sh`, `general*.sh`, `service.sh`, `autotest.sh`, `update.sh`) должны запускаться **от root** (через `sudo`). + +--- + +## Установка по дистрибутивам + +### Ubuntu / Debian / Linux Mint / Pop!_OS / Zorin OS / Kali + +```bash +sudo apt update +sudo apt install -y git curl make gcc iptables nftables libnetfilter-queue-dev + +cd /opt +git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret +cd zapret +sudo ./service.sh +# → 11 для тестов, затем 1 для установки +``` + +### Arch Linux / Manjaro / EndeavourOS / Garuda / Artix + +```bash +sudo pacman -Syu --noconfirm git curl make gcc iptables nftables libnetfilter_queue + +cd /opt +git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret +cd zapret +sudo ./service.sh +``` + +### Fedora / RHEL / CentOS / AlmaLinux / Rocky Linux + +```bash +sudo dnf install -y git curl make gcc iptables nftables libnetfilter_queue-devel + +cd /opt +git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret +cd zapret +sudo ./service.sh +``` + +### Alpine Linux + +```bash +sudo apk add --no-cache git curl make gcc iptables nftables libnetfilter_queue-dev linux-headers + +cd /opt +git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret +cd zapret +sudo ./service.sh +``` + +### Gentoo / Funtoo + +```bash +sudo emerge --ask dev-vcs/git net-misc/curl sys-devel/gcc sys-devel/make net-firewall/iptables net-firewall/nftables + +cd /opt +git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret +cd zapret +sudo ./service.sh +``` + +### openSUSE / SUSE + +```bash +sudo zypper install -y git curl make gcc iptables nftables libnetfilter_queue-devel + +cd /opt +git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret +cd zapret +sudo ./service.sh +``` + +### Void Linux + +```bash +sudo xbps-install -Sy git curl make gcc iptables nftables libnetfilter_queue-devel + +cd /opt +git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret +cd zapret +sudo ./service.sh +``` + +### NixOS + +```bash +nix-shell -p git curl gnumake gcc iptables nftables libnetfilter_queue + +cd /opt +git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret +cd zapret +sudo ./service.sh +``` + +--- + +## Альтернативный способ: install.sh (полный автоустановщик) + +Если `service.sh` кажется сложным, можно запустить всё одной командой: + +```bash +sudo ./install.sh +``` + +Он автоматически: +1. Соберёт nfqws +2. Запустит тесты +3. Установит **первую** рабочую стратегию в systemd + +После этого сервис будет работать сразу и автозапускаться при загрузке. + +--- + +## service.sh — меню управления + +``` + ZAPRET SERVICE MANAGER v1.9.8c-linux + ---------------------------------------- + + :: SERVICE + 1. Install Service ← выбор и установка стратегии + 2. Remove Services ← удаление сервиса + остановка + 3. Check Status ← проверка nfqws и firewall + + :: SETTINGS + 4. Game Filter [disabled] + 5. IPSet Filter [none] + 6. Auto-Update Check [disabled] + + :: UPDATES + 7. Update IPSet List + 8. Update Hosts File + 9. Check for Updates + + :: TOOLS + 10. Run Diagnostics + 11. Run Tests (find ALL working strategies) ← тестирует все и показывает рабочие +``` + +**Workflow:** +1. `sudo ./service.sh` → `11` → ждёте завершения тестов → видите список рабочих стратегий +2. `1` → вводите номер нужной стратегии → сервис установлен +3. `3` → проверяете, что сервис запущен +4. Открываете браузер: `youtube.com`, `discord.com` + +**Если стратегия перестала работать:** +```bash +sudo ./service.sh +# 2 — Remove Services (очистить) +# 11 — Run Tests (перетестировать) +# 1 — Install Service (выбрать другую рабочую) +``` + +--- + +## Стратегии + +| Стратегия | Описание | +|-----------|----------| +| `general` | Standard multisplit | +| `ALT` | Fake fakedsplit + ts fooling | +| `ALT2` | Multisplit pos=2 | +| `ALT3` | Hostfakesplit (Google/ya.ru) | +| `ALT4` | Fake multisplit + badseq | +| `ALT5` | **NOT RECOMMENDED** syndata multidisorder | +| `ALT6` | Uniform split-seqovl=681 | +| `ALT7` | Multisplit + syndata | +| `ALT8` | Fake + badseq-increment=2 | +| `ALT9` | Hostfakesplit (ozon.ru) | +| `ALT10` | Fake + ts fooling | +| `ALT11` | Fake multisplit + max_ru pattern | +| `FAKE_TLS_AUTO` | FAKE TLS multidisorder | +| `FAKE_TLS_AUTO_ALT` | FAKE TLS fakedsplit | +| `FAKE_TLS_AUTO_ALT2` | FAKE TLS multisplit badseq | +| `FAKE_TLS_AUTO_ALT3` | FAKE TLS + 4pda pattern | +| `SIMPLE_FAKE` | Simple fake | +| `SIMPLE_FAKE_ALT` | Simple fakedsplit | +| `SIMPLE_FAKE_ALT2` | Simple hostfakesplit | + +**Ручной тест всех стратегий:** +```bash +sudo ./autotest.sh # интерактивно: тестит все и показывает рабочие +sudo ./autotest.sh --auto # автомат: найдёт и сразу установит первую рабочую +``` + +**Ручной запуск конкретной стратегии (без systemd):** +```bash +sudo ./run_strategy.sh ALT3 +# Ctrl+C — остановить +``` + +--- + +## Структура проекта + +``` +. +├── bin/ # nfqws + fake .bin (собирается) +├── lib/ +│ └── functions.sh # Общие: firewall, цвета, cleanup +├── lists/ # Списки доменов и IP +│ ├── list-general.txt # Discord, YouTube, GitHub, Telegram, Steam +│ ├── list-google.txt # Google/YouTube +│ ├── list-exclude.txt # Исключения (банки, госуслуги) +│ ├── ipset-all.txt # IP-диапазоны +│ └── ipset-exclude.txt # Локальные подсети +├── strategies/ # Модульные стратегии (.conf) +│ └── general.conf # Конфиг стратегии (RULE1=... RULE2=...) +├── utils/ +│ ├── test_zapret.sh # curl-тесты +│ └── targets.txt # Цели +├── systemd/ # Юниты и таймеры +├── .service/ +│ ├── version.txt # Версия +│ ├── hosts # Статичные IP +│ └── installed_strategy # Какая стратегия в systemd +├── general*.sh # Обёртки → run_strategy.sh +├── run_strategy.sh # Движок: читает .conf, подставляет %BIN%/%LISTS%, запускает nfqws +├── sync_from_upstream.sh # Авто-мердж с Windows-репон +├── autotest.sh # Автоподбор рабочей стратегии (все или первая) +├── install.sh # Полный установщик (setup + build + autotest + systemd) +├── service.sh # Меню управления (аналог service.bat) +├── setup.sh # Зависимости по дистрибутиву +├── install_nfqws.sh # Сборка nfqws из bol-van/zapret +├── ensure_wrappers.sh # Создаёт general_*.sh из strategies/*.conf +└── update.sh # Полный pipeline: sync → build → test → install +``` + +--- + +## Важно для пользователей из России + +GitHub заблокирован в РФ. Установщик **автоматически использует** прокси/зеркала, но рекомендуется: + +1. **Если есть VPN/прокси:** + ```bash + export HTTPS_PROXY=socks5://127.0.0.1:1080 + sudo ./install.sh + ``` + +2. **Если нет VPN на целевой машине** — подготовьте офлайн-пакет: + ```bash + # На машине С интернетом (с VPN): + cd /opt/zapret + proxychains ./prepare_offline_bundle.sh + + # Перенесите zapret-discord-youtube-linux-bundle.tar.gz + # на целевую машину, распакуйте и: + sudo ./install.sh --offline + ``` + +3. **Если установка падает на скачивании:** + - Проверьте `.env.example` → создайте `.env` с `GITHUB_PROXY=...` + +--- + +## update.sh — автообновление + +```bash +# Полный pipeline: sync upstream → rebuild → test → install +sudo ./update.sh # интерактивно +sudo ./update.sh --auto # для cron: тихий режим +sudo ./update.sh --full-auto # форсировать пересборку + перетестирование +``` + +**Когда использовать `--full-auto`:** +- После обновления дистрибутива/ядра +- Если `nfqws` падает с segfault +- Если текущая стратегия перестала работать + +--- + +## Troubleshooting + +**nfqws падает с segfault:** +```bash +sudo ./update.sh --full-auto +# Пересобирает с -O0 (без оптимизаций) +``` + +**Стратегия перестала работать:** +```bash +sudo ./service.sh +# 2 — Remove Services +# 11 — Run Tests (перетестировать все) +# 1 — Install Service (выбрать другую) +``` + +**Discord не работает, хотя YouTube работает:** +```bash +# Добавьте домены в пользовательский список +echo "discord.gg" >> lists/list-general-user.txt +sudo systemctl restart zapret +``` + +**Steam не запускается:** +- Включите Game Filter: `sudo ./service.sh` → `4` +- Или добавьте порты Steam в `lists/list-general-user.txt` + +**YouTube работает, но страница грузится медленно:** +```bash +sudo ./service.sh +# 6 — Auto-Update Check → вкл +# 9 — Check for Updates → обновить стратегии +``` + +--- + +## Автор и лицензия + +Linux-адаптация: [Stitch505](https://giteas.stitch505.su/Stitch505) +Оригинальные стратегии: [Flowseal](https://github.com/Flowseal/zapret-discord-youtube) +Движок nfqws: [bol-van/zapret](https://github.com/bol-van/zapret) + +MIT License. diff --git a/SCRIPT b/SCRIPT new file mode 100644 index 0000000..e69de29 diff --git a/autotest.sh b/autotest.sh index ef3d234..0a26d34 100755 --- a/autotest.sh +++ b/autotest.sh @@ -1,62 +1,35 @@ #!/bin/bash -# autotest.sh - Automatic strategy tester v2 -# Iterates through all strategies, checks connectivity, suggests installation +# autotest.sh - Automatic strategy tester v3 +# Modes: --auto, --list-all, interactive set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$SCRIPT_DIR/lib/functions.sh" -# Test targets (must be accessible when bypass works) TEST_URLS=( "https://www.youtube.com|YouTube" "https://discord.com|Discord" "https://discordapp.com|DiscordApp" ) -# Strategy order (most common first) STRATEGIES=( - general - ALT - ALT2 - ALT3 - ALT4 - ALT6 - ALT7 - ALT8 - ALT9 - ALT10 - ALT11 - FAKE_TLS_AUTO - FAKE_TLS_AUTO_ALT - FAKE_TLS_AUTO_ALT2 - FAKE_TLS_AUTO_ALT3 - SIMPLE_FAKE - SIMPLE_FAKE_ALT - SIMPLE_FAKE_ALT2 - ALT5 # NOT RECOMMENDED, last + general ALT ALT2 ALT3 ALT4 ALT6 ALT7 ALT8 ALT9 ALT10 ALT11 + FAKE_TLS_AUTO FAKE_TLS_AUTO_ALT FAKE_TLS_AUTO_ALT2 FAKE_TLS_AUTO_ALT3 + SIMPLE_FAKE SIMPLE_FAKE_ALT SIMPLE_FAKE_ALT2 ALT5 ) -# Test a single URL test_url() { - local url="$1" - local timeout=8 - local code + local url="$1" timeout=8 code code=$(curl -o /dev/null -s -w "%{http_code}" --max-time "$timeout" -L "$url" 2>/dev/null) - if [[ "$code" == "200" ]] || [[ "$code" == "301" ]] || [[ "$code" == "302" ]] || [[ "$code" == "307" ]]; then - return 0 - fi - return 1 + [[ "$code" == "200" || "$code" == "301" || "$code" == "302" || "$code" == "307" ]] } -# Test all targets for a strategy test_strategy() { - local passed=0 - local total=${#TEST_URLS[@]} - + local passed=0 total=${#TEST_URLS[@]} echo " [*] Testing connectivity..." for entry in "${TEST_URLS[@]}"; do - IFS='|' read -r url name <<< "$entry" + IFS="|" read -r url name <<< "$entry" if test_url "$url"; then echo " $(print_green "[OK]") $name" ((passed++)) @@ -64,48 +37,30 @@ test_strategy() { echo " $(print_red "[FAIL]") $name" fi done - echo " [*] Result: $passed/$total passed" - if [[ "$passed" -eq "$total" ]]; then - return 0 - fi - return 1 + [[ "$passed" -eq "$total" ]] } -# Run a strategy with timeout run_strategy_test() { - local strategy="$1" - local strategy_path="$SCRIPT_DIR/run_strategy.sh" - local strategy_name="$strategy" - + local strategy="$1" strategy_path="$SCRIPT_DIR/run_strategy.sh" echo "" echo "==============================================" - echo " Testing: $strategy_name" + echo " Testing: $strategy" echo " $(describe_strategy "$SCRIPT_DIR/general_${strategy}.sh")" echo "==============================================" - # Check if strategy config exists - if [[ ! -f "$SCRIPT_DIR/strategies/${strategy}.conf" ]]; then - print_yellow " [!] Strategy config not found, skipping..." - return 1 - fi + [[ -f "$SCRIPT_DIR/strategies/${strategy}.conf" ]] || { print_yellow " [!] Config not found, skipping..."; return 1; } - # Ensure clean firewall state before starting cleanup_firewall >/dev/null 2>&1 || true sleep 1 - # Start strategy in background (run_strategy.sh handles its own cleanup on signals) - echo " [*] Starting $strategy_name..." + echo " [*] Starting $strategy..." "$strategy_path" "$strategy" >/dev/null 2>&1 & local strategy_pid=$! - - # Wait for nfqws to initialize sleep 3 - # Check if nfqws actually started (not just the wrapper) if ! pgrep -f "nfqws.*qnum=$NFQUEUE_NUM" >/dev/null 2>&1; then - print_yellow " [!] nfqws did not start for $strategy_name, skipping..." - # Kill wrapper if still alive + print_yellow " [!] nfqws did not start for $strategy, skipping..." kill "$strategy_pid" 2>/dev/null || true wait "$strategy_pid" 2>/dev/null || true cleanup_firewall >/dev/null 2>&1 || true @@ -113,104 +68,32 @@ run_strategy_test() { return 1 fi - # Run connectivity tests local success=0 - if test_strategy; then - success=1 - fi + test_strategy && success=1 - # Stop strategy - echo " [*] Stopping $strategy_name..." - # Send SIGTERM to wrapper — it will cleanup firewall + nfqws via trap + echo " [*] Stopping $strategy..." kill -TERM "$strategy_pid" 2>/dev/null || true - # Give trap time to fire and cleanup sleep 2 - # Ensure nfqws is gone pkill -f "nfqws.*qnum=$NFQUEUE_NUM" 2>/dev/null || true wait "$strategy_pid" 2>/dev/null || true cleanup_firewall >/dev/null 2>&1 || true sleep 1 - if [[ "$success" -eq 1 ]]; then - return 0 - fi - return 1 + [[ "$success" -eq 1 ]] } -# Main autotest logic -main() { - local auto_install="${1:-}" - - echo "" - echo "==============================================" - echo " Zapret Auto-Test v$LOCAL_VERSION" - echo " Will test ${#STRATEGIES[@]} strategies" - echo "==============================================" - echo "" - - # Check prerequisites - if [[ "${EUID:-$(id -u)}" -ne 0 ]]; then - print_red "[!] This script must be run as root (or with sudo)" - echo " sudo ./autotest.sh" - exit 1 - fi - - check_nfqws || { - echo "" - echo "[*] nfqws not found. Building first..." - bash "$SCRIPT_DIR/install_nfqws.sh" - } - - echo "[*] Test targets:" - for entry in "${TEST_URLS[@]}"; do - IFS='|' read -r url name <<< "$entry" - echo " - $name ($url)" - done - echo "" - - if [[ "$auto_install" != "--auto" ]]; then - read -rp "Press Enter to start testing... or Ctrl+C to cancel" - fi - - # Ensure clean state - cleanup_firewall >/dev/null 2>&1 || true - sleep 1 - - local working_strategy="" - local working_desc="" - - for strat in "${STRATEGIES[@]}"; do - if run_strategy_test "$strat"; then - working_strategy="$strat" - working_desc="$(describe_strategy "$SCRIPT_DIR/general_${strat}.sh")" - break - fi - done - - echo "" - echo "==============================================" - if [[ -n "$working_strategy" ]]; then - print_green " WORKING STRATEGY FOUND!" - print_green " Strategy: $working_strategy" - print_green " Desc: $working_desc" - echo "==============================================" - echo "" - - if [[ "$auto_install" == "--auto" ]]; then - echo "[*] Auto-installing to systemd..." - # Write strategy marker directly - mkdir -p "$SCRIPT_DIR/.service" - echo "$working_strategy" > "$SCRIPT_DIR/.service/installed_strategy" - - local service_path="$SYSTEMD_DIR/zapret.service" - cat > "$service_path" < "$SCRIPT_DIR/.service/installed_strategy" + cat > /etc/systemd/system/zapret.service </dev/null 2>&1 || true + sleep 1 + + local working_strategies=() working_descs=() first_working="" + + for strat in "${STRATEGIES[@]}"; do + if run_strategy_test "$strat"; then + working_strategies+=("$strat") + working_descs+=("$(describe_strategy "$SCRIPT_DIR/general_${strat}.sh")") + [[ -z "$first_working" ]] && first_working="$strat" + fi + done + + echo "" + echo "==============================================" + if [[ ${#working_strategies[@]} -gt 0 ]]; then + print_green " WORKING STRATEGIES FOUND: ${#working_strategies[@]}" + echo "==============================================" + echo "" + local i=0 + for strat in "${working_strategies[@]}"; do + echo " $(print_green "[$((i+1))]") $strat — ${working_descs[$i]}" + ((i++)) + done + echo "" + + if [[ "$mode" == "--auto" ]]; then + install_strategy "$first_working" + elif [[ "$mode" == "--list-all" ]]; then + echo "[*] To install a strategy, run: sudo ./service.sh → 1. Install Service" + echo " Or directly: sudo ./run_strategy.sh ALT3" else echo "[*] Next steps:" - echo " 1. Test in browser: open youtube.com and discord.com" - echo " 2. If everything works, install it:" + echo " 1. Test in browser: youtube.com, discord.com" + echo " 2. To install: sudo ./service.sh → 1. Install Service → Pick a strategy" echo "" - echo " sudo ./service.sh" - echo " → 1. Install Service" - echo " → Choose: $working_strategy" - echo "" - read -rp "Install this strategy to systemd now? [Y/n]: " ans - if [[ "${ans:-Y}" == [yY]* ]]; then - bash "$SCRIPT_DIR/service.sh" - fi + read -rp "Install first working strategy ($first_working)? [Y/n]: " ans + [[ "${ans:-Y}" == [yY]* ]] && install_strategy "$first_working" fi else print_red " NO WORKING STRATEGY FOUND" echo "==============================================" echo "" echo "[*] Suggestions:" - echo " - Try adding custom domains to lists/list-general-user.txt" - echo " - Check that Secure DNS is enabled" - echo " - Try modifying strategy parameters manually in strategies/*.conf" - echo " - Check diagnostics: sudo ./service.sh → 10. Run Diagnostics" + echo " - Add custom domains to lists/list-general-user.txt" + echo " - Check Secure DNS is enabled" + echo " - Modify strategy parameters in strategies/*.conf" + echo " - Run diagnostics: sudo ./service.sh → 10. Run Diagnostics" fi - echo "" echo "[*] Auto-test complete." echo "" } -# Entry point case "${1:-interactive}" in - --auto|-a) - main --auto - ;; - interactive|"") - main interactive - ;; - *) - echo "Usage: sudo ./autotest.sh [--auto|-a]" - exit 1 - ;; + --auto|-a) main --auto ;; + --list-all|-l) main --list-all ;; + interactive|"") main interactive ;; + *) echo "Usage: sudo ./autotest.sh [--auto|-a] [--list-all|-l]"; exit 1 ;; esac diff --git a/run_strategy.sh b/run_strategy.sh index 8f14530..ec07943 100755 --- a/run_strategy.sh +++ b/run_strategy.sh @@ -43,6 +43,14 @@ parse_conf_args() { local rule_value="${line#*=}" + # Skip rule if game filter placeholders remain but filter is empty + if [[ "$rule_value" == *'%GAME_TCP%'* ]] && [[ -z "${GameFilterTCP:-}" ]]; then + continue + fi + if [[ "$rule_value" == *'%GAME_UDP%'* ]] && [[ -z "${GameFilterUDP:-}" ]]; then + continue + fi + # Substitute variables using sed (no envsubst dependency) rule_value=$(echo "$rule_value" | sed \ -e "s|%BIN%|$BIN_DIR/|g" \ @@ -53,14 +61,6 @@ parse_conf_args() { # Remove surrounding quotes added by .bat conversion around path args rule_value=$(echo "$rule_value" | sed -E 's/="([^"]*)"/=\1/g') - # Skip rule if game filter placeholders remain but filter is empty - if [[ "$rule_value" == *'%GAME_TCP%'* ]] && [[ -z "${GameFilterTCP:-}" ]]; then - continue - fi - if [[ "$rule_value" == *'%GAME_UDP%'* ]] && [[ -z "${GameFilterUDP:-}" ]]; then - continue - fi - # Parse into array local rule_arr=() read -ra rule_arr <<< "$rule_value" diff --git a/service.sh b/service.sh index 30069ab..cc47f55 100755 --- a/service.sh +++ b/service.sh @@ -67,7 +67,7 @@ show_menu() { echo "" echo " :: TOOLS" echo " 10. Run Diagnostics" - echo " 11. Run Tests" + echo " 11. Run Tests (find ALL working strategies)" echo "" echo " ----------------------------------------" echo " 0. Exit" @@ -126,7 +126,6 @@ service_install() { while IFS= read -r -d '' f; do local name name=$(basename "$f") - # Only list strategy wrappers (general*.sh), skip service/utility scripts [[ "$name" == general*.sh ]] || continue files+=("$f") local desc @@ -155,16 +154,12 @@ service_install() { echo "" echo "[*] Installing strategy: $strategy_name" - # Stop any existing service (internal — no prompts) service_remove_internal > /dev/null 2>&1 || true - # Write strategy marker mkdir -p "$SCRIPT_DIR/.service" echo "$strategy_name" > "$SCRIPT_DIR/.service/installed_strategy" - # Create systemd service file - local service_path="$SYSTEMD_DIR/zapret.service" - cat > "$service_path" < /etc/systemd/system/zapret.service </dev/null 2>&1; then - cp "$service_path" /etc/systemd/system/zapret.service systemctl daemon-reload systemctl enable zapret.service systemctl start zapret.service @@ -204,7 +197,6 @@ EOF # SERVICE REMOVE (internal — no prompts) # ============================================ service_remove_internal() { - # Stop systemd service if command -v systemctl >/dev/null 2>&1; then systemctl stop zapret.service 2>/dev/null || true systemctl disable zapret.service 2>/dev/null || true @@ -212,14 +204,11 @@ service_remove_internal() { systemctl daemon-reload fi - # Kill nfqws pkill -f "nfqws.*qnum=$NFQUEUE_NUM" 2>/dev/null || true sleep 1 - # Cleanup firewall cleanup_firewall - # Remove markers rm -f "$SCRIPT_DIR/.service/installed_strategy" } @@ -245,7 +234,6 @@ service_status() { echo "[*] Service Status" echo "" - # Check systemd if command -v systemctl >/dev/null 2>&1; then if systemctl is-active zapret.service >/dev/null 2>&1; then print_green "zapret.service is RUNNING." @@ -254,14 +242,12 @@ service_status() { fi fi - # Check nfqws process if pgrep -f "nfqws.*qnum=$NFQUEUE_NUM" >/dev/null 2>&1; then print_green "nfqws process is RUNNING." else print_red "nfqws process is NOT running." fi - # Check iptables/nftables rules if nft list table ip $NFT_TABLE >/dev/null 2>&1; then print_green "nftables rules are LOADED." elif iptables -t mangle -L -n 2>/dev/null | grep -q "NFQUEUE"; then @@ -270,7 +256,6 @@ service_status() { print_red "No firewall rules found." fi - # Show strategy local strat strat=$(get_strategy_name) echo "" @@ -382,7 +367,6 @@ hosts_update() { read -rp "Append these entries to /etc/hosts? [y/N]: " ans if [[ "$ans" == [yY]* ]]; then - # Backup /etc/hosts sudo cp /etc/hosts "/etc/hosts.backup.$(date +%s)" echo "" | sudo tee -a /etc/hosts > /dev/null echo "# --- zapret-discord-youtube-linux hosts ---" | sudo tee -a /etc/hosts > /dev/null @@ -455,12 +439,10 @@ service_diagnostics() { echo "[*] Running Diagnostics" echo "" - # Check root/sudo if [[ "$EUID" -ne 0 ]]; then print_yellow "[!] Not running as root. Some checks may fail." fi - # Check nfqws if [[ -x "$BIN_DIR/nfqws" ]]; then print_green "[OK] nfqws binary found" else @@ -468,7 +450,6 @@ service_diagnostics() { echo " Run: ./install_nfqws.sh" fi - # Check iptables/nftables if command -v iptables >/dev/null 2>&1; then print_green "[OK] iptables found" else @@ -481,7 +462,6 @@ service_diagnostics() { print_yellow "[WARN] nftables (nft) NOT found" fi - # Check kernel modules if lsmod | grep -q "nfnetlink_queue"; then print_green "[OK] nfnetlink_queue module loaded" else @@ -489,14 +469,12 @@ service_diagnostics() { echo " Try: sudo modprobe nfnetlink_queue" fi - # Check Secure DNS (systemd-resolved) if command -v resolvectl >/dev/null 2>&1; then echo "" echo "[*] DNS settings:" resolvectl status 2>/dev/null | head -n 20 || true fi - # Check for conflicting processes echo "" echo "[*] Checking for conflicting processes..." if pgrep -f "goodbye-dpi\|byedpi\|zapret-win" >/dev/null 2>&1; then @@ -505,7 +483,6 @@ service_diagnostics() { print_green "[OK] No conflicting processes found" fi - # Offer to clear Discord cache echo "" read -rp "Clear Discord cache? [y/N]: " ans if [[ "$ans" == [yY]* ]]; then @@ -523,23 +500,19 @@ service_diagnostics() { } # ============================================ -# RUN TESTS +# RUN TESTS (menu 11 — finds ALL working strategies) # ============================================ run_tests() { echo "" - echo "[*] Running Tests" + echo "[*] Running strategy tests..." + echo " This will test all strategies against YouTube + Discord." + echo " At the end you'll see a list of ALL working strategies." echo "" - echo " 1. Standard tests (check common sites)" - echo " 2. DPI checkers (Cloudflare, Amazon, etc.)" + read -rp " Press Enter to start or Ctrl+C to cancel..." + + bash "$SCRIPT_DIR/autotest.sh" --list-all + echo "" - read -rp " Select option (1-2): " choice - - case "$choice" in - 1) bash "$UTILS_DIR/test_zapret.sh" standard ;; - 2) bash "$UTILS_DIR/test_zapret.sh" dpi ;; - *) echo "Invalid choice" ;; - esac - read -rp "Press Enter to continue..." } @@ -547,7 +520,6 @@ run_tests() { # MAIN LOOP # ============================================ main() { - # Require root for service management if [[ "${EUID:-$(id -u)}" -ne 0 ]]; then print_red "[!] This script must be run as root (or with sudo)" echo " sudo $0" diff --git a/strategies/ALT.conf b/strategies/ALT.conf index 127d162..99b352c 100644 --- a/strategies/ALT.conf +++ b/strategies/ALT.conf @@ -6,8 +6,8 @@ RULE1=--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%l RULE2=--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 RULE3=--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,fakedsplit --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fakedsplit-pattern=0x00 --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" RULE4=--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake,fakedsplit --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fakedsplit-pattern=0x00 --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" -RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fakedsplit-pattern=0x00 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" +RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fakedsplit-pattern=0x00 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" -RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fakedsplit-pattern=0x00 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-fooling=ts --dpi-desync-fakedsplit-pattern=0x00 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n3 +RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fakedsplit-pattern=0x00 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-fooling=ts --dpi-desync-fakedsplit-pattern=0x00 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n3 diff --git a/strategies/ALT10.conf b/strategies/ALT10.conf index a321c7d..f50f965 100644 --- a/strategies/ALT10.conf +++ b/strategies/ALT10.conf @@ -6,8 +6,8 @@ RULE1=--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%l RULE2=--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 RULE3=--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=none RULE4=--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" -RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_4pda_to.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" +RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" -RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_4pda_to.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_4pda_to.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2 +RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2 diff --git a/strategies/ALT11.conf b/strategies/ALT11.conf index 2ff01da..d8714a3 100644 --- a/strategies/ALT11.conf +++ b/strategies/ALT11.conf @@ -6,8 +6,8 @@ RULE1=--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%l RULE2=--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 RULE3=--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" RULE4=--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" -RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=664 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" +RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=664 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" -RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=664 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-split-seqovl=664 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n4 +RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=664 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-split-seqovl=664 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n4 diff --git a/strategies/ALT2.conf b/strategies/ALT2.conf index a14b6b8..58c5218 100644 --- a/strategies/ALT2.conf +++ b/strategies/ALT2.conf @@ -10,4 +10,4 @@ RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LIST RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-seqovl=652 --dpi-desync-split-pos=2 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-split-seqovl=652 --dpi-desync-split-pos=2 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2 +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2 diff --git a/strategies/ALT3.conf b/strategies/ALT3.conf index 0453d6d..bee2831 100644 --- a/strategies/ALT3.conf +++ b/strategies/ALT3.conf @@ -6,8 +6,8 @@ RULE1=--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%l RULE2=--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 RULE3=--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,hostfakesplit --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-hostfakesplit-mod=host=www.google.com,altorder=1 --dpi-desync-fooling=ts RULE4=--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake,hostfakesplit --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-hostfakesplit-mod=host=www.google.com,altorder=1 --dpi-desync-fooling=ts -RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,hostfakesplit --dpi-desync-fake-tls-mod=rnd,dupsid,sni=ya.ru --dpi-desync-hostfakesplit-mod=host=ya.ru,altorder=1 --dpi-desync-fooling=ts --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" +RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,hostfakesplit --dpi-desync-fake-tls-mod=rnd,dupsid,sni=ya.ru --dpi-desync-hostfakesplit-mod=host=ya.ru,altorder=1 --dpi-desync-fooling=ts --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" -RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,hostfakesplit --dpi-desync-fake-tls-mod=rnd,dupsid,sni=ya.ru --dpi-desync-hostfakesplit-mod=host=ya.ru,altorder=1 --dpi-desync-fooling=ts --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,hostfakesplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=ya.ru --dpi-desync-hostfakesplit-mod=host=ya.ru,altorder=1 --dpi-desync-fooling=ts --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n4 +RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,hostfakesplit --dpi-desync-fake-tls-mod=rnd,dupsid,sni=ya.ru --dpi-desync-hostfakesplit-mod=host=ya.ru,altorder=1 --dpi-desync-fooling=ts --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,hostfakesplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=ya.ru --dpi-desync-hostfakesplit-mod=host=ya.ru,altorder=1 --dpi-desync-fooling=ts --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n4 diff --git a/strategies/ALT4.conf b/strategies/ALT4.conf index 9ec9ed9..89f8d99 100644 --- a/strategies/ALT4.conf +++ b/strategies/ALT4.conf @@ -6,8 +6,8 @@ RULE1=--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%l RULE2=--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 RULE3=--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,multisplit --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=1000 --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" RULE4=--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake,multisplit --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=1000 --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" -RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=1000 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" +RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=1000 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" -RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=1000 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=1000 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2 +RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=1000 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=1000 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2 diff --git a/strategies/ALT5.conf b/strategies/ALT5.conf index d5c4e65..d6d41d2 100644 --- a/strategies/ALT5.conf +++ b/strategies/ALT5.conf @@ -7,4 +7,4 @@ RULE2=--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync RULE3=--filter-l3=ipv4 --filter-tcp=80,443,2053,2083,2087,2096,8443 --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=syndata,multidisorder RULE4=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=syndata,multidisorder --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 RULE5=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" -RULE6=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=14 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n3 +RULE6=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=14 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n3 diff --git a/strategies/ALT6.conf b/strategies/ALT6.conf index 80b44bd..05a6671 100644 --- a/strategies/ALT6.conf +++ b/strategies/ALT6.conf @@ -10,4 +10,4 @@ RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LIST RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2 +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2 diff --git a/strategies/ALT7.conf b/strategies/ALT7.conf index f53bdf5..15008d0 100644 --- a/strategies/ALT7.conf +++ b/strategies/ALT7.conf @@ -10,4 +10,4 @@ RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LIST RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=syndata RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=syndata --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2 +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2 diff --git a/strategies/ALT8.conf b/strategies/ALT8.conf index 028af25..b8dfc02 100644 --- a/strategies/ALT8.conf +++ b/strategies/ALT8.conf @@ -6,8 +6,8 @@ RULE1=--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%l RULE2=--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 RULE3=--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake --dpi-desync-fake-tls-mod=none --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 RULE4=--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake --dpi-desync-fake-tls-mod=none --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 -RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-fake-tls-mod=none --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" +RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-fake-tls-mod=none --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" -RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-fake-tls-mod=none --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-fake-tls-mod=none --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2 +RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-fake-tls-mod=none --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-fake-tls-mod=none --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2 diff --git a/strategies/ALT9.conf b/strategies/ALT9.conf index 15ea341..390ca32 100644 --- a/strategies/ALT9.conf +++ b/strategies/ALT9.conf @@ -10,4 +10,4 @@ RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LIST RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=hostfakesplit --dpi-desync-repeats=4 --dpi-desync-fooling=ts --dpi-desync-hostfakesplit-mod=host=ozon.ru RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=hostfakesplit --dpi-desync-repeats=4 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-fooling=ts --dpi-desync-hostfakesplit-mod=host=ozon.ru -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2 +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2 diff --git a/strategies/FAKE_TLS_AUTO.conf b/strategies/FAKE_TLS_AUTO.conf index 2ca3517..af69f39 100644 --- a/strategies/FAKE_TLS_AUTO.conf +++ b/strategies/FAKE_TLS_AUTO.conf @@ -6,8 +6,8 @@ RULE1=--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%l RULE2=--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 RULE3=--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=0x00000000 --dpi-desync-fake-tls= ! --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com RULE4=--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=0x00000000 --dpi-desync-fake-tls= ! --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com -RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=0x00000000 --dpi-desync-fake-tls= ! --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" +RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=0x00000000 --dpi-desync-fake-tls= ! --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" -RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=0x00000000 --dpi-desync-fake-tls= ! --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multidisorder --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=0x00000000 --dpi-desync-fake-tls= ! --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2 +RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=0x00000000 --dpi-desync-fake-tls= ! --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multidisorder --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=0x00000000 --dpi-desync-fake-tls= ! --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2 diff --git a/strategies/FAKE_TLS_AUTO_ALT.conf b/strategies/FAKE_TLS_AUTO_ALT.conf index 51d3793..5ddf044 100644 --- a/strategies/FAKE_TLS_AUTO_ALT.conf +++ b/strategies/FAKE_TLS_AUTO_ALT.conf @@ -6,8 +6,8 @@ RULE1=--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%l RULE2=--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 RULE3=--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,fakedsplit --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-repeats=8 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com RULE4=--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake,fakedsplit --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-repeats=8 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com -RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-repeats=8 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" +RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-repeats=8 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" -RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-repeats=8 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-repeats=8 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2 +RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-repeats=8 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-repeats=8 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2 diff --git a/strategies/FAKE_TLS_AUTO_ALT2.conf b/strategies/FAKE_TLS_AUTO_ALT2.conf index 5d92da0..e0e70fa 100644 --- a/strategies/FAKE_TLS_AUTO_ALT2.conf +++ b/strategies/FAKE_TLS_AUTO_ALT2.conf @@ -6,8 +6,8 @@ RULE1=--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%l RULE2=--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 RULE3=--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com RULE4=--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com -RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" +RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" -RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2 +RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2 diff --git a/strategies/FAKE_TLS_AUTO_ALT3.conf b/strategies/FAKE_TLS_AUTO_ALT3.conf index 55bc5b0..c47a296 100644 --- a/strategies/FAKE_TLS_AUTO_ALT3.conf +++ b/strategies/FAKE_TLS_AUTO_ALT3.conf @@ -6,8 +6,8 @@ RULE1=--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%l RULE2=--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 RULE3=--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com RULE4=--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com -RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" +RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" -RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n3 +RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n3 diff --git a/strategies/SIMPLE_FAKE.conf b/strategies/SIMPLE_FAKE.conf index f781add..fd02964 100644 --- a/strategies/SIMPLE_FAKE.conf +++ b/strategies/SIMPLE_FAKE.conf @@ -6,8 +6,8 @@ RULE1=--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%l RULE2=--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 RULE3=--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" RULE4=--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" -RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" +RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" -RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n3 +RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n3 diff --git a/strategies/SIMPLE_FAKE_ALT.conf b/strategies/SIMPLE_FAKE_ALT.conf index 6871a67..3387337 100644 --- a/strategies/SIMPLE_FAKE_ALT.conf +++ b/strategies/SIMPLE_FAKE_ALT.conf @@ -6,8 +6,8 @@ RULE1=--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%l RULE2=--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 RULE3=--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" RULE4=--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" -RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" +RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" -RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2 +RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2 diff --git a/strategies/SIMPLE_FAKE_ALT2.conf b/strategies/SIMPLE_FAKE_ALT2.conf index 3edd732..2c32601 100644 --- a/strategies/SIMPLE_FAKE_ALT2.conf +++ b/strategies/SIMPLE_FAKE_ALT2.conf @@ -6,8 +6,8 @@ RULE1=--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%l RULE2=--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 RULE3=--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" RULE4=--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" -RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" +RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" -RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n5 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n3 +RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n5 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_www_google_com.bin" +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n3 diff --git a/strategies/general.conf b/strategies/general.conf index 7427a64..113a6da 100644 --- a/strategies/general.conf +++ b/strategies/general.conf @@ -6,8 +6,8 @@ RULE1=--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%l RULE2=--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 RULE3=--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" RULE4=--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" -RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-seqovl=568 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_4pda_to.bin" +RULE5=--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-seqovl=568 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" RULE6=--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" -RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-seqovl=568 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_4pda_to.bin" -RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-split-seqovl=568 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_4pda_to.bin" -RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2 +RULE7=--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-seqovl=568 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" +RULE8=--filter-tcp=%GAME_TCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-split-seqovl=568 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" +RULE9=--filter-udp=%GAME_UDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2 diff --git a/systemd/zapret.service b/systemd/zapret.service index b5d621c..85d0da7 100644 --- a/systemd/zapret.service +++ b/systemd/zapret.service @@ -1,10 +1,10 @@ [Unit] -Description=Zapret DPI bypass +Description=Zapret DPI bypass (strategy: ALT3) After=network.target [Service] Type=simple -ExecStart=/usr/local/bin/zapret-start.sh +ExecStart=/opt/zapret/run_strategy.sh ALT3 Restart=on-failure RestartSec=5 StandardOutput=journal