12 KiB
Executable File
Zapret for Linux (Discord + YouTube + GitHub + Telegram + Steam)
Linux-аналог популярного репозитория Flowseal/zapret-discord-youtube для обхода DPI (Deep Packet Inspection).
Ключевая фича: sync_from_upstream.sh — автоматическое слежение за оригинальным Windows-репозиторием. При обновлении Flowseal скрипт сам скачает новые списки доменов, hosts и авто-конвертирует новые .bat стратегии в Linux-формат.
Быстрый старт (рекомендуемый workflow)
# 1. Клонирование
cd /opt
git clone https://giteas.stitch505.su/Stitch505/zapret-discord-youtube-linux.git zapret
cd zapret
# 2. Запуск меню управления
sudo ./service.sh
В открывшемся меню:
- Нажмите
11(Run Tests) — скрипт автоматически проверит все стратегии (general, ALT, ALT2, ALT3...) против YouTube и Discord и покажет список ВСЕХ рабочих. - После тестов нажмите
1(Install Service) и выберите номер понравившейся стратегии из списка. - Сервис установлен и будет автозапускаться при загрузке.
:: 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
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
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
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
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
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
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
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
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 кажется сложным, можно запустить всё одной командой:
sudo ./install.sh
Он автоматически:
- Соберёт nfqws
- Запустит тесты
- Установит первую рабочую стратегию в 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:
sudo ./service.sh→11→ ждёте завершения тестов → видите список рабочих стратегий1→ вводите номер нужной стратегии → сервис установлен3→ проверяете, что сервис запущен- Открываете браузер:
youtube.com,discord.com
Если стратегия перестала работать:
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 |
Ручной тест всех стратегий:
sudo ./autotest.sh # интерактивно: тестит все и показывает рабочие
sudo ./autotest.sh --auto # автомат: найдёт и сразу установит первую рабочую
Ручной запуск конкретной стратегии (без systemd):
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 заблокирован в РФ. Установщик автоматически использует прокси/зеркала, но рекомендуется:
-
Если есть VPN/прокси:
export HTTPS_PROXY=socks5://127.0.0.1:1080 sudo ./install.sh -
Если нет VPN на целевой машине — подготовьте офлайн-пакет:
# На машине С интернетом (с VPN): cd /opt/zapret proxychains ./prepare_offline_bundle.sh # Перенесите zapret-discord-youtube-linux-bundle.tar.gz # на целевую машину, распакуйте и: sudo ./install.sh --offline -
Если установка падает на скачивании:
- Проверьте
.env.example→ создайте.envсGITHUB_PROXY=...
- Проверьте
update.sh — автообновление
# Полный 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:
sudo ./update.sh --full-auto
# Пересобирает с -O0 (без оптимизаций)
Стратегия перестала работать:
sudo ./service.sh
# 2 — Remove Services
# 11 — Run Tests (перетестировать все)
# 1 — Install Service (выбрать другую)
Discord не работает, хотя YouTube работает:
# Добавьте домены в пользовательский список
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 работает, но страница грузится медленно:
sudo ./service.sh
# 6 — Auto-Update Check → вкл
# 9 — Check for Updates → обновить стратегии
Автор и лицензия
Linux-адаптация: Stitch505
Оригинальные стратегии: Flowseal
Движок nfqws: bol-van/zapret
MIT License.