ایجنٹ اور مواصلات

ایک کمانڈ۔ مکمل طور پر محفوظ۔

CASTOVIA ایجنٹ 60 سیکنڈ سے کم وقت میں install ہو جاتا ہے، سیکیورٹی خود بخود سنبھالتا ہے، اور encrypted channels کے ذریعے CASTOVIA Cloud سے communication کرتا ہے۔ نہ manual firewall rules، نہ SSH keys، نہ VPN۔

انسٹالیشن کمانڈ کی وضاحت

جب آپ اپنے Linux سرور پر ایک لائن والا installer چلاتے ہیں تو بالکل کیا ہوتا ہے۔

کمانڈ کیا کرتی ہے

CASTOVIA ایڈمن ڈیش بورڈ سے کاپی کی گئی ایک لائن والی install command آپ کے Linux سرور پر درج ذیل مراحل انجام دیتی ہے:

سرکاری CDN سے CASTOVIA agent binary (~15 MB) ڈاؤن لوڈ کرتی ہے
بدنیتی سے تبدیلی روکنے کے لیے binary signature (SHA-256 + GPG) verify کرتی ہے
ایک مخصوص system user بناتی ہے: castovia-agent (no login shell، no sudo)
binary کو /opt/castovia/agent میں install کرتی ہے
محدود permissions (0700) کے ساتھ configuration directory /etc/castovia/ بناتی ہے
server token (ہر node کے لیے منفرد) کو /etc/castovia/token.conf میں لکھتی ہے
agent کو systemd service کے طور پر register کرتی ہے: castovia-agent.service
service شروع کرتی ہے اور boot پر auto-start enable کرتی ہے
node register کرنے کے لیے CASTOVIA Cloud کے ساتھ پہلا handshake کرتی ہے

اصل کمانڈ

آپ کے ایڈمن ڈیش بورڈ میں نظر آنے والی کمانڈ کچھ اس طرح ہوتی ہے:

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

YOUR_SERVER_TOKEN ہر node کے لیے ایک منفرد، single-use token ہے۔ اگر استعمال نہ ہو تو یہ 24 گھنٹے بعد expire ہو جاتا ہے۔

ایجنٹ کیا نہیں کرتا

واضح حدود۔ ایجنٹ کو دانستہ طور پر محدود رکھا گیا ہے۔

آپ کے سرور پر کوئی inbound ports نہیں کھولتا
آپ کے firewall rules (iptables، nftables، firewalld) میں تبدیلی نہیں کرتا
SSH keys install یا modify نہیں کرتا
آپ کے سرور پر موجود دیگر applications تک رسائی نہیں لیتا
اسٹریم مواد CASTOVIA servers کے ذریعے نہیں بھیجتا (streams آپ کے network پر ہی رہتے ہیں)
node پر سبسکرائبر کا ذاتی ڈیٹا محفوظ نہیں کرتا
VPN یا خصوصی network configuration کی ضرورت نہیں ہوتی
ابتدائی installation کے بعد root کے طور پر نہیں چلتا

سیکیورٹی — اندرونی طور پر موجود، بعد میں لگائی ہوئی نہیں

ہر سیکیورٹی اقدام خودکار ہے۔ دستی configuration کی ضرورت نہیں۔

سرور ٹوکن توثیق

خودکار

ہر node کو ایک منفرد، cryptographically random server token (256-bit) ملتا ہے۔ یہ token CASTOVIA ایڈمن میں node بنانے کے وقت generate ہوتا ہے۔ یہ صرف registration کے دوران ایک بار استعمال ہوتا ہے اور پھر rotating TLS client certificate سے بدل دیا جاتا ہے۔

TLS 1.3 انکرپشن

خودکار

ایجنٹ اور CASTOVIA Cloud کے درمیان تمام communication TLS 1.3 استعمال کرتا ہے۔ ایجنٹ pinned root CA کے خلاف CASTOVIA certificate chain verify کرتا ہے — system certificate store پر کوئی trust نہیں۔ Man-in-the-middle حملے ممکن نہیں۔

فائر وال تقاضے

خودکار

ایجنٹ کو صرف CASTOVIA Cloud تک outbound HTTPS (port 443) درکار ہوتا ہے۔ کسی inbound port کو کھولنے کی ضرورت نہیں۔ آپ کے سرور کے firewall rules جوں کے توں رہتے ہیں — ایجنٹ iptables، nftables، یا firewalld میں تبدیلی نہیں کرتا۔

