Loading...
CCcam-Server + OScam-Client-Konfigurationsanleitung
\n\n

CCcam-Server + OScam-Client-Konfigurationsanleitung

\n\n

Einen funktionierendencccam server oscam client config zu erhalten, erfordert mehr, als nur einen [reader]-Block in eine Datei zu setzen und auf das Beste zu hoffen. Es gibt Protokolldetails, Gruppenrouting, Versionszeichenfolgen und Konfigurationen für nachgelagerte Listener, die alle übereinstimmen müssen — und die meisten Anleitungen überspringen die Hälfte davon. Diese hier nicht. Unten findest du alles, was du brauchst, von der Erklärung des anfänglichen TCP-Handshakes bis hin zum Ausführen von OScam als gehärteten systemd-Dienst.

\n\n

Wie die Kommunikation von CCcam zu OScam funktioniert

\n\n

Bevor du eine Konfigurationsdatei berührst, benötigst du ein klares mentales Modell davon, was tatsächlich über das Kabel passiert. CCcam und OScam sind zwei separate Softwareteile, die ein gemeinsames Protokoll sprechen. OScam verbindet sichmit dem CCcam-Server — nicht umgekehrt.

\n\n

Überblick über den CCcam-Protokoll-Handschlag

\n\n

Wenn OScam eine Verbindung zu einem CCcam-Server öffnet, geschieht als erstes ein SHA1-basierter Challenge/Response-Handschlag. Der Server sendet einen 16-Byte-Zufallswert, der Client verwendet ihn zusammen mit dem Benutzernamen und Passwort, um einen Hash zu berechnen, und dieser Hash authentifiziert die Sitzung. Keine Klartextpasswörter über das Kabel.

\n\n

Nach der Authentifizierung sendet der Server eine Freigabeliste — alle CAIDs und Anbieter-IDs, auf die er Zugriff hat. OScam speichert dies intern und verwendet es, um zu entscheiden, an welchen Reader die ECM-Anfragen weitergeleitet werden. Die Verbindung bleibt dauerhaft offen; ECM-Anfragen fließen ein, entschlüsselte ECW-Antworten fließen zurück.

\n\n

Was der 'cccam'-Reader-Typ von OScam tatsächlich tut

\n\n

Das Reader-Modul von OScam mitprotocol = cccam ist eine reine Client-Implementierung. Es spricht das CCcam-Protokoll outbound zu einem Server. OScam gibt bei dieser Konfiguration keinen CCcam-Serverport frei — es gibt keinen eingehenden CCcam-Listener. Das ist eine ganz andere Sache ([cccam] Abschnitt in oscam.conf, den du hier nicht verwendest).

\n\n

Der Reader verwaltet das Verbindungsmanagement, die Wiederverbindung bei Abbruch, das Parsen der Freigabeliste und das ECM-Forwarding. Man kann es sich wie einen Treiber für eine Remote-Karte vorstellen, die sich auf dem Server eines anderen befindet.

\n\n

Port 12000 und nicht standardisierte CCcam-Ports erklärt

\n\n

Der Standard-CCcam-Serverport ist12000/TCP. Das ist der Port, der in das ursprüngliche CCcam-Binärprogramm kompiliert wurde und auf dem die meisten Server laufen. Aber nicht standardisierte Ports (13000, 16000, 10000 usw.) sind üblich – Betreiber ändern sie, um automatisierte Port-Scanner zu vermeiden oder um mehrere Instanzen auszuführen.

\n\n

Welchen Port Ihr Serverbetreiber Ihnen gibt, das kommt in diedevice Zeile. Gehen Sie niemals davon aus, dass es 12000 ist. Bestätigen Sie immer. Die Verbindung zu dem falschen Port gibt Ihnen sofort eine saubere "Verbindung verweigert"-Meldung, die tatsächlich einfacher zu debuggen ist als ein Authentifizierungsfehler.

\n\n

Warum OScam einen dedizierten Reader-Eintrag pro CCcam-Server benötigt

\n\n

Jeder[reader] Block inoscam.server repräsentiert eine persistente TCP-Verbindung zu einem CCcam-Server. Wenn Sie zwei CCcam-Server haben, benötigen Sie zwei Reader-Blöcke mit einzigartigen Bezeichnungen. Der Lastenausgleich von OScam behandelt sie dann als separate Quellen und kann ECM-Anfragen an diejenige weiterleiten, die am schnellsten antwortet.

\n\n

Zwei Serveradressen in einen Reader-Block zu quetschen, funktioniert nicht. Ein Reader, eine Verbindung, ein Server. Das ist das Modell.

\n\n

OScam oscam.server-Konfiguration für einen CCcam-Reader

\n\n

Dieoscam.server Datei befindet sich unter/etc/oscam/oscam.server auf den meisten Linux-Installationen. Auf Enigma2-Images befindet sie sich oft unter/etc/tuxbox/config/oscam.server oder/usr/keys/oscam.server. Die Syntax ist unabhängig vom Standort identisch.

\n\n

Minimale erforderliche Direktiven für einen funktionierenden CCcam-Reader

