Агент и связь

Одна команда. Полная защита.

Агент CASTOVIA устанавливается менее чем за 60 секунд, автоматически обеспечивает безопасность и связывается с CASTOVIA Cloud по зашифрованным каналам. Никаких ручных правил firewall, SSH-ключей или VPN.

Что означает команда установки

Что именно происходит, когда вы запускаете однострочный установщик на Linux-сервере.

Что делает команда

Однострочная команда установки, которую вы копируете из админ-панели CASTOVIA, выполняет на вашем Linux-сервере следующие шаги:

Загружает бинарный файл агента CASTOVIA (~15 МБ) с официального CDN
Проверяет подпись бинарного файла (SHA-256 + GPG), чтобы предотвратить подмену
Создаёт отдельного системного пользователя: castovia-agent (без shell для входа, без sudo)
Устанавливает бинарный файл в /opt/castovia/agent
Создаёт каталог конфигурации /etc/castovia/ с ограниченными правами (0700)
Записывает серверный токен (уникальный для каждого узла) в /etc/castovia/token.conf
Регистрирует агент как службу systemd: castovia-agent.service
Запускает службу и включает автозапуск при загрузке
Выполняет первое соединение с CASTOVIA Cloud для регистрации узла

Фактическая команда

Команда, которую вы видите в своей админ-панели, выглядит так:

curl -sSL https://install.castovia.com/agent | sudo bash -s -- --token YOUR_SERVER_TOKEN

YOUR_SERVER_TOKEN — это уникальный одноразовый токен, создаваемый для каждого узла. Если его не использовать, он истекает через 24 часа.

Чего агент НЕ делает

Чёткие границы. Агент намеренно ограничен по функциям.

Не открывает входящие порты на вашем сервере
Не изменяет правила firewall (iptables, nftables, firewalld)
Не устанавливает и не изменяет SSH-ключи
Не получает доступ к другим приложениям на вашем сервере
Не передаёт потоковый контент через серверы CASTOVIA (потоки остаются в ВАШЕЙ сети)
Не хранит персональные данные подписчиков на узле
Не требует VPN или особой сетевой конфигурации
Не работает от root после начальной установки

Безопасность — встроена, а не добавлена потом

Каждая мера безопасности автоматическая. Ручная настройка не требуется.

Аутентификация по серверному токену

автоматически

Каждому узлу назначается уникальный, криптографически случайный серверный токен (256-bit). Этот токен создаётся в админке CASTOVIA при добавлении узла. Он используется один раз во время регистрации, после чего заменяется вращающимся TLS client certificate.

Шифрование TLS 1.3

автоматически

Вся связь между агентом и CASTOVIA Cloud использует TLS 1.3. Агент проверяет цепочку сертификатов CASTOVIA по закреплённому root CA — доверие к системному хранилищу сертификатов не используется. Атаки man-in-the-middle невозможны.

Требования к firewall

автоматически

Агенту нужен только исходящий HTTPS (порт 443) до CASTOVIA Cloud. Открывать входящие порты не требуется. Правила firewall на вашем сервере остаются без изменений — агент не модифицирует iptables, nftables или firewalld.

Во время работы root не требуется

автоматически

Агент работает под отдельным непривилегированным пользователем (castovia-agent). Root нужен только во время установки (для создания systemd-службы). Во время работы он действует с минимальными правами — доступ на чтение к источникам потоков, доступ на запись к собственному каталогу кэша.

Автоматическая ротация сертификатов

автоматически

Client certificates ротируются каждые 7 дней. Агент прозрачно выполняет продление. Если сертификат истёк (например, сервер был офлайн), агент использует безопасный поток повторной регистрации, который требует одобрения в админке CASTOVIA.

Мониторинг состояния и самовосстановление

автоматически

Агент отслеживает собственное состояние. Если он аварийно завершится, systemd перезапустит его в течение 5 секунд. Если он не может связаться с CASTOVIA Cloud, он продолжит отдавать кэшированную конфигурацию и поставит метрики в очередь для последующей отправки.

Протокол связи

Как данные передаются между вашим сервером и CASTOVIA Cloud.

CASTOVIA Cloud → Агент (передача конфигурации)

Конфигурации потоков (source URLs, профили транскодирования, расписания записи)
Фрагменты конфигурации Nginx для раздачи медиа
Правила catch-up и timeshift
Данные EPG и логотипы каналов
Назначения пакетов и букетов
Обновления прав доступа подписчиков

Техническое: Конфигурация доставляется в виде подписанных JSON-пакетов. Агент проверяет каждый пакет перед применением. Никакого сырого SQL и никаких shell-команд — только структурированная конфигурация.

Агент → CASTOVIA Cloud (телеметрия)

Состояние сервера: CPU, RAM, использование диска, сетевой I/O
Статус потоков: активные потоки, bitrate, частота ошибок
Статус записи: активные записи, использованное хранилище, статус завершения
Результаты задач FFmpeg: завершение транскодирования, ошибки, размеры выходных файлов
Количество подключений зрителей (анонимная агрегированная статистика — без персональных данных)
Версия агента и доступность обновлений

Техническое: Телеметрия отправляется каждые 30 секунд через HTTPS POST. Полезная нагрузка сжимается (gzip) и шифруется. Средний размер: 2–5 КБ за интервал.

Сводка по сети

ПараметрДетали
ПротоколHTTPS (TLS 1.3) с закреплением сертификата
Исходящий порт443 (только HTTPS)
Входящие портыCASTOVIA не требует
HeartbeatКаждые 30 секунд (2–5 КБ сжато)
АутентификацияВращающиеся TLS client certificates (ротация каждые 7 дней)
Пропускная способность< 1 МБ/час для управляющего трафика
Поведение офлайнОтдаёт кэшированную конфигурацию, ставит телеметрию в очередь, автоматически переподключается
Потоковый трафикНикогда не идёт через CASTOVIA — остаётся в вашей сети

Полное удаление

Если вы удаляете узел, агент полностью очищается:

sudo castovia-agent uninstall --purge
Останавливает и удаляет службу systemd
Удаляет бинарный файл из /opt/castovia/
Удаляет всю конфигурацию из /etc/castovia/
Удаляет системного пользователя castovia-agent
Отзывает client certificate в CASTOVIA Cloud
Не оставляет файлов, процессов или cron-задач