Agent و Communication

یک دستور. کاملاً ایمن.

Agent CASTOVIA در کمتر از 60 ثانیه نصب می‌شود، امنیت را به‌صورت خودکار مدیریت می‌کند و از طریق کانال‌های رمزنگاری‌شده با CASTOVIA Cloud ارتباط برقرار می‌کند. بدون rule دستی فایروال، بدون SSH key، بدون VPN.

شرح دستور نصب

دقیقاً چه اتفاقی می‌افتد وقتی نصب‌کننده تک‌خطی را روی سرور Linux خود اجرا می‌کنید.

آنچه دستور انجام می‌دهد

دستور نصب تک‌خطی که از داشبورد مدیریت CASTOVIA کپی می‌کنید، مراحل زیر را روی سرور Linux شما انجام می‌دهد:

binary مربوط به Agent CASTOVIA را (~15 MB) از CDN رسمی دانلود می‌کند
امضای binary را با SHA-256 + GPG تأیید می‌کند تا از دستکاری جلوگیری شود
یک کاربر سیستم اختصاصی ایجاد می‌کند: castovia-agent (بدون login shell، بدون sudo)
binary را در /opt/castovia/agent نصب می‌کند
دایرکتوری پیکربندی /etc/castovia/ را با مجوزهای محدود (0700) ایجاد می‌کند
server token (یکتای هر node) را در /etc/castovia/token.conf می‌نویسد
Agent را به‌عنوان یک سرویس systemd ثبت می‌کند: castovia-agent.service
سرویس را آغاز می‌کند و اجرای خودکار هنگام boot را فعال می‌کند
یک handshake اولیه با CASTOVIA Cloud انجام می‌دهد تا node ثبت شود

دستور واقعی

دستوری که در داشبورد مدیریت می‌بینید به این شکل است:

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

YOUR_SERVER_TOKEN یک token یکتا و یک‌بارمصرف است که برای هر node تولید می‌شود. اگر استفاده نشود، پس از 24 ساعت منقضی می‌شود.

آنچه Agent انجام نمی‌دهد

مرزها روشن هستند. Agent عمداً از نظر دامنه محدود شده است.

هیچ port ورودی‌ای روی سرور شما باز نمی‌کند
ruleهای فایروال شما را تغییر نمی‌دهد (iptables، nftables، firewalld)
SSH keyها را نصب یا تغییر نمی‌دهد
به سایر برنامه‌های موجود روی سرور شما دسترسی ندارد
محتوای stream را از طریق سرورهای CASTOVIA ارسال نمی‌کند (streamها روی شبکه خود شما می‌مانند)
داده‌های شخصی مشترکین را روی node ذخیره نمی‌کند
به VPN یا پیکربندی ویژه شبکه نیاز ندارد
پس از نصب اولیه به‌صورت root اجرا نمی‌شود

امنیت — درون‌ساخته، نه الحاقی

هر اقدام امنیتی به‌صورت خودکار انجام می‌شود. هیچ پیکربندی دستی لازم نیست.

احراز هویت با Server Token

خودکار

هر node یک server token منحصربه‌فرد و از نظر رمزنگاری تصادفی (256-bit) دریافت می‌کند. این token هنگام ایجاد node در پنل مدیریت CASTOVIA تولید می‌شود. فقط یک‌بار هنگام ثبت‌نام استفاده می‌شود و سپس با یک client certificate چرخشی TLS جایگزین می‌شود.

رمزنگاری TLS 1.3

خودکار

تمام ارتباطات بین Agent و CASTOVIA Cloud از TLS 1.3 استفاده می‌کند. Agent زنجیره گواهی CASTOVIA را در برابر یک root CA pin‌شده اعتبارسنجی می‌کند — هیچ اعتمادی به certificate store سیستم وجود ندارد. حملات Man-in-the-middle ممکن نیست.

الزامات Firewall

خودکار

Agent فقط به HTTPS خروجی (port 443) برای CASTOVIA Cloud نیاز دارد. هیچ port ورودی‌ای لازم نیست باز شود. ruleهای firewall سرور شما دست‌نخورده باقی می‌مانند — Agent iptables، nftables یا firewalld را تغییر نمی‌دهد.