\n\n

Im absoluten Minimum benötigen Sie:label,protokoll,gerät,benutzer,passwort, undgruppe. Alles andere ist optional, wird jedoch für die Stabilität dringend empfohlen. Ein Minimalblock wird sich verbinden, aber Sie werden Probleme mit Leerlauf-Timeouts und fehlenden Kanälen ohne die zusätzlichen Direktiven haben.

\n\n

Vollständiger annotierter oscam.server-Block mit jedem relevanten Schlüssel

\n\n
[reader]\nlabel = mycccam_reader\nprotocol = cccam\ndevice = SERVER_IP,12000\nuser = YOUR_USER\npassword = YOUR_PASS\ncccversion = 2.3.0\nccckeepalive = 1\ninactivitytimeout = 30\nreconnecttimeout = 30\ngroup = 1\ncccmaxhops = 2\ncccwantemu = 0\ncccos = 0\nccchops = 0\n
\n\n

Ersetzen SieSERVER_IP,YOUR_USER undYOUR_PASS mit dem, was Ihr Serverbetreiber bereitgestellt hat. Jeder andere Wert darüber ist ein angemessener Produktionsstandard. Hier ist, was jede Zeile tatsächlich tut:

\n\n
    \n
  • label — Eindeutiger Name für diesen Leser. Erscheint im Webinterface und in Protokollen. Machen Sie ihn aussagekräftig, insbesondere wenn Sie mehrere Leser haben.
  • \n
  • protocol — Sagt OScam, welchen Verbindungsdriver zu verwenden.cccam für Standard-CCcam-Server.
  • \n
  • device — IP/Hostname und Port, durch Kommas getrennt. Keine Leerzeichen um das Komma.
  • \n
  • user / password — Anmeldeinformationen genau wie bereitgestellt. Groß- und Kleinschreibung beachten.
  • \n
  • cccversion — Die CCcam-Version, die OScam während des Handshakes präsentiert. Server können dies überprüfen.
  • \n
  • ccckeepalive — Sendet regelmäßige Pings über inaktive Verbindungen. Auf 1 setzen, es sei denn, Ihr Server lehnt Keepalives ausdrücklich ab.
  • \n
  • inactivitytimeout — Sekunden ohne ECM-Aktivität, bevor OScam die Verbindung als veraltet betrachtet und sich neu verbindet. 30 ist sinnvoll.
  • \n
  • reconnecttimeout — Sekunden warten, bevor ein erneuter Verbindungsversuch nach einem Abbruch unternommen wird. Halten Sie dies bei 30 oder weniger.
  • \n
  • group — Lesergruppennummer. Muss mit der Gruppe in Ihreroscam.user übereinstimmen, sonst werden ECMs hier nicht weitergeleitet.
  • \n
  • cccmaxhops — Maximale Anzahl an Hops, die von der Share-Liste des Servers akzeptiert werden. Mehr dazu weiter unten.
  • \n
  • cccwantemu — Setzen Sie auf 1, wenn Sie möchten, dass der Server emulierte Karten teilt. Normalerweise 0.
  • \n
  • cccos / ccchops — Überschreibt das gemeldete Betriebssystem und die Hop-Anzahl im Handshake. Lassen Sie auf 0, es sei denn, der Server erfordert spezifische Werte.
  • \n
\n\n

Einstellung 'protocol = cccam' vs 'protocol = cccam2'

\n\n

cccam2 ist eine interne erweiterte Variante des CCcam-Protokolls in OScam. Es fügt Funktionen zur Aushandlung der Share-Liste und einen zusätzlichen Austausch von Metadaten hinzu. Der Haken: Es funktioniert nur korrekt, wennbeide Endpunkte OScam sind. Ein echter CCcam-Server (der die tatsächliche CCcam-Binärdatei ausführt) versteht die cccam2-Erweiterungen nicht und wird entweder die Verbindung ablehnen oder unvorhersehbar reagieren.

\n\n

Faustregel: Verwenden Sieprotocol = cccam für alles, was echte CCcam-Server-Software ausführt. Verwenden Siecccam2 nur in OScam-zu-OScam-Setups. Im Zweifelsfall beginnen Sie mitcccam.

\n\n

Die 'device'-Direktive: Hostname- und Port-Syntax

\n\n

Standard-IPv4 oder Hostname:device = myserver.example.com,12000

\n\n

IPv6-Adressen erfordern die Verwendung von Klammern:device = [2001:db8::1],12000. Lassen Sie die Klammern bei IPv6 weg, und OScam wird die Adresse nicht korrekt analysieren — das ist ein häufiger Fehler bei IPv6-only VPS-Setups.

\n\n

Wenn Ihr Server hinter einem Reverse-Proxy oder Lastenausgleich sitzt, sieht der CCcam-Server möglicherweise nicht Ihre echte Client-IP. Wenn der Server IP-Whitelisting verwendet, schlägt die Authentifizierung selbst mit korrekten Anmeldedaten fehl. Das ist ein serverseitiges Konfigurationsproblem — kontaktieren Sie den Betreiber.

