PCA Phobos — VPN, который не отключается

Веб-панель и turnkey-установщик для Phobos — обфусцированного WireGuard VPN. Ставится на чистый VPS одной командой, управляет десятками роутеров и устройств с одной страницы, сам переключается между серверами при сбоях и восстанавливается после перезагрузок.

Панель — активные сессии


Что это простыми словами

Обычный VPN падает, когда падает сервер или провайдер банит IP. PCA Phobos — нет.

  • 🌐 Маскированный WireGuard — трафик не отличить от обычного, проходит мимо DPI и блокировок по сигнатуре.
  • 🔁 Авто-переключение между серверами — сервер лёг или порт прикрыли → роутер сам прыгает на резервный за ~1015 секунд, без твоего участия.
  • 📡 Работает за любым NAT — серый IP, мобильный интернет, домашний роутер за провайдером. Управление едет внутри самого защищённого туннеля, поэтому бан публичного IP ему не страшен.
  • 🖥️ Одна команда — новое устройство — создал клиента в панели → вставил команду на роутер → готово.
  • ♻️ Само-восстановление — роутер перезагрузился, провайдер сменил IP, сервис отвалился → система поднимет всё обратно сама.
  • 📱 Телефоны — Android (PhobosWG, с обфускацией) и iPhone (обычный WireGuard) через QR-код.

Возможности

  • Активные сессии — VPN IP, Real IP, метка, handshake, трафик RX/TX, Kick.
  • Клиенты VPN — добавление/удаление, статус online (по handshake на любом сервере), назначение сервера.
  • Мульти-сервер + failover — приоритеты, балансировка по нагрузке (CPU/RAM), резервные серверы; роутеры переключаются автоматически.
  • NAT-friendly управление — роутеры сами тянут конфиг по туннелю (10.25.0.1), переживает бан публичного IP.
  • Авто-восстановление роутеров — серверный сторож (watchdog) поднимает роутер после неудачной перезагрузки через KeenDNS.
  • Конфиги для телефона📱 Android phobos:// + QR, 🍎 iPhone обычный WireGuard + QR.
  • Метки — имя объекта по IP (видно в сессиях и Telegram).
  • Срок подписки — дата окончания, обратный отсчёт, автокик + предупреждения.
  • Telegram-уведомления — подключение/отключение, сервер вверх/вниз, истечение подписки, авто-восстановление.
  • Двуязычный интерфейс RU/EN + подсказки ? у каждого действия.
  • Версии и обновления — обновление и откат прямо из панели.

Скриншоты

Сессии Клиенты Серверы
Сессии Клиенты Серверы

Если картинки не отображаются — положи свои PNG в docs/img/ (sessions.png, clients.png, servers.png).


Быстрый старт (с чистого VPS, одной командой)

Ставит всё со всеми зависимостями: wg-obfuscator, WireGuard, обфускатор-сервисы, веб-панель, nginx, скрипты онбординга роутеров, сторож авто-восстановления. Предустановленный Phobos не требуется.

