21 KiB
PCA Phobos — VPN, который не отключается
Веб-панель и turnkey-установщик для Phobos — обфусцированного WireGuard VPN. Ставится на чистый VPS одной командой, управляет десятками роутеров и устройств с одной страницы, сам переключается между серверами при сбоях и восстанавливается после перезагрузок.
Что это простыми словами
Обычный VPN падает, когда падает сервер или провайдер банит IP. PCA Phobos — нет.
- 🌐 Маскированный WireGuard — трафик не отличить от обычного, проходит мимо DPI и блокировок по сигнатуре.
- 🔁 Авто-переключение между серверами — сервер лёг или порт прикрыли → роутер сам прыгает на резервный за ~10–15 секунд, без твоего участия.
- 📡 Работает за любым NAT — серый IP, мобильный интернет, домашний роутер за провайдером. Управление едет внутри самого защищённого туннеля, поэтому бан публичного IP ему не страшен.
- 🖥️ Одна команда — новое устройство — создал клиента в панели → вставил команду на роутер → готово.
- ♻️ Само-восстановление — роутер перезагрузился, провайдер сменил IP, сервис отвалился → система поднимет всё обратно сама.
- 📱 Телефоны — своё приложение PCA Phobos VPN для Android (обфускация + раздельный трафик по приложениям), PhobosWG, iPhone (обычный WireGuard) — через QR/ссылку.
- 🛠 Админ-приложение PCA Phobos для Android — все ваши панели в одном месте.
Возможности
- Активные сессии — 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 + подсказки
?у каждого действия. Светлая и тёмная тема (кнопка ◐), компактная вёрстка — удобно с телефона. - Лимит скорости на клиента — Мбит/с в карточке клиента; работает на всех серверах, сам восстанавливается после перезапуска WireGuard.
- Замер скорости — сервера (реальная скачка/отдача, кнопка ⚡ на «Серверах»), клиента (живая скорость в карточке + страница
http://10.25.0.1:<порт>/speedtestна устройстве через VPN). - Домен панели —
https://ваш-домен/с бесплатным сертификатом Let's Encrypt; старый адресhttp://IP:портпродолжает работать. - Адрес для клиентов и каскад — клиенты подключаются по домену или через входной сервер (например, в РФ) → ваш сервер; роутеры получают адрес сами.
- Сторож — блокировка зондов и сканеров РКН (nftables, список обновляется раз в сутки).
- WARP / WARP+ — выпуск клиентов в интернет через Cloudflare WARP (всем или выборочно), relay-режим.
- Бэкап и восстановление сервера из панели; терминал роутера в браузере (ttyd/RCI) за NAT.
- Версии и обновления — обновление и откат прямо из панели.
- Уведомления per-client — 🔔 у каждого клиента: включить/выключить Telegram-оповещения о подключении/отключении.
- Telegram-бот — управление клиентами командами прямо из чата:
/add <имя>— создать клиента (бот пришлёт команду установки)/del <имя>— удалить клиента/list— список клиентов- Кнопки — постоянная клавиатура: ➕ Создать клиента · 📋 Список · 🗑 Удалить (инлайн-выбор) · 📊 Статус · ❓ Помощь.
(Работает только для чата из настроек
tg_chat_id.) Бот необязателен: хочешь — впиши токен от @BotFather и свой chat id в «Настройки», не хочешь — оставь пустым.
Скриншоты
| Клиенты (светлая) | Клиенты (тёмная) |
|---|---|
![]() |
![]() |
| Сессии | Серверы: замер скорости, второй сервер |
![]() |
![]() |
| Телефон: панель | Телефон: тёмная | Android: VPN-клиент | Android: раздельный трафик | Android: админ-приложение |
|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
Настройки (домен, каскад, сторож, WARP, бэкап): светлая · тёмная
--------|---------|---------|
|
|
|
|
Если картинки не отображаются — положи свои PNG в
docs/img/(sessions.png,clients.png,servers.png).
Источник с 23.10.2026:
git.bobyrev.com/PCA/PCA_Phobos(GitHub-аккаунт временно недоступен). Серверы на 1.2.x обновляются одной командой:bash <(curl -fsSL https://git.bobyrev.com/PCA/PCA_Phobos/raw/branch/main/update.sh)
Быстрый старт (с чистого VPS, одной командой)
Ставит всё со всеми зависимостями: wg-obfuscator, WireGuard, обфускатор-сервисы, веб-панель, nginx, скрипты онбординга роутеров, сторож авто-восстановления. Предустановленный Phobos не требуется.
bash <(curl -fsSL https://git.bobyrev.com/PCA/PCA_Phobos/raw/branch/main/install.sh)
С параметрами
PANEL_PASS=МойПароль TG_TOKEN=123:abc TG_CHAT=123456789 \
bash <(curl -fsSL https://git.bobyrev.com/PCA/PCA_Phobos/raw/branch/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 (без обфускации) |
PANEL_TLS_CERT / PANEL_TLS_KEY |
пусто | Включить HTTPS для панели через свой сертификат |
После установки панель напечатает адрес, логин, пароль и API key — сохрани их.
Полный список портов и что можно закрывать: docs/PORTS.md.
Вторичный сервер (для failover / балансировки)
MAIN_PROTO=http MAIN_SERVER=<ip_основного> MAIN_PORT=<порт_панели> MAIN_API_KEY=<API key из основного> \
bash <(curl -fsSL https://git.bobyrev.com/PCA/PCA_Phobos/raw/branch/main/server/secondary-setup.sh)
Сервер сам зарегистрируется в панели, клиенты досылаются на него сразу. Если сервер за NAT — добавь SERVER_IP=<внешний_ip>.
Каскад (вход в РФ → выход за рубежом)
На входном VPS (чистый Debian/Ubuntu, Phobos не нужен):
bash <(curl -fsSL https://git.bobyrev.com/PCA/PCA_Phobos/raw/branch/main/server/phobos-cascade.sh) enable <IP_выходного_сервера> 2083,5443,993
Затем в панели выходного сервера → Настройки → Адрес для клиентов и каскад → впиши IP/домен входа. Роутеры переключатся сами (~15 с), телефонам — заново открыть ссылку/QR. Отключить: phobos-cascade disable.
Сторонние «сторожа» по просьбам участников
- Защита от зондов РКН (Loorrr293/Auto_IPtables) — встроена: «Настройки → Защита сервера», включается кнопкой.
- «Прикрывашка» (miha75vu-bit/Flashkeen) — WARP на выход + Psiphon; интерактивная, ставится по SSH:
bash <(curl -fsSL https://raw.githubusercontent.com/miha75vu-bit/Flashkeen/main/wp). Перестраивает выход wg0 — не включай одновременно со встроенным WARP egress. - ipidea-kimwolf-ban — репозиторий автора удалён (404), встроить нечего.
Приложения для Android
- PCA Phobos VPN — клиент: включает VPN одной кнопкой, импорт
phobos://из панели, встроенный обфускатор, раздельный трафик (весь / только выбранные приложения / все кроме выбранных), журнал, проверка скорости. Скачать APK · исходникиandroid-client/. - PCA Phobos (админ) — список ваших панелей, открываются в приложении. Скачать APK · исходники
android/.
Клиенты для телефона
В таблице Клиенты у каждого клиента есть кнопки:
- 📱 Android —
phobos://-ссылка + QR для приложения PhobosWG (с обфускацией). Скан QR → импорт. - 🍎 iPhone / iOS — обычный WireGuard-конфиг + QR для официального WireGuard (без обфускации). Требует открытого порта 51820 (
ALLOW_PLAIN_WG=1при установке).
Для каждого устройства создавай отдельного клиента (свой ключ и IP). Один конфиг на двух устройствах = конфликт ключей.
Приложения:
- Android (PhobosWG): кнопка «Скачать приложение PhobosWG (APK)» на странице Android-клиента. Можно положить свой
.apkв/opt/Phobos/www/app/PhobosWG.apk— тогда панель раздаёт его. - iPhone (iOS): официальный WireGuard из App Store — кнопка есть на странице iOS-клиента.
Обновление и откат
Проект версионируется (см. файл VERSION и git-теги vX.Y.Z).
Из панели: Настройки → «Версия и обновления» → Обновить / Откатить.
Из консоли:
phobos-update # обновить до последней версии (stable)
phobos-update beta|dev # каналы для подписчиков (GH_TOKEN), сейчас = та же 1.4.0
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 |
|
| Домен: certbot failed | A-запись не на этот сервер / закрыт 80 | dig +short домен = IP сервера; открой 80/tcp; повтори в «Настройках» |
| Лимит скорости не действует | wg0 перезапущен | панель сама восстановит за ≤1 мин; вручную: phobos-limit.sh apply |
| Кнопки клиента «уезжают» | старая версия | обнови до 1.4.0 — карточки клиентов компактные, телефоны тоже |
Логи: 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 ❤️
Спасибо авторам за отличные инструменты.