\n\n

Benutzername, Passwort und cccversion-Felder

\n\n

Anmeldedaten sind groß- und kleinschreibungsempfindlich und müssen genau mit dem übereinstimmen, was auf dem Server konfiguriert ist. Ein nachfolgendes Leerzeichen im Passwortfeld führt zu einem stillen Authentifizierungsfehler — seien Sie vorsichtig beim Kopieren und Einfügen.

\n\n

DercccversionString ist das, was OScam dem Server während des Handshakes mitteilt, was es ist. Häufige Werte, die Server erwarten:2.3.0,2.1.4,2.2.1. Wenn der Server eine bestimmte Version erzwingt und Ihre nicht übereinstimmt, wird die Verbindung sofort nach der Authentifizierung getrennt — keine Fehlermeldung, die klar sagt "Versionskonflikt." Sie sehen nur eine Trennung. Versuchen Sie zuerst2.3.0; wenn das fehlschlägt, fragen Sie Ihren Serverbetreiber, welche Versionszeichenfolge sie erwarten.

\n\n

Inaktivitätszeitüberschreitung und Wiederverbindungseinstellungen

\n\n

inactivitytimeout = 30 bedeutet, dass OScam sich wieder verbindet, wenn 30 Sekunden lang keine ECM-Aktivität stattfindet. Das ist gut — es stellt veraltete Verbindungen wieder her, ohne darauf zu warten, dass das Betriebssystem einen toten Socket erkennt. In sehr verlustbehafteten Netzwerken könnten Sie dies auf 20 senken.

\n\n

reconnecttimeout = 30 ist die Verzögerung zwischen einer Trennung und dem nächsten Wiederverbindungsversuch. Es bei 30 zu belassen bedeutet etwa 30 Sekunden potenziellen Blackscreen nach einem Serverabbruch. Für kritische Setups mit mehreren Servern ist es besser, einen niedrigeren Wert (15–20) plus mehrere Leser-Einträge zu haben, als einen Server mit schnellen Wiederverbindungen zu überlasten.

\n\n

Gruppenzuweisung und warum sie für das Routing wichtig ist

\n\n

DerGruppenWert ist OScams internes Routing-Mechanismus. Eine ECM-Anfrage von einem nachgelagerten Client (deinem STB) wird an Leser weitergeleitet, die die gleiche Gruppennummer wie der Benutzer haben, der die Anfrage stellt. Wenn dein Leser in Gruppe 1 ist, aber der Benutzer-Eintrag deines STB Gruppe 2 angibt, erreicht die ECM diesen Leser nie. Punkt. Dies ist die häufigste Fehlkonfiguration im gesamten cccam-Server oscam-Client-Konfigurationsprozess, und fast kein anderes Handbuch erklärt es klar.

\n\n

oscam.conf und oscam.user Einstellungen, die CCcam-Clients betreffen

\n\n

Globale [global] Sektion: logfile, nice, maxlogsize

\n\n

Dieoscam.confDatei unter/etc/oscam/oscam.confsteuert das globale Verhalten. Ein minimal funktionierender[global]Block:

\n\n
[global]\nlogfile = /var/log/oscam/oscam.log\nmaxlogsize = 512\nnice = -1\nWaitForCards = 1\nlb_mode = 1\nlb_save = 1\n
\n\n

maxlogsize ist in KB — 512 KB hält die Protokolle handhabbar, ohne nützliche Historie zu verlieren.WaitForCards = 1 sagt OScam, ECM-Anfragen zu halten, bis mindestens ein Leser bereit ist, anstatt sofort "nicht gefunden" zurückzugeben.nice = -1 gibt OScam eine leicht erhöhte CPU-Scheduling-Priorität, was auf eingebetteten Geräten unter Last wichtig ist.

\n\n

Aktivierung der Weboberfläche zur Überwachung des Live-Reader-Status

\n\n

Fügen Sie dies zuoscam.conf hinzu, um den HTTP-Monitor auf Port 8888 zu aktivieren:

\n\n
[webif]\nhttpport = 8888\nhttpuser = admin\nhttppwd = deinpasswort\nhttprefresh = 10\nhttpallowed = 127.0.0.1,192.168.0.0-192.168.255.255\n
\n\n

Beschränken Siehttpallowed auf Ihr lokales Netzwerk. Exponieren Sie Port 8888 niemals ohne Authentifizierung im Internet, und selbst dann ist es riskant. Die Weboberfläche ist der Ort, an dem Sie den Reader-Status in Echtzeit überwachen — ob die CCcam-Verbindung aktiv ist, Hop-Zahlen, letzte ECM-Zeit und Antwortlatenz. Sie werden dies ständig beim Debuggen verwenden.

\n\n

oscam.user: Erstellen eines lokalen Benutzers, um entschlüsselte ECWs an Ihren STB weiterzuleiten

\n\n

Dateispeicherort:/etc/oscam/oscam.user. Sie benötigen mindestens einen Benutzer-Eintrag für das Gerät, das sich mit OScam verbindet (Ihr STB, Dreambox, VU+ Box usw.):

