Ports the channel UI to stable so users who installed the open stable version can paste their subscriber token (save_token) and switch to beta/dev straight from Настройки → Версия и обновления. Adds gh_token_present/save_gh_token helpers and stable/beta/dev quick buttons. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
PCA Phobos — VPN, который не отключается
Веб-панель и turnkey-установщик для Phobos — обфусцированного WireGuard VPN. Ставится на чистый VPS одной командой, управляет десятками роутеров и устройств с одной страницы, сам переключается между серверами при сбоях и восстанавливается после перезагрузок.
Что это простыми словами
Обычный VPN падает, когда падает сервер или провайдер банит IP. PCA Phobos — нет.
- 🌐 Маскированный WireGuard — трафик не отличить от обычного, проходит мимо DPI и блокировок по сигнатуре.
- 🔁 Авто-переключение между серверами — сервер лёг или порт прикрыли → роутер сам прыгает на резервный за ~10–15 секунд, без твоего участия.
- 📡 Работает за любым 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 + подсказки
?у каждого действия. - Версии и обновления — обновление и откат прямо из панели.
- Уведомления per-client — 🔔 у каждого клиента: включить/выключить Telegram-оповещения о подключении/отключении.
- Telegram-бот — управление клиентами командами прямо из чата:
/add <имя>— создать клиента (бот пришлёт команду установки)/del <имя>— удалить клиента/list— список клиентов- Кнопки — постоянная клавиатура: ➕ Создать клиента · 📋 Список · 🗑 Удалить (инлайн-выбор) · 📊 Статус · ❓ Помощь.
(Работает только для чата из настроек
tg_chat_id.)
Скриншоты
| Сессии | Клиенты | Серверы |
|---|---|---|
![]() |
![]() |
![]() |
Если картинки не отображаются — положи свои 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 (без обфускации) |
CHANNEL |
stable |
канал: stable (открытый) · beta/dev (под ключом PHOBOS_KEY) |
После установки панель напечатает адрес, логин, пароль и API key — сохрани их.
Каналы:
- stable — стабильная (ветка
main), ставится без ключа, по умолчанию.- beta — кандидат в релиз (тест), под ключом подписчика.
- dev — активная разработка (нестабильно), под ключом подписчика.
Ключ
PHOBOS_KEYвыдаётся по подписке Boosty. Закрытый канал:PHOBOS_KEY=ваш_ключ CHANNEL=dev bash <(curl -fsSL https://raw.githubusercontent.com/andrey271192/PCA_Phobos/main/install.sh)Переключение после установки:
phobos-update stable(без ключа) ·PHOBOS_KEY=... phobos-update beta|dev· статус:phobos-update --check.
Вторичный сервер (для failover / балансировки)
MAIN_SERVER=<ip_основного> MAIN_API_KEY=<API key из основного> \
bash <(curl -fsSL https://raw.githubusercontent.com/andrey271192/PCA_Phobos/main/server/secondary-setup.sh)
Затем в панели → Серверы → добавь его в список.
Клиенты для телефона
В таблице Клиенты у каждого клиента есть кнопки:
- 📱 Android —
phobos://-ссылка + QR для приложения PhobosWG (с обфускацией). Скан QR → импорт. - 🍎 iPhone / iOS — обычный WireGuard-конфиг + QR для официального WireGuard (без обфускации). Требует открытого порта 51820 (
ALLOW_PLAIN_WG=1при установке).
Для каждого устройства создавай отдельного клиента (свой ключ и IP). Один конфиг на двух устройствах = конфликт ключей.
Приложения:
- Android (PhobosWG): автор пока не публикует APK официально. Положи
.apkна сервер в/opt/Phobos/www/app/PhobosWG.apk— панель сама покажет кнопку «Скачать приложение PhobosWG» на странице Android-клиента (раздаётся поhttp://<сервер>/app/PhobosWG.apk). - iPhone (iOS): официальный WireGuard из App Store — кнопка есть на странице iOS-клиента.
Обновление и откат
Проект версионируется (см. файл 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 | Применяется за ~12–15 сек, не мгновенно |
| Забыл порт панели | случайный порт | 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 оказался полезен — буду благодарен за поддержку:
- 💖 Boosty: boosty.to/andrey27/donate
- 💳 Ozon Bank (СБП): ссылка
- ✉️ Telegram: @PCAdministration — вопросы, баги, идеи
На основе и благодарности
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 ❤️
Спасибо авторам за отличные инструменты.


