Skip to content

Введение

Astral — self-hosted панель управления VPN-инфраструктурой на Xray-core. Один backend управляет любым числом нод; на каждой ноде работает агент, который приводит локальный Xray к состоянию, заданному в панели.

Отличия от аналогов:

  • Декларативная конфигурация нод. Панель хранит желаемое состояние каждой ноды, агент приводит Xray к нему. Нет дрейфа конфигураций, нет ручной синхронизации, восстановление ноды после сбоя — автоматическое. → Архитектура
  • Профили инбаундов. Комбинация протокол + транспорт + TLS/Reality описывается один раз и привязывается к любому числу нод. → Инбаунды и профили
  • Автовыпуск сертификатов. ACME DNS-01 на стороне панели; ноды не знают про ACME. → Сертификаты
  • Мультихоп. Цепочки из 2–N нод; клиент видит только входную. → Мультихоп
  • Опциональные платежи. Панель работает и без биллинга: клиенты создаются вручную, подписка выдаётся ссылкой. → Платежи
Компонент Что делает
Backend REST API, бизнес-логика, PostgreSQL, рендер конфигураций нод
Agent Один контейнер на ноде: управляет Xray, держит gRPC-стрим к backend
Web React SPA: админ-панель и кабинет клиента

Подробно — Архитектура.

Раздел Содержание
Концепции Модель предметной области: ноды, инбаунды, клиенты и подписки, мультихоп, сертификаты, трафик
Справочник Контракты: REST API, gRPC, схема БД, репозиторий
Backend Реализация: структура, аутентификация, шифрование, платежи, наблюдаемость, развёртывание панели
Agent Обзор и reconciliation, безопасность, развёртывание
Frontend Админ-панель, кабинет клиента
Решения ADR: зафиксированные архитектурные решения, их альтернативы и обоснования