\n\n
[account]\nuser = stbuser\npwd = stbpassword\ngroup = 1\nau = 1\n
\n\n

Diegroup = 1 hier muss mit dergroup = 1 in Ihrem Reader-Block übereinstimmen. Das ist die Verbindung. OScam sieht die ECM-Anfrage von stbuser (Gruppe 1), sucht nach Lesegeräten in Gruppe 1, findet Ihren CCcam-Reader, sendet die ECM dorthin, erhält die ECW zurück und gibt sie an den STB zurück. Brechen Sie die Gruppenübereinstimmung und nichts funktioniert, selbst wenn die CCcam-Verbindung einwandfrei ist.

\n\n

Verknüpfung von Benutzern mit Reader-Gruppen mit der 'group'-Direktive

\n\n

Gruppen sind einfach ganze Zahlen. Sie können jede Zahl von 1–64 verwenden. Sie können mehreren Gruppen sowohl Lesern als auch Benutzern mit Komma-Trennung zuweisen:gruppe = 1,2,3. Dies ist nützlich, wenn Sie mehrere CCcam-Reader in verschiedenen Gruppen haben und einem Benutzer den Zugriff auf alle gewähren möchten. Der Lastenausgleich von OScam wählt dann den besten Reader aus allen zugewiesenen Gruppen aus.

\n\n

Einstellung von 'au' (Auto-Update) für Card Sharing Reader korrekt

\n\n

au = 1 im Benutzerkonto aktiviert die automatische Aktualisierung von Berechtigungsmanagementnachrichten (EMM) für diesen Benutzer. Für ein Card Sharing-Setup, bei dem Sie nur ECM-Antworten empfangen,au = 1 auf dem Reader selbst ist normalerweise nicht erforderlich und kann Rauschen verursachen. Setzen Sie es im nachgelagerten Benutzerkonto, wenn Sie Abonnementverlängerungen durchleiten müssen; lassen Sie es auf dem Reader deaktiviert, es sei denn, Ihr Server unterstützt und benötigt es.

\n\n

Verbinden Sie Ihren STB oder Softcam mit OScam nach CCcam-Authentifizierung

\n\n

Hier scheitern die meisten CCcam-Server-OScam-Client-Konfigurationsanleitungen vollständig. Sie verbinden OScam mit dem CCcam-Server und hören auf. Aber diese Verbindung löst nur die Hälfte des Problems — Sie haben die verschlüsselten ECMs an den richtigen Ort gebracht, aber Sie müssen die entschlüsselten ECWs noch zurück zu Ihrem TV-Box bringen.

\n\n

Verwendung von OScam als newcamd Listener für Dreambox/VU+ Boxen

\n\n

Newcamd ist das am weitesten unterstützte Protokoll auf Enigma2 STBs. Fügen Sie einen[newcamd] Abschnitt zuoscam.conf hinzu:

\n\n
[newcamd]\nkey = 0102030405060708091011121314\nport = 15050@1702:000000\n
\n\n

Derkey ist der newcamd DES-Schlüssel — er muss mit dem übereinstimmen, was Sie im newcamd-Client des STB konfigurieren. Der oben angegebene Wert ist ein gängiger Standard; Sie können jeden 14-Byte-Hex-String verwenden. Dieport Zeilenformat istport@CAID:ProviderID. Verwenden Sie000000 als Anbieter-ID, um alle Anbieter für diese CAID zu akzeptieren, oder geben Sie eine echte Anbieter-ID an (z. B.000000 für Wildcard,000001 für einen bestimmten Anbieter). Für mehrere CAIDs fügen Sie mehrere Port-Einträge hinzu, die durch Semikolons getrennt sind:port = 15050@1702:000000;15051@0D00:000000.

\n\n

Konfigurieren von oscam.conf [newcamd] Listener Block

\n\n

Fügen Sie auf Ihrer Dreambox oder VU+ Box einen newcamd-Servereintrag hinzu, der auf die IP der Maschine zeigt, die OScam ausführt, Port 15050, mit demselben DES-Schlüssel. Die STB sendet ECM-Anfragen an den newcamd-Listener von OScam, OScam leitet diese über den CCcam-Reader an den Server weiter, erhält das ECW zurück und gibt es an die STB zurück. Das ist die gesamte Kette.

\n\n

Verwendung des camd35/cs357x-Listeners von OScam für andere Clients

\n\n

Einige Clients bevorzugen camd35 (auch cs357x genannt). Fügen Sie zuoscam.conf hinzu:

\n\n
[cs357x]\nport = 15000\n
\n\n

Die Benutzeranmeldeinformationen für camd35 stammen ausoscam.user genau wie newcamd. Das Protokoll ist einfacher als newcamd, aber weniger verbreitet auf modernen STBs. Verwenden Sie newcamd, es sei denn, Ihr Client benötigt speziell camd35.

\n\n

oscam.user-Eintrag für die STB: Erforderliche Felder

\n\n
[account]\nuser = stbuser\npwd = stbpassword\ngroup = 1\nau = 1\nuniq = 0\n
\n\n

