Loading...

Alternatywa do konfiguracji serwera CCcam: OSCam, NCam i hybrydowe ustawienia, które naprawdę działają

Jeśli szukasz alternatywy do konfiguracji serwera cccam, prawdopodobnie już przez jakiś czas używasz CCcam i napotkałeś przeszkody. Może to losowe zawieszanie się w godzinach szczytu. Może to karta, która po prostu nie aktualizuje już swoich uprawnień. Tak czy inaczej, nie wyobrażasz sobie tego — CCcam nie miało prawdziwej publicznej aktualizacji od około 2013 roku, a luki stają się coraz bardziej widoczne im dłużej go używasz.

To nie jest tekst "CCcam jest zły, wyrzuć go". To praktyczny przewodnik po tym, co można w nim zastąpić, jak faktycznie przenieść swoją konfigurację bez łamania każdej nawiązanej połączenia z peerami, i na co zwracać uwagę, gdy nowa skrzynka jest aktywna. Podam ci rzeczywiste ścieżki, rzeczywiste bloki konfiguracyjne i rzeczywiste mapowanie między twoimi starymi liniami CCcam.cfg a ich odpowiednikami w OSCam.

Dlaczego warto szukać alternatywy dla CCcam w pierwszej kolejności

Ostatnie publiczne wersje CCcam są na poziomie wersji 2.3.x, a rozwój praktycznie zatrzymał się lata temu. Nie ma publicznego repozytorium źródłowego, nie ma dziennika zmian, nie ma śledzenia błędów. To, co używasz dzisiaj, to ten sam binarny plik — lub ledwo poprawiona jego wersja — który ludzie używali ponad dekadę temu. To w porządku, dopóki nie przestaje działać.

Zamarznięty rozwój CCcam i znane ograniczenia

Konkretne problemy pojawiają się w kilku specyficznych miejscach. Po pierwsze, obsługa EMM (Entitlement Management Message) i AU (Auto Update) jest słaba lub całkowicie nieobecna w zależności od twojej wersji — dane subskrypcyjne twojej karty mogą cicho stać się nieaktualne, ponieważ serwer nigdy nie wysyła wiadomości aktualizacyjnych prawidłowo. Po drugie, awaryjne przełączanie między wieloma czytnikami jest nieporadne. Jeśli masz dwie lub trzy lokalne karty i jedna z nich przestaje działać, CCcam nie przekierowuje elegancko żądań ECM tak, jak byś chciał. Po trzecie, jest praktycznie jednowątkowy w tym, jak przetwarza połączenia z peerami, więc gdy zaczynasz zarządzać więcej niż kilkudziesięcioma aktywnymi liniami c, zaczynasz zauważać opóźnienia i przekroczenia czasu ECM, które nie mają nic wspólnego z twoim połączeniem internetowym.

I nie ma wsparcia dla czegokolwiek poza samym protokołem cccam. Nie ma newcamd, nie ma natywnej integracji DVBAPI wartej wspomnienia, nic, co współpracuje z nowoczesnymi stosami oprogramowania odbiorników.

Gdzie CCcam nadal ma sens

Aby być sprawiedliwym, jeśli prowadzisz małą osobistą konfigurację — jedną lokalną kartę, dwóch lub trzech zaufanych peerów, nikt nie obciąża jej — CCcam może być naprawdę w porządku. Jest lekki, wszyscy znają składnię konfiguracji, a jeśli nie sprawia ci problemów, nie ma pilnego powodu, aby go wyrzucać. W momencie, gdy dodasz więcej czytników, więcej peerów lub potrzebujesz, aby EMM/AU działało niezawodnie, wtedy pęknięcia się powiększają.

Co naprawdę oznacza 'alternatywa': ten sam protokół vs. nowe oprogramowanie

Oto ramy, które większość przewodników pomija: gdy ludzie mówią "alternatywa", zazwyczaj mają na myśli dwie różne rzeczy, i warto je rozdzielić. Opcja pierwsza to zachowanie protokołu sieciowego CCcam — ten sam port 12000, ta sama składnia linii c/użytkownika, którą twoi peerzy już rozumieją — ale uruchomienie go przez inne, aktywnie rozwijane oprogramowanie serwerowe. Opcja druga to całkowite porzucenie protokołu cccam i przejście na coś innego, jak newcamd.