عدم نیاز به دسترسی Root در زمان اجرا

خودکار

Agent به‌صورت یک کاربر اختصاصی بدون امتیاز (castovia-agent) اجرا می‌شود. فقط هنگام نصب به root نیاز دارد (برای ایجاد سرویس systemd). در زمان اجرا، با حداقل مجوزها کار می‌کند — دسترسی خواندن به منابع stream و دسترسی نوشتن به دایرکتوری cache خودش.

چرخش خودکار گواهی

خودکار

client certificateها هر 7 روز یک‌بار چرخش می‌کنند. Agent تمدید را به‌صورت شفاف مدیریت می‌کند. اگر یک certificate منقضی شود (مثلاً سرور آفلاین بوده)، Agent از یک جریان re-enrollment امن استفاده می‌کند که نیاز به تأیید در پنل مدیریت CASTOVIA دارد.

پایش سلامت و خودترمیمی

خودکار

Agent سلامت خود را پایش می‌کند. اگر کرش کند، systemd ظرف 5 ثانیه آن را دوباره راه‌اندازی می‌کند. اگر نتواند به CASTOVIA Cloud برسد، همچنان پیکربندی cacheشده را سرویس می‌دهد و metricها را برای ارسال بعدی صف می‌کند.

پروتکل ارتباط

داده‌ها چگونه بین سرور شما و CASTOVIA Cloud جریان پیدا می‌کنند.

CASTOVIA Cloud → Agent (ارسال پیکربندی)

پیکربندی‌های stream (source URLها، transcoding profileها، زمان‌بندی recording)
بخش‌های پیکربندی Nginx برای سرویس‌دهی media
قوانین catch-up و timeshift
داده‌های EPG و logo کانال‌ها
اختصاص‌های package/bouquet
به‌روزرسانی‌های entitlement مشترکین

فنی: پیکربندی به‌صورت payloadهای JSON امضاشده ارسال می‌شود. Agent هر payload را پیش از اعمال اعتبارسنجی می‌کند. بدون SQL خام، بدون shell command — فقط پیکربندی ساخت‌یافته.

Agent → CASTOVIA Cloud (Telemetry)

سلامت سرور: CPU، RAM، مصرف disk، I/O شبکه
وضعیت stream: streamهای فعال، bitrate، نرخ خطا
وضعیت recording: ضبط‌های فعال، فضای مصرف‌شده، وضعیت تکمیل
نتایج jobهای FFmpeg: تکمیل transcoding، خطاها، اندازه فایل خروجی
تعداد اتصال‌های viewer (تجمیع ناشناس — بدون داده شخصی)
نسخه Agent و در دسترس بودن به‌روزرسانی

فنی: Telemetry هر 30 ثانیه از طریق HTTPS POST ارسال می‌شود. payload فشرده (gzip) و رمزنگاری‌شده است. اندازه متوسط: 2–5 KB در هر بازه.

خلاصه شبکه

جنبهجزئیات
پروتکلHTTPS (TLS 1.3) با certificate pinning
Port خروجی443 (فقط HTTPS)
Portهای ورودیهیچ موردی توسط CASTOVIA لازم نیست
Heartbeatهر 30 ثانیه (فشرده 2–5 KB)
احراز هویتclient certificateهای TLS چرخشی (چرخه 7 روزه)
پهنای باندکمتر از 1 MB/ساعت برای ترافیک مدیریتی
رفتار آفلاینپیکربندی cacheشده را سرویس می‌دهد، telemetry را صف می‌کند، و خودکار دوباره وصل می‌شود
ترافیک Streamهرگز از طریق CASTOVIA مسیریابی نمی‌شود — روی شبکه شما باقی می‌ماند

حذف کامل

اگر یک node را حذف کنید، Agent کاملاً پاک‌سازی می‌کند:

sudo castovia-agent uninstall --purge
سرویس systemd را متوقف و حذف می‌کند
binary را از /opt/castovia/ حذف می‌کند
تمام پیکربندی را از /etc/castovia/ برمی‌دارد
کاربر سیستم castovia-agent را حذف می‌کند
client certificate را در CASTOVIA Cloud باطل می‌کند
هیچ فایل، فرایند یا cron job باقی‌مانده‌ای نمی‌ماند