uniq = 0 erlaubt es, dass dieselben Anmeldeinformationen von mehreren Clients gleichzeitig verbunden werden. Setzen Sie auf1 wenn Sie eine Einzelverbindung pro Benutzer durchsetzen möchten. Für einen Haushalt mit einem STB funktioniert beides. Für gemeinsame Setups setzen Sie es auf 0, um eine Selbstsperre während der Wiederverbindungen zu vermeiden.

\n\n

Überprüfung, ob die Kartenfreigabe ECMs über Webif Reader-Statistiken überträgt

\n\n

Öffnen Siehttp://OSCAM_IP:8888 in einem Browser. Klicken Sie auf Ihren Lesernamen. Sie sehen: Verbindungsstatus, letzte ECM-Zeit, ECM-Zähler, Antwortzeit in Millisekunden und Hop-Zähler. Wenn der Leser "verbunden" anzeigt, der ECM-Zähler jedoch nach dem Versuch, einen Kanal zu empfangen, bei null bleibt, liegt das Problem downstream — überprüfen Sie die Verbindung des STB zu OScam oder überprüfen Sie die Gruppenzuweisungen.

\n\n

Wenn der ECM-Zähler steigt, Sie aber immer noch einen schwarzen Bildschirm sehen, hat der CCcam-Server möglicherweise die Karte für diese CAID nicht. Überprüfen Sie die Freigabeliste in der Detailansicht des Lesers, um zu bestätigen, dass die benötigte CAID tatsächlich aufgeführt ist.

\n\n

Fehlerbehebung bei CCcam-Reader-Verbindungsproblemen in OScam

\n\n

Reader bleibt in 'CACHEEX' oder 'CARDOK' hängen — Ursachen

\n\n

"CACHEEX" im Leserstatus bedeutet normalerweise, dass OScam im Cache-Austauschmodus ist, nicht im direkten CCcam-Reader-Modus. Überprüfen Sie, ob Sie versehentlichcacheex = 1 im Leser gesetzt haben. Ein sauberer CCcam-Reader sollte als "VERBUNDEN" oder "CARDOK" angezeigt werden, sobald die Authentifizierung abgeschlossen ist und der Server eine Freigabeliste mit tatsächlichen Karten sendet.

\n\n

Wenn der Status niemals CARDOK erreicht, hat der Server wahrscheinlich keine aktiven Karten in seiner Freigabeliste, odercccmaxhops filtert alles heraus.

\n\n

AUTH FEHLGESCHLAGEN: Falscher cccversion-String

\n\n

Im OScam-Log (/var/log/oscam/oscam.log) sieht eine fehlgeschlagene Authentifizierung so aus:

\n\n
2024/01/15 14:23:01 9876 r mycccam_reader cccam: Anmeldung fehlgeschlagen für Benutzer YOUR_USER\n2024/01/15 14:23:01 9876 r mycccam_reader cccam: Verbindung geschlossen
\n\n

Sie sehen eine Verbindung, gefolgt von einer sofortigen Trennung. Bevor Sie die Anmeldeinformationen beschuldigen, versuchen Sie,cccversion zu ändern. Wechseln Sie von2.3.0 zu2.1.4 oder umgekehrt. Einige Server sind so kompiliert, dass sie Versionszeichenfolgen ablehnen, die sie nicht erkennen. Dies ist ein stiller Fehlermodus — es gibt keinen expliziten "falsche Version"-Fehler im Protokoll, nur eine Trennung.

\n\n

Um vorübergehend ausführliche Ausgaben des Lesers zu erhalten, fügen Sieloglevel = 512 zu[global] in oscam.conf hinzu, starten Sie OScam neu, überprüfen Sie die Protokolle und entfernen Sie es dann. Das Protokollvolumen auf Stufe 512 ist erheblich — lassen Sie es nicht dauerhaft aktiviert.

\n\n

Verbindung abgelehnt vs. Verbindungstimeout — Was jedes bedeutet

\n\n

Verbindung abgelehnt: Das TCP-Paket erreichte den Server, aber es hört nichts auf diesem Port. Entweder ist die Portnummer falsch, der CCcam-Server läuft nicht, oder ein lokaler Prozess blockiert den Port (auf Enigma2 könnte ein CCcam-Plugin, das neben OScam läuft, den Port 12000 beansprucht haben — beenden Sie es).

\n\n

Verbindungstimeout: Das TCP SYN-Paket erhielt niemals eine Antwort. Entweder blockiert eine Firewall Pakete, die IP ist falsch oder das Routing ist defekt. Testen Sie mit:nc -zv SERVER_IP 12000. Wenn es hängt, handelt es sich um ein Netzwerk-/Firewall-Problem. Wenn es sofort "abgelehnt" zurückgibt, ist der Port auf dem Server geschlossen.

\n\n

OScam-Protokollzeilen, auf die Sie achten sollten

\n\n

Eine erfolgreiche Verbindungssequenz im Protokoll sieht aus wie:

