აგენტი და კომუნიკაცია

ერთი ბრძანება. სრულად დაცული.

CASTOVIA-ის აგენტი ინსტალირდება 60 წამზე ნაკლებ დროში, უსაფრთხოებას ავტომატურად ამუშავებს და CASTOVIA Cloud-თან დაშიფრული არხებით ურთიერთობს. არც ხელით firewall-ის წესები, არც SSH keys, არც VPN.

ინსტალაციის ბრძანების ახსნა

ზუსტად რა ხდება, როცა თქვენს Linux სერვერზე ერთხაზიან ინსტალერს გაუშვებთ.

რას აკეთებს ბრძანება

ერთხაზიანი ინსტალაციის ბრძანება, რომელსაც CASTOVIA-ის ადმინის დაფიდან აკოპირებთ, თქვენს Linux სერვერზე შემდეგ ნაბიჯებს ასრულებს:

ჩამოტვირთავს CASTOVIA agent-ის ბინარულ ფაილს (~15 MB) ოფიციალური CDN-დან
ამოწმებს ბინარული ფაილის ხელმოწერას (SHA-256 + GPG), რათა თავიდან აიცილოს ცვლილება
ქმნის გამოყოფილ სისტემურ მომხმარებელს: castovia-agent (არც login shell, არც sudo)
აინსტალირებს ბინარულ ფაილს /opt/castovia/agent-ში
ქმნის კონფიგურაციის დირექტორიას /etc/castovia/ შეზღუდული ნებართვებით (0700)
წერს server token-ს (თითო ნოდზე უნიკალურია) /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 საათის შემდეგ ვადაგასულია.

რას არ აკეთებს აგენტი

მკაფიო საზღვრები. აგენტის მოქმედების არეალი განზრახ შეზღუდულია.

არ ხსნის თქვენს სერვერზე შემომავალ ports-ს
არ ცვლის firewall-ის წესებს (iptables, nftables, firewalld)
არ აინსტალირებს და არ ცვლის SSH keys-ს
არ იღებს წვდომას თქვენს სერვერზე არსებულ სხვა აპლიკაციებზე
არ აგზავნის სტრიმის კონტენტს CASTOVIA-ის სერვერებით (სტრიმები თქვენს ქსელში რჩება)
არ ინახავს აბონენტების პერსონალურ მონაცემებს ნოდზე
არ მოითხოვს VPN-ს ან სპეციალურ ქსელურ კონფიგურაციას
საწყისი ინსტალაციის შემდეგ root-ად არ მუშაობს

უსაფრთხოება — ჩაშენებული, არა მიბმული

უსაფრთხოების ყველა ზომა ავტომატურია. ხელით კონფიგურაცია არ არის საჭირო.

Server Token ავტენტიკაცია

ავტომატური

თითოეული ნოდი იღებს უნიკალურ, კრიპტოგრაფიულად შემთხვევით server token-ს (256-bit). ეს ტოკენი გენერირდება CASTOVIA-ის ადმინში, როცა ნოდს ქმნით. იგი გამოიყენება ერთხელ რეგისტრაციისას და შემდეგ იცვლება მბრუნავი TLS client certificate-ით.

TLS 1.3 დაშიფვრა

ავტომატური

აგენტსა და CASTOVIA Cloud-ს შორის ყველა კომუნიკაცია იყენებს TLS 1.3-ს. აგენტი ამოწმებს CASTOVIA-ის certificate chain-ს pinned root CA-სთან შედარებით — სისტემურ certificate store-ს არ ენდობა. Man-in-the-middle თავდასხმები შეუძლებელია.

Firewall-ის მოთხოვნები

ავტომატური

აგენტს CASTOVIA Cloud-თან მხოლოდ გამავალი HTTPS (პორტი 443) სჭირდება. შემომავალი ports-ის გახსნა საჭირო არ არის. თქვენი სერვერის firewall-ის წესები ხელუხლებელი რჩება — აგენტი არ ცვლის iptables-ს, nftables-ს ან firewalld-ს.

გაშვებისას root-ის წვდომა არ არის საჭირო

ავტომატური

აგენტი მუშაობს გამოყოფილი დაუპრივილეგირებელი მომხმარებლის ქვეშ (castovia-agent). მას root მხოლოდ ინსტალაციის დროს სჭირდება (systemd სერვისის შესაქმნელად). გაშვებისას მუშაობს მინიმალური უფლებებით — წვდომა სტრიმის წყაროებზე წასაკითხად, საკუთარი cache დირექტორიაში ჩასაწერად.

