Направление включает два тесно связанных проекта на одном хосте mirkwood.4gain.pro (94.25.50.91):
Это один сервер с двумя приложениями, разделение чисто логическое — у каждого свой репозиторий, БД и набор systemd-юнитов, но они общаются между собой через REST API.
qos.confWhiteBox (dep816.ru)
│ shared/vpn_client.py (HTTP, X-API-Key)
▼
AmneziaWGStatistic API (порт 5001, /api/v1/*)
│
├── управление пользователями VPN
├── биллинг (Plan / Subscription / Payment)
├── проверка пароля admin (для входа в /admin dep816.ru)
└── получение статуса подключений / трафика
WhiteBox — тонкий клиент над VPN API. Своих VPN-таблиц у него нет (wb_users, wb_connections отсутствуют) — состояние пользователя строится на лету через VpnClient.
API-ключ WhiteBox для AWG: whitebox-internal-key (раздел api_keys в config.yml AWG, файл на сервере /opt/AmneziaWGStatistic/config.yml).
94.25.50.91, VM на proxmox-кластере zilim. Debian. Прод обоих проектов.10.9.0.0/21 на интерфейсе awg1 (потолок ~2000 юзеров, мониторить заполнение).172.30.0.0/16 (wb-labs).dns_query_log).См. отдельную справку: SSL и Telegram routing. Главное:
dep816.ru: RSA (не ECDSA), Let's Encrypt R12, два домена (dep816.ru + www.dep816.ru).awg0 (маршруты 149.154.160.0/20 и 91.108.0.0/16).ssh root@94.25.50.91 # mirkwood
Прямой root-доступ. forGain jump-host (duck.4gain.pro:21150) для mirkwood не нужен — это самостоятельный VPS.
71364922 (tatarnikov), 7641845814 (lev). Список — config.yml → web.admin_telegram_ids.mirkwood.4gain.pro числится во forGain inventory (group cloud_guests), но содержательно — отдельный проект. Inter-server туннели mirkwood ↔ exit-нод (nugush/syun/sakmara) живут в forGain VPN; пользовательский AWG (awg1, 10.9.0.0/21) — это уже WhiteBox.
Changelog