| GET | `/api/active` | — | Действующие правила из `all-routes.json` (ставит `route-update.sh`) |
| GET | `/api/export/groups` | — | Группы с числом IP и именами списков |
| GET | `/api/export` | — (query) | Resolved IP — см. ниже |
| POST | `/api/check` | `{domain}` | **Проверка домена через шлюзы** — см. ниже |
Группы (`/api/export/groups`): `cloudflare-warp, dgw, egw, gre, hetzner, ogw, zapret`.
## Read-only (безопасно, можно свободно дёргать)
```bash
B=http://igw.etersoft.ru
curl -s$B/api/status
curl -s$B/api/list
curl -s$B/api/active
curl -s$B/api/export/groups
curl -s$B/api/googlevideo
```
## Проверка блокировки (главный тест-эндпоинт)
`POST /api/check {domain}` — прогоняет домен/URL через шлюзы обхода последовательно (curl через SOCKS5). Результат/скорость по каждому шлюзу.
```bash
# JSON-ответ целиком:
curl -s-X POST http://igw.etersoft.ru/api/check \
-H'Content-Type: application/json'\
-H'Accept: application/json'\
-d'{"domain":"youtube.com"}'
# SSE-стрим (по мере проверки каждого шлюза):
curl -sN-X POST http://igw.etersoft.ru/api/check \
-H'Content-Type: application/json'\
-H'Accept: text/event-stream'\
-d'{"domain":"youtube.com"}'
```
Это **активная проверка** — может быть долгой (перебор шлюзов).
## Write-эндпоинты (меняют списки)
`/api/add`, `/api/remove`, `/api/move`, `/api/googlevideo` правят list-файлы. Изменения применяются **не мгновенно** — `route-update.sh` по таймеру (~300s цикл). После правки проверь:
```bash
curl -s http://igw.etersoft.ru/api/status # pending=true пока не применилось
- Check site blocking: `curl -s -X POST http://igw.etersoft.ru/api/check -H 'Content-Type: application/json' -d '{"domain":"example.com"}'`
## igw Route Management API → отдельный skill
Управление списками bypass/direct/geo, проверка блокировки сайта, экспорт маршрутов — это **HTTP API**, см. skill **`/igw-api`** (самодок `http://igw.etersoft.ru/api/openapi.json`, порт 80).
## route-update.sh
- Location: `/root/etersoft-admin-essential/router/route-update.sh` on igw