Зеркало: https://codeberg.org/Lintech/zapret-discord-youtube
Note
Внимание: Этот репозиторий — некоммерческая User-Friendly сборка оригинального проекта zapret.
🔒 Безопасность: Используются оригинальные бинарники с проверяемыми хэшами. Так как zapret — open-source, вы всегда можете самостоятельно собрать бинарники из исходного кода.
⭐ Поддержка проекта: Буду очень рад поставленной звездочке в правом верхнем углу! 🙂
Этот проект распространяется на условиях лицензии MIT. Полный текст лицензии можно найти в файле LICENSE.
Автоматическая установка одной командой:
bash <(curl -s https://raw.githubusercontent.com/kartavkun/zapret-discord-youtube/main/setup.sh)Tip
Если команда выше не работает, попробуйте альтернативный вариант:
bash <(curl -s https://raw.githubusercontent.com/kartavkun/zapret-discord-youtube/main/setup.sh | psub)Что делает скрипт установки:
- ✅ Автоматически определяет ваш дистрибутив Linux
- 📦 Устанавливает необходимые зависимости (wget, git)
- ⬇️ Скачивает последнюю версию zapret с официального репозитория
- 🛠️ Настраивает систему для работы zapret
- 🎯 Предлагает интерактивный выбор конфигурации
Note
Если во время установки вы согласились добавить алиасы (чтобы работал zapret-utils или zapret-config) они станут доступны только в новых сессиях терминала. Чтобы использовать уже в открытом терминале, выполните:
source ~/.bashrc # или ~/.zshrc и т.дImportant
Каждая конфигурация NixOS уникальна, поэтому пример ниже нужно адаптировать под вашу систему. Используйте его только как ориентир.
Note
Для поддержки Flake в NixOS добавьте следующую строку в файл /etc/nixos/configuration.nix (см. подробнее Flakes)
Включите поддержку Flakes в вашем конфиге:
nix.settings.experimental-features = [ "nix-command" "flakes" ];Пример интеграции в ваш flake.nix (можете его поместить в /etc/nixos/flake.nix):
{
description = "NixOS configuration with zapret-discord-youtube";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; # Укажите свою версию NixOS, но не ниже 25.11.
zapret-discord-youtube.url = "github:kartavkun/zapret-discord-youtube";
};
outputs = { self, nixpkgs, zapret-discord-youtube }: {
nixosConfigurations.your-hostname = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
zapret-discord-youtube.nixosModules.withTestTools
{
services.zapret-discord-youtube = {
enable = true;
configName = "general(ALT)"; # Или любой конфиг из папки configs (general, general(ALT), general (SIMPLE FAKE) и т.д.)
# Game Filter: "null" (отключен), "all" (TCP+UDP), "tcp" (только TCP), "udp" (только UDP)
gameFilter = "null"; # или "all", "tcp", "udp"
# Добавляем кастомные домены в list-general-user.txt
listGeneral = [ "example.com" "test.org" "mysite.net" ];
# Добавляем домены в list-exclude-user.txt (исключения)
listExclude = [ "ubisoft.com" "origin.com" ];
# Добавляем IP адреса в ipset-all.txt
ipsetAll = [ "192.168.1.0/24" "10.0.0.1" ];
# Добавляем IP адреса в ipset-exclude-user.txt (исключения)
ipsetExclude = [ "203.0.113.0/24" ];
# Необязательно: пользовательские hostlists и конфиги.
# extraHostlists может содержать несколько файлов.
# Если нужен пример для GitHub, раскомментируйте блок ниже
# и оставьте в configName выбранный вами готовый конфиг.
#
# extraHostlists."list-github.txt" = [
# "github.com"
# "api.github.com"
# "raw.githubusercontent.com"
# "objects.githubusercontent.com"
# "githubusercontent.com"
# "githubassets.com"
# ];
#
# extraHostlists."list-custom.txt" = [
# "example.com"
# "example.org"
# ];
#
# nfqwsAppend = [
# ''--filter-tcp=443 --hostlist="/opt/zapret/hostlists/list-github.txt" --dpi-desync=multisplit --dpi-desync-split-pos=2''
# ];
#
# Для полностью ручного конфига можно создать отдельный файл:
# extraConfigs."my-custom-config" = ''
# NFQWS_ENABLE=1
# NFQWS_OPT="
# --filter-tcp=443 --hostlist="/opt/zapret/hostlists/list-github.txt" --dpi-desync=multisplit --dpi-desync-split-pos=2
# "
# '';
};
}
];
};
};
}Tip
Применение Zapret в сочетании с Encrypted DNS или DNScrypt-proxy также может помочь вам получить доступ к сайтам.
Тестирование стратегий на NixOS:
Так как /nix/store доступен только для чтения, подключите модуль с тестовыми инструментами:
zapret-discord-youtube.nixosModules.withTestToolsПосле nixos-rebuild switch запустите:
sudo zapret-test-strategiesУтилита создаёт временную writable-копию zapret в /run/zapret-discord-youtube-test, пишет логи в /var/log/zapret-discord-youtube-test и после теста возвращает основной сервис. Основные результаты сохраняются в файлах test-zapret-*.txt, а вывод перезапуска zapret — в restart.log.
Если тестовые инструменты не нужны, используйте обычный модуль:
zapret-discord-youtube.nixosModules.defaultПосле установки запустите меню выбора конфигурации:
$HOME/zapret-configs/install.shИли если вы устанавливали alias:
zapret-configДоступные конфигурации:
general— базовая конфигурацияgeneral(ALT)доgeneral(ALT11)— альтернативные вариантыgeneral (FAKE_TLS_AUTO)и варианты — с автогенерацией TLSgeneral (SIMPLE FAKE)— оптимизировано для МГТС
Important
После выбора конфигурации скрипт запустит install_easy.sh, который будет запрашивать подтверждение - просто нажимайте ENTER для принятия значений по умолчанию.
Tip
В некоторых экзотических дистрибутивах может быть такое сообщение:
* checking readonly system
!!! READONLY SYSTEM DETECTED !!!
!!! WILL NOT BE ABLE TO CONFIGURE STARTUP !!!
!!! MANUAL STARTUP CONFIGURATION IS REQUIRED !!!
do you want to continue (default: N) (Y/N)?Выбирайте Y чтобы установить zapret
Список адресов для обхода можно расширить, добавляя их в:
hostlists/list-general-user.txt— для доменов (поддомены автоматически учитываются)hostlists/list-exclude-user.txt— для исключения доменов (если IP сети указан вipset-all.txt, но конкретный домен не надо фильтровать)hostlists/ipset-exclude-user.txt— для исключения IP адресов и подсетей
Быстрое добавление доменов через меню:
Используйте встроенное меню для добавления доменов:
$HOME/zapret-configs/utils-zapret.shВыберите пункт "5. Добавить домен в список" и следуйте подсказкам. Вы можете добавлять:
- Отдельные домены:
example.com - URL:
https://github.com/user/repo(будет извлечёнgithub.com) - Поддомены:
sub.example.com
Для удобного переключения режимов ipset, GameFilter и управления конфигурациями используйте:
$HOME/zapret-configs/utils-zapret.shИли если вы установили alias:
zapret-utilsДоступные функции:
| Функция | Описание |
|---|---|
| IPSet режимы | Переключение между режимами фильтрации (any, none, loaded) |
| GameFilter | Включение/отключение обработки игровых портов с выбором режима (TCP, UDP, TCP+UDP) |
| Обновление IPSet | Загрузка актуального списка IP адресов из репозитория |
| Обновление hosts | Загрузка актуального файла hosts для корректной работы Discord |
| Добавление доменов | Быстрое добавление новых доменов в list-general-user.txt или list-exclude-user.txt |
| Тестирование конфигов | Проверка работоспособности конфигураций |
Режимы IPSet:
loaded— использует полный список доменов и IP (рекомендуется)none— обходит только тестовый IP (минимальная нагрузка, для отладки)any— пустой список (zapret отключен)
GameFilter:
Отключен— игровые порты не обрабатываются (только порт 12)TCP и UDP— обрабатывает игровые порты 1024-65535 для обоих протоколовТолько TCP— обрабатывает игровые порты 1024-65535 только для TCPТолько UDP— обрабатывает игровые порты 1024-65535 только для UDP
Для проверки работоспособности конфигураций используйте меню управления:
$HOME/zapret-configs/utils-zapret.shДля работы тестов нужен установленный lua. Выберите пункт "9. Запустить тесты" и следуйте подсказкам.
Тестер проверяет:
- Доступность целевых сайтов (HTTP, TLS 1.2, TLS 1.3)
- Обход DPI блокировок на различных провайдерах
- Результаты сохраняются в
$HOME/zapret-configs/utils/log/
$HOME/zapret-configs/utils-zapret.shВыберите пункт "6. Обновить файлы проекта". Обновление меняет только файлы в $HOME/zapret-configs.
Warning
Если текущая конфигурация работает идеально, обновляйтесь только если текущая конфигурация перестала работать или вы хотите попробовать новые конфигурации.
Откат на предыдущую версию:
Запустите utils-zapret.sh и выберите пункт "7. Откатить последнее обновление".
Если хотите удалить zapret:
sudo /opt/zapret/uninstall_easy.shХотите добавить обход для других сайтов? Ознакомьтесь с личным руководством от kartavkun. Конструктивная критика и предложения приветствуются!
Частые проблемы:
- Права доступа — запускайте скрипты с правами root
- Бесконечное "подключение" к Discord — запустите
utils-zapret.sh→ пункт 4 (обновить hosts) - Обход не работает / перестал работать — попробуйте следующие шаги:
- Сначала попробуйте альтернативные конфигурации (ALT, FAKE и т.д.) через
$HOME/zapret-configs/install.sh - Обновите IPSet через
utils-zapret.sh→ пункт 4 (обновить IPSet) - Проверьте режим IPSet через
utils-zapret.sh→ пункт 2 (переключить режим IPSet наloaded) - Запустите тесты через
utils-zapret.sh→ пункт 9 (запустить тесты) для диагностики - Если ничего не помогает, попробуйте создать новую конфигурацию на основе одной из существующих
- Сначала попробуйте альтернативные конфигурации (ALT, FAKE и т.д.) через
Important
Стратегии со временем могут переставать работать. Определенная стратегия может работать какое-то время, но со временем она может переставать работать из-за обнаружения. В репозитории представлены множество различных стратегий для обхода. Если ни одна из них вам не помогает, то вам необходимо создать новую, взяв за основу одну из представленных здесь и изменив её параметры.
Для сложных случаев:
- Вопросы по Linux: оригинальный репозиторий zapret
- Вопросы по Windows: репозиторий Flowseal
- ⭐ Поставить звездочку репозиторию (вверху страницы)
- 💰 Поддержать разработчика
- 🐛 Сообщить о багах и предложить улучшения
Поддержите оригинального разработчика zapret: bol-van/zapret#590
- @bol-van — создатель оригинального zapret
- @Flowseal — за конфигурации для Windows и Linux
- Сообществу — за тестирование и обратную связь
🚀 Наслаждайтесь свободным интернетом!