80e0a116e1fe917777d566e64f79d9ab2b75d818
Zapret for Linux (Discord + YouTube)
Linux-аналог популярного репозитория Flowseal/zapret-discord-youtube для обхода DPI (Deep Packet Inspection) на Linux.
Требования
- Linux (Ubuntu/Debian, Arch/Manjaro, Fedora и др.)
iptablesилиnftables- Ядерный модуль
nfnetlink_queue curl,git,make,gccsudoили root-доступ
Быстрый старт
# 1. Клонировать репозиторий
cd /opt
sudo git clone https://github.com/YOUR_USERNAME/zapret-discord-youtube-linux.git zapret
sudo chown -R $(whoami) zapret
cd zapret
# 2. ОДИН СКРИПТ — всё сделает автоматически:
# установка, сборка, тест, подбор стратегии, systemd-сервис
sudo ./install.sh
Готово! После этого сервис работает и будет автозапускаться.
Полная инструкция (если нужно по шагам)
# Установка и настройка
sudo ./setup.sh # зависимости + сборка nfqws
# Автоподбор стратегии
sudo ./autotest.sh # интерактивный режим
sudo ./autotest.sh --auto # автоматический (сразу ставит в systemd)
# Обновление в будущем
sudo ./update.sh # проверить версию, обновить, пересобрать
sudo ./update.sh --full-auto # форсировать: пересобрать + перетестить
autotest.sh — автоподбор стратегии (Step 3 автоматизирован!)
sudo ./autotest.sh
Что делает:
- Последовательно запускает каждую стратегию (от самой популярной к редким)
- Проверяет доступность YouTube и Discord через
curl - Останавливает стратегию и переходит к следующей, если не работает
- Когда находит рабочую — предлагает установить в systemd
Автоматический режим (без вопросов):
sudo ./autotest.sh --auto
Ручной режим: тестирует, показывает результат, ждёт подтверждения для установки.
| Параметр | Описание |
|---|---|
--auto или -a |
Найти рабочую стратегию и сразу установить в systemd |
| без параметров | Интерактивный режим с меню |
Структура проекта
.
├── bin/ # nfqws + fake-пакеты
├── lib/
│ └── functions.sh # Общие функции (firewall, цвета)
├── lists/
│ ├── list-general.txt # Основные домены (Discord, Cloudflare, etc.)
│ ├── list-google.txt # Google/YouTube домены
│ ├── list-exclude.txt # Исключения (Twitch, VK, банки...)
│ ├── ipset-all.txt # IP-диапазоны
│ └── ipset-exclude.txt # IP-исключения
├── utils/
│ ├── test_zapret.sh # Тесты доступности сайтов
│ └── targets.txt # Список тестовых URL
├── systemd/
│ └── zapret.service # systemd unit
├── .service/
│ ├── version.txt # Текущая версия
│ ├── installed_strategy # Установленная стратегия
│ ├── game_filter_enabled # Флаг game filter
│ └── check_updates_enabled # Флаг автообновления
├── general*.sh # Скрипты стратегий
├── autotest.sh # Автоподбор рабочей стратегии
├── install.sh # Полный установщик: setup + build + autotest + systemd
├── run_strategy.sh # Единый запускатель стратегий
├── service.sh # Меню управления (аналог service.bat)
├── setup.sh # Начальная настройка
├── install_nfqws.sh # Сборка nfqws из bol-van/zapret
└── update.sh # Автообновление: проверка → сборка → тест → установка
Стратегии (general*.sh)
Каждый general*.sh — это обёртка над run_strategy.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 |
Как подобрать рабочую стратегию: запускайте разные general*.sh и проверяйте открывается ли Discord/YouTube. Когда найдёте рабочую — установите через service.sh → Install Service.
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 — тест сайтов или DPI checker
Автообновление (update.sh)
# Интерактивный режим — проверяет версию, предлагает обновить,
# скачивает новые списки, пересобирает nfqws, перезапускает сервис
sudo ./update.sh
# Автоматический режим (для cron / systemd timer)
sudo ./update.sh --auto
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
Установка в автозагрузку (systemd)
sudo cp systemd/zapret.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable zapret.service
sudo systemctl start zapret.service
Пользовательские списки
При первом запуске автоматически создаются:
lists/list-general-user.txt— добавляйте свои доменыlists/list-exclude-user.txt— домены-исключенияlists/ipset-exclude-user.txt— IP-исключения
Secure DNS
Рекомендуется включить DNS-over-HTTPS:
- Chrome:
chrome://settings/security→ Secure DNS - Firefox:
about:preferences#privacy→ DNS-over-HTTPS - Система (systemd-resolved):
resolvectl dns eth0 1.1.1.1
Лицензия
MIT License — аналогично оригинальному проекту.
Благодарности
Description
Languages
Shell
100%