چلتے وقت root رسائی درکار نہیں

خودکار

ایجنٹ ایک مخصوص غیر مراعات یافتہ user (castovia-agent) کے طور پر چلتا ہے۔ اسے صرف installation کے دوران root درکار ہوتا ہے (systemd service بنانے کے لیے)۔ runtime پر یہ کم سے کم permissions کے ساتھ کام کرتا ہے — stream sources تک read access، اور اپنی cache directory تک write access۔

خودکار certificate rotation

خودکار

Client certificates ہر 7 دن بعد rotate ہوتے ہیں۔ ایجنٹ renewal کو شفاف طور پر سنبھالتا ہے۔ اگر کوئی certificate expire ہو جائے (مثلاً سرور offline تھا) تو ایجنٹ ایک secure re-enrollment flow استعمال کرتا ہے جس کے لیے CASTOVIA ایڈمن میں approval درکار ہوتی ہے۔

صحت کی نگرانی اور خودکار بحالی

خودکار

ایجنٹ اپنی صحت کی نگرانی خود کرتا ہے۔ اگر یہ crash ہو جائے تو systemd اسے 5 سیکنڈ کے اندر دوبارہ شروع کر دیتا ہے۔ اگر یہ CASTOVIA Cloud تک نہ پہنچ سکے تو یہ cached configuration کے ساتھ service جاری رکھتا ہے اور metrics کو بعد میں بھیجنے کے لیے queue میں ڈال دیتا ہے۔

مواصلاتی پروٹوکول

آپ کے سرور اور CASTOVIA Cloud کے درمیان ڈیٹا کیسے بہتا ہے۔

CASTOVIA Cloud → ایجنٹ (Configuration Push)

Stream configurations (source URLs، transcoding profiles، recording schedules)
میڈیا serving کے لیے Nginx config fragments
Catch-up اور timeshift قواعد
EPG data اور channel logos
Package/bouquet assignments
سبسکرائبر entitlement updates

تکنیکی: Configuration دستخط شدہ JSON payloads کی صورت میں پہنچتی ہے۔ ایجنٹ ہر payload کو لاگو کرنے سے پہلے validate کرتا ہے۔ کوئی raw SQL نہیں، کوئی shell commands نہیں — صرف منظم configuration.

ایجنٹ → CASTOVIA Cloud (Telemetry)

سرور صحت: CPU، RAM، disk usage، network I/O
اسٹریم اسٹیٹس: active streams، bitrate، error rates
ریکارڈنگ اسٹیٹس: active recordings، storage used، completion status
FFmpeg job results: transcode completion، errors، output file sizes
viewer connection counts (anonymous aggregate — کوئی ذاتی ڈیٹا نہیں)
agent version اور update availability

تکنیکی: Telemetry ہر 30 سیکنڈ بعد HTTPS POST کے ذریعے بھیجی جاتی ہے۔ payload compressed (gzip) اور encrypted ہوتا ہے۔ اوسط سائز: ہر interval میں 2–5 KB.

نیٹ ورک کا خلاصہ

پہلوتفصیل
پروٹوکولcertificate pinning کے ساتھ HTTPS (TLS 1.3)
خروجی پورٹ443 (صرف HTTPS)
ان باؤنڈ پورٹسCASTOVIA کے لیے کوئی درکار نہیں
ہارٹ بیٹہر 30 سیکنڈ (compressed 2–5 KB)
توثیقRotating TLS client certificates (7-day rotation)
بینڈوڈتھmanagement traffic کے لیے < 1 MB/hour
آف لائن رویہcached config پیش کرتا ہے، telemetry queue کرتا ہے، خودکار reconnect کرتا ہے
اسٹریم ٹریفککبھی بھی CASTOVIA کے ذریعے route نہیں ہوتی — آپ کے network پر ہی رہتی ہے

صاف ان انسٹال

اگر آپ کوئی node ہٹا دیں تو ایجنٹ مکمل طور پر صفائی کر دیتا ہے:

sudo castovia-agent uninstall --purge
systemd service بند کرتا ہے اور اسے ہٹا دیتا ہے
binary کو /opt/castovia/ سے حذف کرتا ہے
/etc/castovia/ سے تمام configuration ہٹا دیتا ہے
castovia-agent system user ہٹا دیتا ہے
CASTOVIA Cloud پر client certificate revoke کرتا ہے
کوئی باقی ماندہ files، processes، یا cron jobs نہیں چھوڑتا