\n
r mycccam_reader cccam: SERVER_IP auf x.x.x.x aufgelöst\nr mycccam_reader cccam: verbunden mit x.x.x.x:12000\nr mycccam_reader cccam: Anmeldung erfolgreich für Benutzer YOUR_USER\nr mycccam_reader cccam: Empfangene Share-Liste (47 Karten)
\n\n

Wenn Sie "empfangene Share-Liste (0 Karten)" sehen — der Server ist aktiv und Ihre Anmeldedaten funktionieren, aber es gibt keine aktiven Karten auf diesem Konto. Kontaktieren Sie den Serverbetreiber.

\n\n

Firewall und NAT: Sicherstellen, dass Port 12000 erreichbar ist

\n\n

OScam verbindet sichausgehend mit Port 12000. Die meisten Heim-NAT-Setups erlauben ausgehende Verbindungen ohne spezielle Konfiguration. Probleme treten auf, wenn eine Firewall auf dem Client-Rechner selbst ausgehende Verbindungen blockiert (ungewöhnlich, aber möglich mit strengen iptables-Regeln), oder wenn die Firewall des Servers IP-Whitelistung hat und Ihre öffentliche IP nicht auf der Liste steht.

\n\n

Überprüfen Sie auch: Wenn Sie sich in einer gemeinsamen NAT-Umgebung befinden, in der mehrere OScam-Clients dieselbe öffentliche IP teilen, kann der CCcam-Server eine Verbindungsbeschränkung pro IP haben und Verbindungen über dieses Limit hinaus ablehnen. Jeder Client benötigt ein eigenes einzigartiges Benutzername/Passwort-Paar — dieselben Anmeldedaten von derselben IP funktionieren manchmal, dieselben Anmeldedaten von derselben IP gleichzeitig schlagen fast immer fehl.

\n\n

cccmaxhops zu niedrig eingestellt — Fehlende Kanäle erklärt

\n\n

CCcam-Karten haben eine "Hop-Zahl" — wie viele Relais die Karte durchlaufen hat, um Ihren Server zu erreichen. Eine Karte, die direkt in der Server-Hardware ist, ist Hop 0. Eine Karte, die von einem anderen CCcam-Server zu Ihrem geteilt wird, ist Hop 1. Wieder geteilt, Hop 2. Und so weiter.

\n\n

cccmaxhops = 1 bedeutet, dass OScam nur Karten mit einer Hop-Zahl von 0 oder 1 verwenden wird. Karten bei Hop 2+ sind in der Share-Liste, aber OScam ignoriert sie. Wenn der Kanal, den Sie benötigen, zufällig von einer Karte bei Hop 2 kommt, werden Sie verbunden, der Reader wird als gesund angezeigt, aber dieser spezielle Kanal wird nicht entschlüsselt. Setzen Siecccmaxhops = 2 oder höher, wenn Sie selektiv fehlende Kanäle erhalten. Seien Sie sich bewusst, dass sehr hohe Werte (8+) dazu führen können, dass OScam enorme Share-Listen auf stark frequentierten Servern erhält, was Speicher verbraucht — ein echtes Problem bei Dreambox-Hardware mit 256 MB RAM.

\n\n

Doppelte Reader-Einträge verursachen Schleifen-Neuverbindungen

\n\n

Zwei Reader-Einträge mit demselben Label inoscam.server verursachen verwirrendes Verhalten — OScam kann beide laden, was zu doppelten Verbindungsversuchen zum selben Server führt. Das Protokoll zeigt schnelle Verbindungs-/Trennzyklen. Verwenden Sie eindeutige Labels für jeden Reader. Überprüfen Sie auf versehentliche Duplikate, wenn Sie sehen, dass ein Reader im Webinterface springt.

\n\n

Härtung und Leistungsoptimierung für den OScam CCcam Reader

\n\n

Einstellen von reconnecttimeout zur Vermeidung von Zap-Verzögerungen

\n\n

Mit nur einem CCcam-Reader bedeutet ein Serverausfall einen Blackscreen, bis OScam sich wieder verbindet.reconnecttimeout = 30 ist der Standardwert, was bis zu 30 Sekunden Schwarzbild bedeutet. Eine Senkung auf 15 reduziert dieses Zeitfenster, erhöht jedoch die Wiederverbindungsfrequenz bei instabilen Verbindungen. Für den produktiven Einsatz ist es besser, zwei Reader-Einträge zu verwenden, die auf verschiedene Server zeigen, mitlb_mode = 1 als bessere Lösung, als nur die Wiederverbindungszeit anzupassen.

\n\n

ccckeepalive und seine Auswirkungen auf inaktive Verbindungen

\n\n

ccckeepalive = 1 sendet während inaktiver Phasen eine periodische Ping-ähnliche Nachricht über die CCcam-TCP-Verbindung. Ohne dies verfallen NAT-Zuordnungen auf Routern typischerweise nach 60–300 Sekunden Inaktivität und beenden stillschweigend die TCP-Sitzung. OScam wird nicht wissen, dass die Verbindung tot ist, bis die nächste ECM-Anfrage fehlschlägt. Mit aktiviertem Keepalive bleibt die NAT-Zuordnung aktiv und OScam erkennt Verbindungsabbrüche schneller. Lassen Sie dies aktiviert.