Dla większości osób pytających o alternatywę do konfiguracji serwera cccam, opcja pierwsza to to, czego naprawdę chcesz. Otrzymujesz nowoczesne, utrzymywane oprogramowanie w tle, ale nic nie psuje się po stronie peerów. To dokładnie to, co daje ci OSCam.

Główne porównane alternatywy: OSCam, NCam i hybrydowe ustawienia

Są naprawdę trzy ścieżki, a która z nich pasuje, zależy od twojego miksu peerów i tego, ile chcesz zmieniać w swojej istniejącej konfiguracji.

OSCam: de facto nowoczesny zamiennik

OSCam jest oprogramowaniem open-source, aktywnie rozwijanym (wersje trunkowe pochodzą z SVN, z szeroko stosowanymi lustrami git), i jest naprawdę wielowątkowe. Jeden plik binarny obsługuje rolę czytnika (rozmawia z twoimi lokalnymi kartami), rolę serwera (dzieli się z peerami) i rolę proxy (konsumuje udziały z upstream), wszystko jednocześnie, wszystko konfigurowalne niezależnie. To największa różnica strukturalna w porównaniu do CCcam — nie dodajesz funkcjonalności do zamrożonej bazy kodu, konfigurujesz system, który został zbudowany od podstaw, aby wykonywać wszystkie trzy zadania w sposób czysty.

Ma również odpowiednią obsługę EMM/AU, prawdziwe równoważenie obciążenia między wieloma czytnikami oparte na rzeczywistych czasach reakcji czytników i priorytetach, oraz wbudowany interfejs internetowy do monitorowania wszystkiego na żywo. Dla każdego, kto przeprowadza migrację do alternatywy serwera cccam, OSCam to miejsce, w którym ląduje 90% ludzi, i to z dobrego powodu.

NCam: fork OSCam z dodatkowymi funkcjami

NCam to fork OSCam, który dodaje kilka dodatkowych funkcji — rozszerzone wsparcie DVBAPI (przydatne w niektórych obrazach Enigma2), przyjaźniejszy wbudowany interfejs GUI w niektórych wersjach oraz garść poprawek wygody, które nigdy nie trafiły do głównego OSCam. Składnia konfiguracji jest niemal identyczna z OSCam, ponieważ to fork, a nie przepisanie, więc jeśli już nauczyłeś się układu plików OSCam, NCam cię nie zmyli.

Wymiana to wielkość społeczności i wsparcie. OSCam ma znacznie większą bazę użytkowników i dokumentacji, więc gdy coś się psuje o 23:00, masz większą szansę znaleźć kogoś, kto napotkał ten sam błąd. NCam jest wart uwagi, jeśli potrzebujesz jednej z jego dodatkowych funkcji — nie jako domyślny wybór w porównaniu do OSCam.

Uruchamianie protokołu CCcam na OSCam

To jest część, którą większość artykułów pomija. OSCam może zarówno konsumować, jak i serwować protokół CCcam natywnie przez[cccam] bloki czytnika i użytkownika. To oznacza, że możesz skierować OSCam na upstreamowy serwer CCcam jako klienta lub udostępnić swoje lokalne karty peerom mówiącym w CCcam, wszystko bez zmiany jednego wiersza w ich własnej konfiguracji. Z ich strony, twoja skrzynka nadal wygląda i działa jak serwer CCcam na porcie 12000. Pod spodem, to OSCam wykonuje całą rzeczywistą pracę — wątkowanie, obsługa EMM, równoważenie obciążenia, wszystko.

To hybrydowe podejście to dokładnie to, jak odbywają się większość prawdziwych migracji. Nie mówisz czterdziestu peerom "zaktualizuj swoją składnię linii c". Wymieniasz plik binarny, zachowujesz protokół, a nikt poza twoją skrzynką nawet tego nie zauważa.

Kryteria decyzji funkcja po funkcji

  • WybierzOSCam jeśli chcesz najbardziej stabilnej, najlepiej udokumentowanej opcji i używasz lokalnych kart smart oraz mieszanki peerów — to obejmuje dużą większość konfiguracji.
  • WybierzNCam tylko jeśli potrzebujesz konkretnej z jego dodatkowych funkcji DVBAPI lub GUI i czujesz się komfortowo z mniejszą społecznością wsparcia.
  • Pozostańhybrydowy (OSCam serwujący protokół cccam), jeśli twoi istniejący peerzy mówią tylko w cccam i nie chcesz w ogóle dotykać ich konfiguracji podczas migracji.