bash <(curl -fsSL https://raw.githubusercontent.com/andrey271192/PCA_Phobos/main/install.sh)

С параметрами

PANEL_PASS=МойПароль TG_TOKEN=123:abc TG_CHAT=123456789 \
bash <(curl -fsSL https://raw.githubusercontent.com/andrey271192/PCA_Phobos/main/install.sh)
Переменная По умолчанию Описание
PANEL_PASS OcAdmin2026! Пароль панели (логин admin)
PANEL_PORT случайный Порт веб-панели
API_KEY случайный Общий ключ (агенты + pull-токен роутеров)
OBF_PORTS 2083,5443,993 Порты обфускатора
TG_TOKEN/TG_CHAT пусто Telegram-уведомления
ALLOW_PLAIN_WG пусто =1 открыть порт 51820 для iOS WireGuard (без обфускации)

После установки панель напечатает адрес, логин, пароль и API key — сохрани их.

Вторичный сервер (для failover / балансировки)

MAIN_SERVER=<ip_основного> MAIN_API_KEY=<API key из основного> \
bash <(curl -fsSL https://raw.githubusercontent.com/andrey271192/PCA_Phobos/main/server/secondary-setup.sh)

Затем в панели → Серверы → добавь его в список.


Клиенты для телефона

В таблице Клиенты у каждого клиента есть кнопки:

  • 📱 Androidphobos://-ссылка + QR для приложения PhobosWG (с обфускацией). Скан QR → импорт.
  • 🍎 iPhone / iOS — обычный WireGuard-конфиг + QR для официального WireGuard (без обфускации). Требует открытого порта 51820 (ALLOW_PLAIN_WG=1 при установке).

Для каждого устройства создавай отдельного клиента (свой ключ и IP). Один конфиг на двух устройствах = конфликт ключей.


Обновление и откат

Проект версионируется (см. файл VERSION и git-теги vX.Y.Z).

Из панели: Настройки → «Версия и обновления» → Обновить / Откатить.

Из консоли:

phobos-update              # обновить до последней версии
phobos-update v1.1.0       # обновить до конкретной версии (git tag)
phobos-update --rollback   # откатить на предыдущую версию
phobos-update --version    # показать установленную и доступную версию
phobos-update --list       # список бэкапов

Обновляется только слой панели и скриптов. Ключи WireGuard, server.env и клиенты не трогаются. Перед каждым обновлением делается бэкап → откат восстанавливает его.


Возможные проблемы и решения

Симптом Причина Решение
Команда установки → 403 / не качается репозиторий приватный Сделай репозиторий публичным, либо ставь с токеном: GH_TOKEN=ghp_xxx bash <(curl -fsSL -H "Authorization: token ghp_xxx" .../install.sh)
Панель не открывается панель перезапускалась (обновление) / сервер недоступен Подожди 5 сек, обнови страницу. Проверь: systemctl status phobos-panel
Клиент Offline, хотя работает роутер на резервном сервере Норма — статус считается по handshake на любом сервере; обнови страницу
«SSH timeout» при тесте роутера роутер за NAT, входящий SSH закрыт Это нормально — управление идёт по pull-каналу через туннель, SSH не нужен
У роутера нет интернета на LAN-устройствах WG-интерфейс private / нет привязки устройства к политике На роутере: security-level public + ip hotspot host <mac> policy <PolicyName>; health-скрипт чинит это сам в течение ~5 мин
Роутер не поднялся после перезагрузки Entware/USB не запустил автозагрузку Сторож (watchdog) поднимет за ~3 мин (нужны KeenDNS + web-логин роутера в router_access), либо перезагрузи роутер ещё раз
iPhone не подключается по phobos:// на iOS нет приложения-обфускатора Используй 🍎-конфиг (обычный WireGuard) + открой 51820 (ALLOW_PLAIN_WG=1)
Смена сервера применяется не сразу роутер тянет конфиг по cron Применяется за ~1215 сек, не мгновенно
Забыл порт панели случайный порт cat /opt/phobos-panel/.port
Забыл API key grep server_api_key /opt/phobos-panel/settings.json

Логи: journalctl -u phobos-panel -n 50 · сторож: /opt/Phobos/server/watchdog.log · роутер: /opt/etc/Phobos/health.log.


Архитектура

Телефон/Роутер → wg-obfuscator (клиент) ──обфускация──► сервер :2083/5443/993
                                                              │ де-обфускация
                                                         WireGuard :51820
                                                              │ 10.25.0.x
                                                   ┌──────────┴──────────┐
                                              Веб-панель            Failover на
                                              (Flask+Gunicorn)      резервные серверы
  • Протокол: WireGuard + wg-obfuscator (обфускация от DPI).
  • Управление роутерами — по туннелю (10.25.0.1), устойчиво к бану публичного IP.
  • Состояние: JSON-файлы (без БД).

Поддержка проекта

Если PCA Phobos оказался полезен — буду благодарен за поддержку:

На основе и благодарности

PCA Phobos — это веб-панель и turnkey-инсталлятор поверх отличных открытых проектов:

  • Phobos — обфусцированный WireGuard, автор Ground_Zerro. Поддержать: Boosty ❤️
  • WireGuard Easy — веб-панель WireGuard (AGPL-3.0), автор Emile Nijssen. Поддержать: GitHub Sponsors ❤️
  • wg-obfuscator — обфускация WireGuard-трафика (GPL-3.0), автор ClusterM. Поддержать: Boosty ❤️

Спасибо авторам за отличные инструменты.

Description
Web panel for Phobos (obfuscated WireGuard VPN) — sessions, clients, labels, subscriptions, Telegram alerts
Readme 264 KiB
Languages
Shell 60%
Python 40%