Установка и настройка **zapret** на Linux Mint (на базе Ubuntu) делается через официальный скрипт быстрой установки `install_easy.sh`.
Ниже приведена пошаговая инструкция:
---
### Шаг 1. Установка необходимых утилит
Откройте терминал (`Ctrl + Alt + T`) и установите пакеты, необходимые для сборки и работы:
```bash
sudo apt update
sudo apt install git curl iptables nftables build-essential libnetfilter-queue-dev libpcap-dev zlib1g-dev -y
```
---
### Шаг 2. Скачивание zapret
Склонируйте официальный репозиторий:
```bash
git clone --depth=1 https://github.com/bol-van/zapret.git
cd zapret
```
---
### Шаг 3. Запуск автоматического установщика
Запустите скрипт установки от имени суперпользователя:
```bash
sudo ./install_easy.sh
```
В процессе скрипт будет задавать вопросы. Рекомендуемые ответы для обычного ПК:
1. **Firewall type**: Выберите `nftables` (обычно по умолчанию) или `iptables`.
2. **IPv6**: Если провайдер не предоставляет IPv6, можно отключить или оставить `Y` (по умолчанию).
3. **Mode**: Выберите **`nfqws`** (самый гибкий режим, необходим для Discord и YouTube).
4. **Filtering mode**: Выберите `none` (обрабатывать весь трафик) или `autohostlist` (добавлять заблокированные сайты в список автоматически при сбоях соединения). Для новичков проще всего выбрать стандартный вариант, предложенный установщиком.
5. **Enable systemd service**: Ответьте `Y`, чтобы zapret автоматически запускался при включении компьютера.
Скрипт автоматически скомпилирует бинарники, создаст сервис и установит рабочую папку в `/opt/zapret`.
---
### Шаг 4. Настройка под Discord (голосовые каналы и звонки)
Текстовый Discord работает по обычному HTTPS, а вот **голосовая связь использует протокол UDP**. Чтобы голос работал стабильно, нужно проверить настройки в файле конфигурации.
1. Откройте конфигурационный файл:
```bash
sudo nano /opt/zapret/config
```
2. Убедитесь, что для UDP включен перехват (параметр `NFQWS_ENABLE_UDP=1` или присутствуют порты голосовой связи Discord `50000:65535` в `NFQWS_PORTS_UDP`).
3. В зависимости от вашего провайдера стратегии могут отличаться. В конфиге параметры `NFQWS_OPT_DESYNC` и `NFQWS_OPT_DESYNC_QUIC` отвечают за обход DPI. Если голос в Discord не подключается (висит «Подключение к RTC» / «Подключение к маршруту»), обычно помогает добавление стратегий для UDP вроде:
```text
NFQWS_OPT_DESYNC_UDP="--dpi-desync=fake --dpi-desync-repeats=6"
```
*(Сохранить файл в nano: `Ctrl + O` -> `Enter`, выйти: `Ctrl + X`)*
4. Перезапустите сервис zapret после изменений:
```bash
sudo systemctl restart zapret
```
---
### Шаг 5. Проверка статуса и управление
* Проверить статус работы службы:
```bash
sudo systemctl status zapret
```
* Остановить:
```bash
sudo systemctl stop zapret
```
* Запустить:
```bash
sudo systemctl start zapret
```
---
### Если что-то не работает (подбор параметров):
Если Discord или сайты все еще не открываются, внутри папки zapret есть встроенная утилита для тестирования и подбора рабочей для вашего провайдера стратегии:
```bash
cd zapret
sudo ./blockcheck.sh
```
Она протестирует различные комбинации флагов (fake, split2, disorder и т.д.) и покажет, какая стратегия успешно пробивает блокировку у вашего провайдера. Затем найденные флаги достаточно вставить в `/opt/zapret/config` в строку `NFQWS_OPT_DESYNC=...` и перезапустить сервис.