Żadne z tych decyzji nie zależy od tego, z jaką komercyjną linią lub sprzedawcą jesteś połączony — to czysty wybór oprogramowania na twojej własnej skrzynce.

Migracja z CCcam do OSCam: Prawdziwa konfiguracja

To jest część, która naprawdę ma znaczenie, gdy zdecydujesz się na migrację. Przejdźmy do rzeczywistych plików i rzeczywistej składni.

Układ katalogów i pliki konfiguracyjne (/etc/tuxbox/config lub /var/etc)

W zależności od obrazu twojego odbiornika, konfiguracja OSCam znajduje się w jednym z dwóch powszechnych miejsc:/etc/tuxbox/config/oscam/ w niektórych obrazach Enigma2, lub/var/etc/tuxbox/config/oscam/ w innych, gdzie/etc jest partycją tylko do odczytu, a/var zawiera zapisywalny overlay. Jeśli nie jesteś pewien, który obraz używasz, sprawdź za pomocą:

ls -la /var/etc/tuxbox/config/oscam/ 2>/dev/null

Którykolwiek z nich zawieraoscam.conf, to jest twój katalog roboczy. Porównaj to z CCcam, gdzie wszystko znajdowało się w jednym płaskim/etc/CCcam.cfg — OSCam dzieli rzeczy na pliki specyficzne dla celu, co wydaje się bardziej pracochłonne na początku, ale znacznie ułatwia rozwiązywanie problemów później.

oscam.conf: sekcje globalna, monitor i dvbapi

Realistyczny początekoscam.conf wygląda tak:

[global]

Linianice = -1 podnosi priorytet procesu OSCam nieznacznie, co pomaga w odbiornikach z małą ilością RAM, gdzie nie chcesz, aby softcam był głodzony przez inne procesy. Liniahttpallowed jest ważna i wrócę do niej w sekcji bezpieczeństwa — nie pomijaj blokowania tego.

oscam.server: definiowanie bloku czytnika CCcam

Tutaj zastępujesz linie C CCcam. Powiedzmy, że twój stary CCcam.cfg miał połączenie z zewnętrznym źródłem cccam. W OSCam to staje się blokiem czytnika woscam.server:

[reader]

Dla lokalnego czytnika kart smart, blok wygląda inaczej — urządzenie wskazuje na rzeczywisty sprzęt czytnika:

[reader]

Zauważ linięemmcache — to jest dokładnie to, z czym CCcam miało problemy w obsłudze EMM. Ustawienie tego tutaj oznacza, że OSCam prawidłowo buforuje i przetwarza aktualizacje uprawnień dla tej karty, zamiast liczyć na to, że AU zadziała.

oscam.user: udostępnianie kont partnerom

To zastępuje twoje linie F w CCcam.cfg. Woscam.user:

[konto]

Grupagroup = 1 tutaj musi odpowiadać numerowi grupy w bloku czytnika, z którego chcesz, aby to konto rzeczywiście pobierało karty. To jest najczęstszy błąd, który ludzie popełniają podczas migracji — więcej na ten temat poniżej.

Mapowanie linii C i F z CCcam.cfg do składni OSCam

Oto bezpośrednia tabela tłumaczeń, ponieważ to jest część, którą pomija każdy inny przewodnik:

Linia CCcam.cfgOdpowiednik OSCam
C: host port user pass[czytnik] blok w oscam.server zprotocol = cccam,device = host,port,user,hasło
F: user pass 1 0 0[konto] blok w oscam.user z odpowiadającymuser,pwd, inumeremgroup

łączącym go z odpowiednim czytnikiem

Uruchom ponownie, webif na porcie 8888 i weryfikacja logów

Gdy twoje konfiguracje są gotowe, uruchom ponownie demon:

/etc/init.d/softcam restart

Lub jeśli OSCam działa samodzielnie, a nie przez menedżera softcam w twoim obrazie:

killall -HUP oscam

Następnie sprawdź dwie rzeczy. Po pierwsze, wejdź na interfejs webowy podhttp://your-box-ip:8888 i spójrz na stronę Czytniki — chcesz zobaczyć swoją lokalną kartę i wszelkie czytniki cccam pokazujące "karta ok" lub podobne, z rzeczywistym czasem ECM. Po drugie, sprawdź log:

tail -f /tmp/oscam.log

