# QuatrVPN на OpenWrt (роутер)

VPN на роутере — весь домашний Wi‑Fi идёт через QuatrVPN без настройки каждого устройства.

## Вариант A: sing-box на роутере

### 1. Установите sing-box

```bash
opkg update
opkg install sing-box
```

На ImmortalWrt / iStoreOS пакет может называться `sing-box` или быть в разделе «Сервисы» LuCI.

### 2. Скопируйте конфиг

На OpenWrt **нет SFTP** — используйте legacy SCP или pipe:

```bash
# С вашего компьютера (из папки с конфигом)
scp -O client-macos.json root@192.168.1.1:/etc/sing-box/config.json
```

Или:

```bash
ssh root@192.168.1.1 "mkdir -p /etc/sing-box"
ssh root@192.168.1.1 "cat > /etc/sing-box/config.json" < client-macos.json
```

### 3. Настройте TUN для OpenWrt

Откройте `/etc/sing-box/config.json` на роутере и в секции `inbounds` → `tun` добавьте:

```json
"auto_redirect": true
```

Это нужно для интеграции с **fw4/nftables** — без этого TUN поднимется, но трафик LAN не пойдёт через VPN.

### 4. Запустите

```bash
/etc/init.d/sing-box enable
/etc/init.d/sing-box restart
/etc/init.d/sing-box status
```

### 5. Проверка

С любого устройства в Wi‑Fi откройте https://ifconfig.me — IP должен быть IP VPN-сервера.

---

## Вариант B: PassWall2 (через веб-интерфейс)

Если на роутере установлен **PassWall2**:

1. LuCI → **Services** → **PassWall2**.
2. **Узлы** → **Добавить** → **Добавить из буфера обмена**.
3. Вставьте `vless://...` из личного кабинета.
4. При необходимости добавьте резервную ноду `hysteria2://...`.
5. Назначьте узел основным и включите службу.

> PassWall2 не использует файл `client-*.json` целиком — только URI-ссылки.

---

## Вариант C: OpenClash / ShellCrash

- **OpenClash** — нужен clash-формат; импортируйте URI или конвертируйте конфиг.
- **ShellCrash** — добавьте подписку / ноду через встроенный мастер.

Для QuatrVPN проще всего добавить `vless://...` вручную как отдельную ноду.

---

## Частые проблемы на OpenWrt

| Симптом | Решение |
|---------|---------|
| `sftp-server: not found` при scp | Используйте `scp -O` или pipe через ssh |
| TUN up, но интернет не идёт | Добавьте `"auto_redirect": true` в tun inbound |
| sing-box падает | Проверьте `logread -e sing-box` |

[← Все устройства](README.md) · [Устранение неполадок](troubleshooting.md)