სერტიფიკატების ავტომატური როტაცია

ავტომატური

client certificate-ები ყოველ 7 დღეში იცვლება. აგენტი განახლებას გამჭვირვალედ ამუშავებს. თუ სერტიფიკატი ვადა გაუვიდა (მაგ., სერვერი ოფლაინ იყო), აგენტი იყენებს უსაფრთხო ხელახალი რეგისტრაციის პროცესს, რომელსაც CASTOVIA-ის ადმინში დამტკიცება სჭირდება.

მდგომარეობის მონიტორინგი და თვითაღდგენა

ავტომატური

აგენტი საკუთარ მდგომარეობას თავად აკონტროლებს. თუ გაიჭედება, systemd 5 წამში გადატვირთავს. თუ CASTOVIA Cloud-ს ვერ უკავშირდება, გააგრძელებს ქეშირებული კონფიგურაციის მიწოდებას და მეტრიკებს მოგვიანებით გაგზავნის.

კომუნიკაციის პროტოკოლი

როგორ მიედინება მონაცემები თქვენს სერვერსა და CASTOVIA Cloud-ს შორის.

CASTOVIA Cloud → აგენტი (Configuration Push)

სტრიმების კონფიგურაციები (source URL-ები, ტრანსკოდირების პროფილები, ჩანაწერის განრიგები)
მედიის მიწოდებისთვის Nginx-ის კონფიგურაციის ფრაგმენტები
Catch-up და timeshift წესები
EPG მონაცემები და არხების ლოგოები
პაკეტების/ბუკეტების მინიჭებები
აბონენტების უფლებების განახლებები

ტექნიკური: კონფიგურაცია იგზავნება ხელმოწერილი JSON payload-ების სახით. აგენტი თითოეულ payload-ს გამოყენებამდე ამოწმებს. Raw SQL არ არის, shell ბრძანებები არ არის — მხოლოდ სტრუქტურირებული კონფიგურაცია.

აგენტი → CASTOVIA Cloud (Telemetry)

სერვერის მდგომარეობა: CPU, RAM, დისკის გამოყენება, ქსელური I/O
სტრიმის სტატუსი: აქტიური სტრიმები, bitrate, შეცდომების სიხშირე
ჩანაწერის სტატუსი: აქტიური ჩანაწერები, გამოყენებული საცავი, დასრულების სტატუსი
FFmpeg სამუშაოების შედეგები: ტრანსკოდირების დასრულება, შეცდომები, გამომავალი ფაილების ზომები
მაყურებელთა კავშირის რაოდენობა (ანონიმური აგრეგატი — პერსონალური მონაცემების გარეშე)
აგენტის ვერსია და განახლების ხელმისაწვდომობა

ტექნიკური: Telemetry იგზავნება ყოველ 30 წამში HTTPS POST-ის მეშვეობით. Payload შეკუმშულია (gzip) და დაშიფრულია. საშუალო ზომა: თითო ინტერვალზე 2–5 KB.

ქსელის შეჯამება

ასპექტიდეტალი
პროტოკოლიHTTPS (TLS 1.3) certificate pinning-ით
გამავალი პორტი443 (მხოლოდ HTTPS)
შემომავალი პორტებიCASTOVIA-ის მიერ საჭირო არ არის
Heartbeatყოველ 30 წამში (2–5 KB შეკუმშული)
ავთენტიკაციამბრუნავი TLS client certificate-ები (7-დღიანი როტაცია)
გამტარობა< 1 MB/საათში მართვის ტრაფიკისთვის
ოფლაინ ქცევაემსახურება ქეშირებულ კონფიგურაციას, აჩერებს telemetry-ს რიგში, ავტომატურად უკავშირდება ხელახლა
სტრიმის ტრაფიკიCASTOVIA-ის გავლით არასდროს მიდის — თქვენს ქსელში რჩება

სუფთა წაშლა

თუ ნოდს წაშლით, აგენტი სრულად ასუფთავებს ყველაფერს:

sudo castovia-agent uninstall --purge
აჩერებს და შლის systemd სერვისს
შლის ბინარულ ფაილს /opt/castovia/-დან
შლის ყველა კონფიგურაციას /etc/castovia/-დან
აშორებს castovia-agent სისტემურ მომხმარებელს
აუქმებს client certificate-ს CASTOVIA Cloud-ზე
არც ერთი ნარჩენი ფაილი, პროცესი ან cron job არ რჩება