Szukasz linii uprawnień/CAID potwierdzających, że karta jest rozpoznawana, oraz czasów odpowiedzi ECM w zakresie 100-300ms dla lokalnych kart. Jeśli czytnik po prostu siedzi tam bez żadnej aktywności ECM, to jest twój pierwszy znak, że coś w konfiguracji grupy lub połączenia jest nie tak.

Strojenie, bezpieczeństwo i rozwiązywanie problemów z nowym serwerem

Uruchomienie OSCam to łatwa część. Utrzymanie go w stabilności i nieotwieranie przypadkowo swojego boxa na internet to miejsce, w którym ludzie się potykają.

Kontrola reshare i hopów, aby zapobiec pętlom

cccmaxhops icccreshare kontrolują, jak daleko share może podróżować przez twoją sieć peerów, zanim zostanie odrzucony. Ustawcccmaxhops zbyt wysoko — powiedzmy, powyżej 3 lub 4 — a jeśli dwa z twoich przeniesionych serwerów wskazują na siebie nawzajem, nawet pośrednio przez stronę trzecią, możesz uzyskać pętle reshare, które obciążają oba boxy duplikującym ruchem ECM. Utrzymuj hops na umiarkowanym poziomie (2 to rozsądny domyślny dla większości osobistych konfiguracji) i podnoś go tylko, jeśli naprawdę rozumiesz topologię każdego peera poniżej ciebie.

Wzmocnienie portu, zapory i fail2ban

Domyślny port webif 8888 nigdy nie powinien być dostępny z otwartego internetu. Powiążhttpallowed w oscam.conf tylko z zakresem twojej sieci LAN, i ustaw prawdziwegohttpuser/httppwd — nie używaj powyższego miejsca. Po stronie zapory:

iptables -A INPUT -p tcp --dport 8888 -s 192.168.1.0/24 -j ACCEPT

Port 12000 (lub jakikolwiek port, na którym obsługujesz protokół cccam) musi pozostać otwarty dla legalnych peerów, ale nie zostawiaj go szeroko otwartego dla dowolnego adresu IP, jeśli możesz tego uniknąć — ogranicz do znanych zakresów IP peerów, gdzie to możliwe. Jeśli uruchamiasz OSCam na boxie z systemem Linux, a nie na zamkniętym obrazie odbiornika, dodanie fail2ban z filtrem monitorującym powtarzające się nieudane próby autoryzacji w oscam.log jest warte dziesięciu minut, które zajmuje jego skonfigurowanie.

Czytanie logów ECM/EMM, gdy kanały pozostają czarne

Gdy kanał staje się czarny po migracji, log prawie zawsze mówi ci, dlaczego w pierwszych kilku linijkach po dostrojeniu. Szukaj CAID i identyfikatora dostawcy (provid), które są żądane — jeśli OSCam loguje "brak pasującego czytnika" dla tego caid/provid, twojeusługi lub filtry identyfikacji są błędne, lub karta rzeczywiście nie ma tego uprawnienia. Jeśli widzisz żądania ECM wychodzące, ale żadnej odpowiedzi wracającej, sprawdź, czy dvbapi jest faktycznie włączone i czyboxtype odpowiada twojemu odbiornikowi.

Typowe błędy migracji i ich naprawy

Kilka wzorców pojawia się nieustannie podczas przejścia z CCcam na OSCam:

  • Niezgodność grup: czytnik jest w grupie 1, konto jest w grupie 2 — nie jest zgłaszany błąd, udziały po prostu cicho nigdy się nie łączą. Zawsze podwójnie sprawdzaj numery grup po masowym imporcie.
  • Błędna wersja ccc: starsze peerzy wciąż działające na protokole cccam 2.1.x nie będą w stanie nawiązać handshake, jeśli blok twojego czytnika nie ustawi wyraźniecccversion = 2.1.4 lub cokolwiek innego, co jest ich rzeczywistą wersją.
  • Wysokie czasy ECM: wszystko, co konsekwentnie przekracza 500-600ms na lokalnej karcie, zazwyczaj wskazuje na problem z czytnikiem sprzętowym lub boxem z niedoborem CPU, a nie problem z konfiguracją.
  • Mieszane protokoły: jeśli niektórzy peerzy używają newcamd/mgcamd zamiast cccam, potrzebujesz osobnego[reader] lub[newcamd]-blokowane konto działające równolegle — jeden blok protokołu nie obsługuje klientów innego protokołu.