\n\n

Verwendung von lb_mode (Lastenverteilung) beim Verbinden mit mehreren CCcam-Servern

\n\n

Eingestellt inoscam.conf [global]:

\n
    \n
  • lb_mode = 0: Keine Lastenverteilung. OScam verwendet den ersten verfügbaren Reader in der Liste. Einfach, bietet jedoch keinen Leistungsgewinn.
  • \n
  • lb_mode = 1: Schnellster Reader gewinnt. OScam verfolgt die ECM-Antwortzeiten pro Reader und leitet zukünftige Anfragen an den Reader mit der besten durchschnittlichen Antwortzeit weiter. Das ist, was Sie für eine Multi-Server-Konfiguration wollen.
  • \n
  • lb_mode = 5: Gewichtete Zufallsverteilung. Berücksichtigt die Antwortzeit, fügt jedoch Randomisierung hinzu, um die Last zu verteilen. Nützlich, wenn Sie viele Server ähnlicher Qualität haben und nicht möchten, dass einer den gesamten Verkehr erhält.
  • \n
\n\n

Für die meisten Setups mit 2–4 CCcam-Readern,lb_mode = 1 mitlb_save = 1 (speichert gelernte Statistiken auf der Festplatte, damit OScam nach einem Neustart nicht blind startet) ist die richtige Wahl.

\n\n

Logrotate-Konfiguration für OScam-Protokolle zur Vermeidung von Festplattenspeicherfüllung

\n\n

Erstellen Sie/etc/logrotate.d/oscam:

\n\n
/var/log/oscam/oscam.log {\n täglich\n rotieren 7\n komprimieren\n fehlendok\n nichtleer\n kopierentruncat\n}
\n\n

kopierentruncat ist hier wichtig — OScam hält den Protokolldateihandle offen, sodass das Standard-Rotieren-und-Signal nicht funktioniert, ohne OScam ein SIGHUP zu senden. Kopieren und Truncat kopiert die Datei und kürzt dann die Originaldatei an Ort und Stelle, was funktioniert, ohne den OScam-Prozess zu berühren. Auf eingebetteten Enigma2-Geräten mit kleinem Flash-Speicher aggressiver rotieren:rotieren 3 und in Betracht ziehenmaxsize 1M.

\n\n

OScam als Nicht-Root-Systemd-Dienst ausführen

\n\n

Benutzer und Verzeichnis erstellen:

\n
useradd -r -s /sbin/nologin oscam\nmkdir -p /var/log/oscam\nchown oscam:oscam /var/log/oscam\nchown -R oscam:oscam /etc/oscam\n
\n\n

Erstellen Sie/etc/systemd/system/oscam.service:

\n\n
[Einheit]\nBeschreibung=OScam Softcam\nNach=network-online.target\nWünscht=network-online.target\n\n[Dienst]\nTyp=einfache\nBenutzer=oscam\nGruppe=oscam\nExecStart=/usr/bin/oscam -B /var/run/oscam.pid -c /etc/oscam\nPIDDatei=/var/run/oscam.pid\nNeustart=bei-Fehler\nNeustartSec=10\nStandardAusgabe=null\n\n[Installation]\nGewünschtVon=multi-user.target\n
\n\n

Aktivieren und starten:

\n
systemctl daemon-reload\nsystemctl enable oscam\nsystemctl start oscam\n
\n\n

Als Nicht-Root auszuführen bedeutet, dass ein kompromittierter OScam-Prozess das System nicht beschädigen kann. DieNeustart=bei-Fehler Direktive behandelt unerwartete Abstürze automatisch. Dies ist gängige Praxis und dauert etwa 5 Minuten, um eingerichtet zu werden — überspringen Sie es und Sie betreiben einen netzwerkfähigen Dienst als Root auf unbestimmte Zeit.

\n\n

Eine letzte Überprüfung, bevor Sie annehmen, dass Ihre cccam-Server-oscam-Client-Konfiguration abgeschlossen ist: Führen Sieoscam --version aus und sehen Sie sich die Modulliste in der Ausgabe an. Einige minimale oder reduzierte Builds, die für spezifische Embedded-Ziele kompiliert wurden, schließen das CCcam-Lesemodul vollständig aus. Wenn Sie "cccam" nicht in der Liste der kompilierten Module sehen, wird keine Menge an Konfigurationsänderungen es zum Laufen bringen — Sie benötigen einen voll funktionsfähigen OScam-Build.

\n\n
\n

Häufig gestellte Fragen

\n\n
\n

Was ist der Standardport für einen CCcam-Server, mit dem OScam verbindet?

\n

Der Standard-CCcam-Serverport ist12000/TCP. Viele Betreiber verwenden nicht standardmäßige Ports — bestätigen Sie immer mit demjenigen, der Ihnen die Serveranmeldeinformationen gegeben hat. Der Port wird in derGerät Zeile vonoscam.server alshostname,port ohneLeerzeichen.Niemals12000annehmen,wennnichtexplizitgesagtwurde,dassderPortvorhandenist.

