Stitch505 7aeb16856d refactor: module-based strategy architecture
- Add sync_from_upstream.sh: clones Flowseal repo, merges lists/hosts, auto-detects new .bat strategies
- Add strategies/*.conf config files (extracted from .bat)
- Rewrite run_strategy.sh: loads .conf, substitutes %BIN%/%LISTS%/%GAME_*% using sed (no envsubst)
- Rewrite update.sh: pipeline is now sync→rebuild→test→install
- Add ensure_wrappers.sh: auto-creates general_*.sh wrappers from .conf
- Fix all 'local outside function' runtime bugs
- install.sh now calls sync_from_upstream.sh first
2026-05-10 19:46:14 +04:00

Zapret for Linux (Discord + YouTube)

Linux-аналог популярного репозитория Flowseal/zapret-discord-youtube для обхода DPI (Deep Packet Inspection).


Быстрый старт (для ленивых)

# Ubuntu / Debian / Mint
sudo apt update && sudo apt install -y git

# Arch / Manjaro
sudo pacman -Syu --noconfirm git

# Fedora
sudo dnf install -y git

# --- Дальше одинаково для всех дистрибутивов ---
cd /opt
sudo git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret
cd zapret
sudo ./install.sh

После ./install.sh сервис запущен и будет автозапускаться.


Установка по дистрибутивам

Ubuntu / Debian / Linux Mint / Pop!_OS / Zorin OS / Kali

# 1. Установка зависимостей
sudo apt update
sudo apt install -y git curl make gcc iptables nftables libnetfilter-queue-dev

# 2. Клонирование
cd /opt
sudo git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret
cd zapret

# 3. Полный автоматический установщик
sudo ./install.sh

Arch Linux / Manjaro / EndeavourOS / Garuda / Artix

# 1. Установка зависимостей
sudo pacman -Syu --noconfirm git curl make gcc iptables nftables libnetfilter_queue

# 2. Клонирование
cd /opt
sudo git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret
cd zapret

# 3. Полный автоматический установщик
sudo ./install.sh

Fedora / RHEL / CentOS / AlmaLinux / Rocky Linux

# 1. Установка зависимостей
sudo dnf install -y git curl make gcc iptables nftables libnetfilter_queue-devel

# 2. Клонирование
cd /opt
sudo git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret
cd zapret

# 3. Полный автоматический установщик
sudo ./install.sh

Alpine Linux

# 1. Установка зависимостей
sudo apk add --no-cache git curl make gcc iptables nftables libnetfilter_queue-dev linux-headers

# 2. Клонирование
cd /opt
sudo git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret
cd zapret

# 3. Полный автоматический установщик
sudo ./install.sh

Gentoo / Funtoo

# 1. Установка зависимостей (через emerge)
sudo emerge --ask dev-vcs/git net-misc/curl sys-devel/gcc sys-devel/make net-firewall/iptables net-firewall/nftables
# libnetfilter_queue: https://wiki.gentoo.org/wiki/Iptables

# 2. Клонирование
cd /opt
sudo git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret
cd zapret

# 3. Полный автоматический установщик
sudo ./install.sh

openSUSE / SUSE

# 1. Установка зависимостей
sudo zypper install -y git curl make gcc iptables nftables libnetfilter_queue-devel

# 2. Клонирование
cd /opt
sudo git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret
cd zapret

# 3. Полный автоматический установщик
sudo ./install.sh

Void Linux

# 1. Установка зависимостей
sudo xbps-install -Sy git curl make gcc iptables nftables libnetfilter_queue-devel

# 2. Клонирование
cd /opt
sudo git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret
cd zapret

# 3. Полный автоматический установщик
sudo ./install.sh

NixOS

# 1. Войдите в nix-shell с зависимостями
nix-shell -p git curl gnumake gcc iptables nftables libnetfilter_queue

# 2. Клонирование
cd /opt
sudo git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret
cd zapret

# 3. Полный автоматический установщик
sudo ./install.sh

Что делает ./install.sh

  1. Установка зависимостейgit, make, gcc, curl, iptables/nftables, libnetfilter_queue
  2. Сборка nfqws — компиляция из исходников bol-van/zapret
  3. Автотест стратегий — перебирает 20 стратегий, пока не найдёт рабочую для вашего провайдера
  4. Установка systemd-сервиса — автозапуск при загрузке системы

Ручное управление

Если автоматика не подошла, можно всё делать руками:

cd /opt/zapret

# Найти рабочую стратегию вручную
sudo ./general.sh        # если не работает — Ctrl+C
sudo ./general_ALT.sh    # пробуем следующую
# ... пробуем ./general_ALT2.sh, ./general_ALT3.sh и т.д.

# Или автотест (не ставит в systemd)
sudo ./autotest.sh

# Управление: меню, автообновление, диагностика
sudo ./service.sh

# Обновление в будущем: проверка → сборка → тест → установка
sudo ./update.sh              # интерактивно
sudo ./update.sh --full-auto  # полностью автоматически

Стратегии (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

Как подобрать рабочую: запускайте по очереди, пока Discord и YouTube не откроются. Скорость настройки зависит от провайдера и блокировок.

Быстрее всего авто-подберёт: sudo ./autotest.sh.


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         — вкл/выкл обход для UDP/TCP портов >1024
   5. IPSet Filter        — none / loaded / any
   6. Auto-Update Check   — вкл/выкл автообновление

:: UPDATES
   7. Update IPSet List  — обновить ipset-all.txt
   8. Update Hosts File  — показать новые записи hosts
   9. Check for Updates   — проверить версию на GitHub

:: TOOLS
   10. Run Diagnostics    — проверка зависимостей, модулей, DNS
   11. Run Tests          — тест доступности Discord/YouTube

update.sh — автообновление и автосборка

sudo ./update.sh              # интерактивно: проверит версию, обновит, соберёт, протестирует
sudo ./update.sh --auto       # для cron: тихий режим, только если есть обновление
sudo ./update.sh --full-auto  # форсировать пересборку + перетестирование
sudo ./update.sh --help       # справка

systemd таймер для ежедневного автообновления:

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

Установка в автозагрузку (вручную)

Если install.sh автоматику не прошёл:

sudo cp systemd/zapret.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable zapret.service
sudo systemctl start zapret.service

Secure DNS (рекомендуется)

Chrome: chrome://settings/security → Secure DNS → https://dns.google/dns-query

Firefox: about:preferences#privacy → DNS-over-HTTPS → Максимальная защита

systemd-resolved:

sudo resolvectl dns eth0 1.1.1.1
sudo resolvectl dns-over-tls eth0 yes

NetworkManager:

nmcli connection modify 'Ваше подключение' ipv4.dns '1.1.1.1'
nmcli connection up 'Ваше подключение'

Структура проекта

.
├── bin/                          # nfqws + fake-пакеты (собирается автоматически)
├── lib/
│   └── functions.sh              # Общие функции (firewall, цвета, cleanup)
├── lists/                        # Списки доменов и IP (обновляются из GitHub)
├── utils/
│   ├── test_zapret.sh            # Тесты доступности
│   └── targets.txt               # Цели для теста
├── systemd/
│   ├── zapret.service            # Основной unit
│   ├── zapret-update.service     # Unit для автообновления
│   └── zapret-update.timer       # Таймер ежедневного обновления
├── .service/                     # Runtime-конфигурация
├── general*.sh                   # 20 обёрток стратегий
├── run_strategy.sh               # Единый движок стратегий
├── autotest.sh                   # Автоподбор рабочей стратегии
├── install.sh                    # Полный установщик: setup + build + autotest + systemd
├── service.sh                    # Меню управления (аналог service.bat)
├── setup.sh                      # Начальная настройка
├── install_nfqws.sh             # Сборка nfqws из бол-ван/zapret
└── update.sh                      # Автообновление: проверка → сборка → тест → установка

Требования

  • Linux с iptables или nftables
  • Ядерный модуль nfnetfilter_queue (загружается автоматически)
  • curl для скачивания списков и fake-пакетов
  • git, make, gcc для сборки nfqws
  • sudo или root-доступ

Лицензия

MIT License — аналогично оригинальному проекту.

Благодарности:

  • bol-van — оригинальный разработчик zapret
  • Flowseal — Windows-обёртка и стратегии
Description
No description provided
Readme 309 KiB
Languages
Shell 100%