Initial commit: zapret-discord-youtube-linux v1.9.8c-linux
This commit is contained in:
@@ -0,0 +1,206 @@
|
||||
# Zapret for Linux (Discord + YouTube)
|
||||
|
||||
Linux-аналог популярного репозитория [Flowseal/zapret-discord-youtube](https://github.com/Flowseal/zapret-discord-youtube) для обхода DPI (Deep Packet Inspection) на Linux.
|
||||
|
||||
## Требования
|
||||
|
||||
- Linux (Ubuntu/Debian, Arch/Manjaro, Fedora и др.)
|
||||
- `iptables` или `nftables`
|
||||
- Ядерный модуль `nfnetlink_queue`
|
||||
- `curl`, `git`, `make`, `gcc`
|
||||
- `sudo` или root-доступ
|
||||
|
||||
## Быстрый старт
|
||||
|
||||
```bash
|
||||
# 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
|
||||
```
|
||||
|
||||
Готово! После этого сервис работает и будет автозапускаться.
|
||||
|
||||
---
|
||||
|
||||
## Полная инструкция (если нужно по шагам)
|
||||
|
||||
```bash
|
||||
# Установка и настройка
|
||||
sudo ./setup.sh # зависимости + сборка nfqws
|
||||
|
||||
# Автоподбор стратегии
|
||||
sudo ./autotest.sh # интерактивный режим
|
||||
sudo ./autotest.sh --auto # автоматический (сразу ставит в systemd)
|
||||
|
||||
# Обновление в будущем
|
||||
sudo ./update.sh # проверить версию, обновить, пересобрать
|
||||
sudo ./update.sh --full-auto # форсировать: пересобрать + перетестить
|
||||
```
|
||||
|
||||
### autotest.sh — автоподбор стратегии (Step 3 автоматизирован!)
|
||||
|
||||
```bash
|
||||
sudo ./autotest.sh
|
||||
```
|
||||
|
||||
**Что делает:**
|
||||
1. Последовательно запускает каждую стратегию (от самой популярной к редким)
|
||||
2. Проверяет доступность YouTube и Discord через `curl`
|
||||
3. Останавливает стратегию и переходит к следующей, если не работает
|
||||
4. Когда находит рабочую — предлагает установить в systemd
|
||||
|
||||
**Автоматический режим (без вопросов):**
|
||||
```bash
|
||||
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)
|
||||
|
||||
```bash
|
||||
# Интерактивный режим — проверяет версию, предлагает обновить,
|
||||
# скачивает новые списки, пересобирает nfqws, перезапускает сервис
|
||||
sudo ./update.sh
|
||||
|
||||
# Автоматический режим (для cron / systemd timer)
|
||||
sudo ./update.sh --auto
|
||||
```
|
||||
|
||||
### 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
|
||||
```
|
||||
|
||||
## Установка в автозагрузку (systemd)
|
||||
|
||||
```bash
|
||||
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 — аналогично оригинальному проекту.
|
||||
|
||||
## Благодарности
|
||||
|
||||
- [bol-van](https://github.com/bol-van) — оригинальный разработчик zapret
|
||||
- [Flowseal](https://github.com/Flowseal) — Windows-обёртка и стратегии
|
||||
Reference in New Issue
Block a user