\n
\n\n
\n

WasistderUnterschiedzwischen'protocol=cccam'und'protocol=cccam2'inOScam?

\n

cccam2isteineinterneerweiterteProtokollvariantevonOScammitzusätzlichenVerhandlungsfunktionen. Esfunktioniertnurkorrekt,wennsowohlderClientalsauchderServerOScamausführen.EinechteCCcam-Serverbinaryverstehtkeinecccam2-Erweiterungen—eswirdentwederdieVerbindungablehnenoderunvorhersehbarreagieren.VerwendenSieprotocol=cccamfüralles,wastatsächlicheCCcam-Serversoftwareausführt,undreservierenSiecccam2ausschließlichfürOScam-zu-OScam-Setups.

\n
\n\n
\n

WarumzeigtmeinOScam-Reader'connected',aberKanäleentschlüsselnimmernochnicht?

\n

"Connected"bedeutetnur,dassdieTCP-Verbindungsteht—esgarantiertnichtdieVerfügbarkeitderKarten.ArbeitenSiediesesChecklisteab:(1)Istcccmaxhopshochgenug,umdieKartenzuerreichen,dieSiebenötigen?(2)IstdieCAIDundProvider-ID,dieSiebenötigen,tatsächlichinderShare-ListedesServers? (3)StimmtdieGruppeinIhrerSTB'soscam.usermitderGruppedesReadersüberein?(4)ÜberprüfenSieECM-AnforderungszahleninderWebif-Readerdetails—wennsiebeiNullsind,erreichtdieAnforderungnichteinmalOScamvonIhrerSTB.

\n
\n\n
\n

KannOScamgleichzeitigmitmehrerenCCcam-Servernverbinden?

\n

Ja.FügenSiemehrere[reader]Blöckehinoscam.server, jeweils mit einem einzigartigenLabel. Weisen Sie allen dasselbe Gruppen zu, wenn Sie ein einheitliches Routing wünschen, oder unterschiedliche Gruppen für separate Zugriffsebenen. Setzen Sielb_mode = 1 inoscam.conf [global] um OScam automatisch jede ECM-Anfrage an den am schnellsten antwortenden Leser weiterzuleiten. Fügen Sielb_save = 1 hinzu, damit diese gelernten Zeiten über Neustarts hinweg bestehen bleiben.

\n
\n\n
\n

Worauf sollte ich achten, wenn ich die Zuverlässigkeit eines CCcam-Servers vor der Konfiguration bewerten möchte?

\n

Wichtige Punkte zu überprüfen: Veröffentlicht der Betreiber Uptime-Statistiken oder hat eine Statusseite? Wo befindet sich der Server geografisch im Verhältnis zu Ihnen – der Standort des Servers beeinflusst direkt die ECM-Antwortlatenz. Wie viele gleichzeitige Verbindungen erlaubt das Konto? Bietet der Betreiber eine Testlinie vor einer vollständigen Verpflichtung an? Gibt es technische Dokumentationen zur Serverkonfiguration? Vermeiden Sie Server ohne Testzugang und ohne Möglichkeit, die Konfiguration zu überprüfen, bevor Sie alles darum herum einrichten.

\n
\n\n
\n

Wie überprüfe ich die OScam-Protokolle, um zu bestätigen, dass ein CCcam-Leser erfolgreich authentifiziert wurde?

\n

In/var/log/oscam/oscam.log oder der Webif-Protokollansicht zeigt eine erfolgreiche Authentifizierung Zeilen mit Ihrem Leserlabel, gefolgt von "cccam: login successful" und dann "received share list." Eine fehlgeschlagene Authentifizierung zeigt "login failed" oder eine sofortige Trennung direkt nach der TCP-Verbindungszeile. Wenn Sie mehr Details benötigen, fügen Sie vorübergehendloglevel = 512 zu[global] inoscam.conf hinzu und starten Sie neu – dies erzeugt ausführliche Ausgaben pro Leser. Entfernen Sie es nach der Fehlersuche; das Protokollvolumen ist groß.

\n
\n\n
\n

Unterstützt OScam das CCcam-Karten-Sharing sowohl auf Linux- als auch auf Embedded-Plattformen (Enigma2)?

\n

Ja, und dieoscam.server Konfigurationssyntax ist auf beiden identisch. Auf Enigma2 (Dreambox, VU+) wird OScam als ipk- oder opk-Plugin installiert. Die Konfigurationsdateien befinden sich typischerweise unter/etc/tuxbox/config/ oder/usr/keys/ je nach Image. Ein Hinweis für Enigma2: Wenn ein CCcam-Plugin ebenfalls installiert und aktiv ist, könnte es bereits lokal auf Port 12000 lauschen. Das führt zu "Verbindung abgelehnt", wenn der Leser von OScam versucht, sich mit dem Server zu verbinden — beenden Sie das konfliktierende CCcam-Plugin und verbinden Sie sich nur über OScam.

\n
\n\n