Jak ocenić źródło udostępniania bez ryzyka

Niezależnie od tego, czy nawiązujesz nieformalną współpracę, czy ocenisz umowę na udostępnianie kart w szerszym zakresie, kryteria są takie same, niezależnie od tego, jakie oprogramowanie używa która strona.

Ogólne kryteria oceny dostawcy lub partnera

Sprawdź spójność czasu działania przez co najmniej kilka tygodni, a nie tylko jeden dobry dzień. Zapytaj (lub sprawdź w logach ECM), czy polityka reshare/hop jest rozsądna — źródło, które udostępnia bez ograniczeń przy wysokich liczbach hopów, to źródło, które ostatecznie przeciąży i obniży czasy ECM. Preferuj źródła bliższe rzeczywistej lokalnej karcie, a nie pięć hopów głęboko przez nieznanych pośredników; każdy hop dodaje opóźnienie i punkt awarii. Rozsądny czas reakcji ECM i przejrzystość co do tego, który protokół (cccam, newcamd lub inny) faktycznie używają, są ważniejsze niż jakiekolwiek twierdzenie marketingowe.

Techniczne czerwone flagi

  • Ciągłe zacinanie się lub utrata żądań ECM w godzinach szczytu, co zazwyczaj oznacza, że źródło jest przeciążone.
  • Czasy ECM konsekwentnie powyżej około 600 ms, co wskazuje na przeciążoną skrzynkę lub zbyt wiele hopów.
  • Niedopasowane lub niekompletne pokrycie caid/provid dla kanałów, które twierdzą, że obsługują.
  • Jakiekolwiek źródło, które wymaga, abyś używał konkretnego zamkniętego klienta bez wglądu w jego konfigurację lub zachowanie.

Rozważania prawne i dotyczące higieny konta

Udostępnianie kart to techniczna konfiguracja, a nie obejście dla treści, do których nie masz praw. Udostępniaj lub odbieraj tylko kanały, do których masz prawo na podstawie ważnej subskrypcji i własnej karty. Poza tym stosuje się podstawowa higiena konta — nie używaj tych samych haseł w różnych kontach, nie udostępniaj swoich danych logowania do webif i traktuj wszelkie prośby o nadmierne informacje osobiste od partnera lub źródła jako powód do odejścia.

Czy OSCam jest zamiennikiem dla serwera CCcam?

Nie jest to zamiennik binarny, ale funkcjonalnie tak: OSCam obsługuje protokół CCcam za pomocą bloków reader/user cccam, więc istniejący partnerzy nadal działają po przetłumaczeniu linii CCcam.cfg C/F na oscam.server i oscam.user.

Czy mogę uruchomić CCcam i OSCam jednocześnie na jednej skrzynce?

Technicznie możliwe, ale nie mogą obie używać tego samego DVBAPI/dekodera i tego samego portu; uruchom OSCam jako aktywny softcam i, jeśli to konieczne, niech proxy protokół cccam na 12000 zamiast uruchamiać dwa dekodery.

Jakie pliki konfiguracyjne edytuję i gdzie się znajdują?

oscam.conf, oscam.server, oscam.user (i oscam.dvbapi/oscam.services w razie potrzeby), zazwyczaj w /etc/tuxbox/config/oscam/ lub /var/etc/tuxbox/config/oscam/ w zależności od twojego obrazu.

Jak przetłumaczyć linię C-line i F-line CCcam na OSCam?

Linia 'C: host port user pass' staje się oscam.server [reader] z protocol=cccam i device=host,port; linia 'F: user pass' staje się oscam.user [account] z odpowiadającymi numerami grup, aby połączenia działały.

Dlaczego kanały pozostają czarne po migracji do OSCam?

Zazwyczaj jest to niedopasowanie grup między readerem a użytkownikiem, błędne filtry caid/ident, wyłączone dvbapi lub błędny typ skrzynki, lub reader nie ma uprawnień; sprawdź oscam.log i stronę Status/Readers w webif.

Czy NCam jest lepszy od OSCam dla konfiguracji serwera?

NCam to fork OSCam z dodatkowymi funkcjami wygody i DVBAPI; dla czystego serwera większość użytkowników woli główną wersję OSCam ze względu na stabilność i wsparcie społeczności, wybierając NCam tylko dla jego specyficznych dodatków.