Агент і комунікація

Одна команда. Повністю захищено.

Агент CASTOVIA встановлюється менш ніж за 60 секунд, автоматично опрацьовує безпеку та спілкується з CASTOVIA Cloud через зашифровані канали. Жодних ручних правил firewall, жодних SSH keys, жодного VPN.

Пояснення команди встановлення

Точні дії, які виконуються, коли ви запускаєте однорядковий інсталятор на Linux-сервері.

Що робить команда

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

Завантажує бінарний файл агента CASTOVIA (~15 MB) з офіційного CDN
Перевіряє підпис бінарника (SHA-256 + GPG), щоб запобігти втручанню
Створює окремого системного користувача: castovia-agent (без login shell, без sudo)
Встановлює бінарник у /opt/castovia/agent
Створює каталог конфігурації /etc/castovia/ із обмеженими правами (0700)
Записує серверний токен (унікальний для кожного вузла) до /etc/castovia/token.conf
Реєструє агента як службу systemd: castovia-agent.service
Запускає службу та вмикає автозапуск під час завантаження
Виконує перший handshake з 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 keys
Не отримує доступ до інших застосунків на вашому сервері
Не передає потоковий контент через сервери CASTOVIA (потоки залишаються у ВАШІЙ мережі)
Не зберігає персональні дані підписників на вузлі
Не вимагає VPN або спеціальної мережевої конфігурації
Не працює як root після початкового встановлення

Безпека — вбудована, а не додана поверх

Кожен захід безпеки автоматизовано. Ручне налаштування не потрібне.

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

автоматично

Кожен вузол отримує унікальний криптографічно випадковий серверний токен (256-bit). Цей токен генерується в адмінці CASTOVIA під час створення вузла. Він використовується один раз під час реєстрації, а потім замінюється ротаційним TLS client certificate.

Шифрування TLS 1.3

автоматично

Уся комунікація між агентом і CASTOVIA Cloud використовує TLS 1.3. Агент перевіряє ланцюжок сертифікатів CASTOVIA щодо закріпленого кореневого CA — без довіри до системного сховища сертифікатів. Атаки man-in-the-middle неможливі.

Вимоги до firewall

автоматично

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

Під час роботи root-доступ не потрібен

автоматично

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

Автоматичне оновлення сертифікатів

автоматично

Client certificates оновлюються кожні 7 днів. Агент прозоро обробляє поновлення. Якщо сертифікат спливає (наприклад, сервер був офлайн), агент використовує безпечний повторний enrollment, який потребує схвалення в адмінці CASTOVIA.

Моніторинг стану та self-healing

автоматично

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

Протокол комунікації

Як дані рухаються між вашим сервером і CASTOVIA Cloud.

CASTOVIA Cloud → Агент (Configuration Push)

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

Технічне: Конфігурація доставляється як підписані JSON payloads. Агент перевіряє кожен payload перед застосуванням. Жодного raw SQL, жодних shell commands — лише структурована конфігурація.

Агент → CASTOVIA Cloud (Telemetry)

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

Технічне: Telemetry надсилається кожні 30 секунд через HTTPS POST. Payload стискається (gzip) і шифрується. Середній розмір: 2–5 KB за інтервал.

Зведення по мережі

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

Чисте видалення

Якщо ви видаляєте вузол, агент повністю очищає систему:

sudo castovia-agent uninstall --purge
Зупиняє та видаляє службу systemd
Видаляє бінарник із /opt/castovia/
Видаляє всю конфігурацію з /etc/castovia/
Видаляє системного користувача castovia-agent
Відкликає client certificate у CASTOVIA Cloud
Жодних залишкових файлів, процесів чи cron jobs