Введение
Что такое Astral
Section titled “Что такое Astral”Astral — self-hosted панель управления VPN-инфраструктурой на Xray-core. Один backend управляет любым числом нод; на каждой ноде работает агент, который приводит локальный Xray к состоянию, заданному в панели.
Отличия от аналогов:
- Декларативная конфигурация нод. Панель хранит желаемое состояние каждой ноды, агент приводит Xray к нему. Нет дрейфа конфигураций, нет ручной синхронизации, восстановление ноды после сбоя — автоматическое. → Архитектура
- Профили инбаундов. Комбинация протокол + транспорт + TLS/Reality описывается один раз и привязывается к любому числу нод. → Инбаунды и профили
- Автовыпуск сертификатов. ACME DNS-01 на стороне панели; ноды не знают про ACME. → Сертификаты
- Мультихоп. Цепочки из 2–N нод; клиент видит только входную. → Мультихоп
- Опциональные платежи. Панель работает и без биллинга: клиенты создаются вручную, подписка выдаётся ссылкой. → Платежи
Компоненты
Section titled “Компоненты”| Компонент | Что делает |
|---|---|
| Backend | REST API, бизнес-логика, PostgreSQL, рендер конфигураций нод |
| Agent | Один контейнер на ноде: управляет Xray, держит gRPC-стрим к backend |
| Web | React SPA: админ-панель и кабинет клиента |
Подробно — Архитектура.
Карта документации
Section titled “Карта документации”| Раздел | Содержание |
|---|---|
| Концепции | Модель предметной области: ноды, инбаунды, клиенты и подписки, мультихоп, сертификаты, трафик |
| Справочник | Контракты: REST API, gRPC, схема БД, репозиторий |
| Backend | Реализация: структура, аутентификация, шифрование, платежи, наблюдаемость, развёртывание панели |
| Agent | Обзор и reconciliation, безопасность, развёртывание |
| Frontend | Админ-панель, кабинет клиента |
| Решения | ADR: зафиксированные архитектурные решения, их альтернативы и обоснования |