Загрузка данных


Установка и настройка **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=...` и перезапустить сервис.