Loading...
CCcam-Serverkonfigurations-Tutorial: Schritt-für-Schritt-Anleitung

CCcam-Serverkonfigurations-Tutorial: Schritt-für-Schritt-Anleitung

Die korrekte Konfiguration von CCcam ist schwieriger als gedacht. Die Software startet fehlerfrei, die Protokolldateien sind unauffällig, und dann – funktioniert nichts mehr. Kanäle werden nicht entschlüsselt, Clients können keine Verbindung herstellen oder das Programm stürzt nach etwa 20 Minuten ab. Diese Anleitung beschreibt die komplette Einrichtung von der Struktur der ccccam.cfg Datei bis zur clientseitigen Überprüfung und behandelt dabei auch Fehlerquellen, die in den meisten Tutorials unerwähnt bleiben.

Was ist CCcam und wie funktioniert das Server-Client-Modell?

CCcam-Protokollübersicht

CCcam ist ein Protokoll zur Kartenverteilung und eine Softcam-Anwendung. Es kommuniziert mit einem physischen Smartcard-Lesegerät, um Steuerwörter (CW) zu erhalten – die Entschlüsselungsschlüssel, die Satellitenreceiver zum Dekodieren verschlüsselter Fernsehkanäle benötigen. Das Protokoll verarbeitet ECM-Anfragen (Entitlement Control Message) zwischen Receiver und Karte und sendet entschlüsselte Antworten nahezu in Echtzeit zurück.

Das Protokoll fand weite Verbreitung, da es sich nahtlos in Enigma2-basierte Satellitenempfänger integrieren ließ und unter Linux als Hintergrunddienst ausgeführt werden konnte. Eine funktionierende CCcam-Instanz benötigt zwei Dinge: eine gültige Smartcard mit einem aktiven Abonnement und ein Kartenlesegerät, mit dem die Software kommunizieren kann.

Server- vs. Client-Rollen erklärt

Das Verständnis Ihrer Rolle bestimmt Ihren gesamten Konfigurationsansatz.

Servermodus: Sie benötigen eine physische Smartcard und ein Kartenlesegerät. CCcam liest die Karte direkt, verarbeitet ECM-Anfragen lokal und kann Antworten mit von Ihnen definierten autorisierten Client-Konten teilen. Ihre ccccam.cfg enthält B- oder R-Zeilen, die auf Ihre Kartenlesegeräte-Hardware verweisen, sowie F-Zeilen, die festlegen, wer sich mit Ihnen verbinden darf.

Client-Modus: Sie verwenden keine lokale Karte. Sie verbinden sich über eine vom Benutzer bereitgestellte C-Leitung mit dem CCcam-Server eines anderen Benutzers. Ihr Empfänger sendet ECM-Anfragen an diesen Server, die von dessen Karte verarbeitet werden. Die Authentifizierung erfolgt mit Benutzername und Passwort. In diesem Modus verfügt Ihre Konfiguration über C-Leitungen, aber keine B-Leitungen oder Konfigurationen für eine lokale Karte.

Viele Konfigurationen kombinieren beides – sie fungieren als Client für einen Upstream-Server und bedienen gleichzeitig lokale Clients. Dies wird als Kaskadierung bezeichnet, und die Anzahl der Hops steuert, wie weit die Datenverteilung einer Karte reichen kann.

Unterstützte Hardware- und Betriebssystemplattformen

CCcam läuft auf verschiedenen Plattformen, die jeweils etwas unterschiedliche Installationsanforderungen haben:

  • Enigma2-Satellitenreceiver (DreamBox, Vu+, Zgemma, Gigablue) – die gängigste Installationsmethode. CCcam wird als IPK- oder DEB-Paket installiert.
  • Linux-VPS oder dedizierter Server – typischerweise Ubuntu oder Debian x86/x64. Benötigt einen USB-Smartcard-Leser im Servermodus. Gut geeignet für zentrale Serverbereitstellungen.
  • Raspberry Pi – funktioniert einwandfrei mit einem USB-Lesegerät. Es müssen udev-Regeln eingerichtet werden, um CCcam den Zugriff auf /dev/ttyUSB0 oder ähnliche Gerätepfade zu erlauben. Ohne die korrekte udev-Regel startet der Dienst zwar, kann das Lesegerät aber nicht öffnen.
  • Windows wird nicht nativ unterstützt. Erfordert eine virtuelle Linux-Maschine oder WSL. Nicht für den Produktiveinsatz empfohlen.

Rechtliche Hinweise zur persönlichen Nutzung

Die CCcam-Software selbst ist ein Werkzeug. Die Verwendung dieser Software, um Ihrem eigenen Empfänger Zugriff auf eine Smartcard zu gewähren, für die Sie ein gültiges Abonnement besitzen, ist eine rein technische Konfigurationsaufgabe. Rechtliche Probleme und Verstöße gegen die Nutzungsbedingungen entstehen jedoch, wenn der Zugriff auf eine einzelne Abonnementkarte von mehreren unabhängigen Nutzern geteilt oder ein Karten-Sharing-Zugriff für ein Abonnement genutzt wird, für das Sie nicht bezahlt haben.

Diese Anleitung beschreibt die Konfigurationsmechanismen. Nichts hierin ist dazu bestimmt, die unbefugte Weitergabe des Abonnementzugangs zu ermöglichen. Überprüfen Sie die Bedingungen Ihres Abonnementanbieters, bevor Sie den Zugang in irgendeiner Form weitergeben, auch innerhalb eines Haushalts.

CCcam-Serverkonfiguration: Die ccccam.cfg-Datei erklärt

Auffinden des Konfigurationsdateipfads

Auf Enigma2-Empfängern befindet sich die Datei unter /etc/CCcam.cfg . Auf einem Linux-VPS, auf dem CCcam als Dienst läuft, ist sie üblicherweise /usr/local/etc/CCcam.cfg oder dort, wo Ihr Startskript mit dem Parameter -c angibt. Überprüfen Sie im Zweifelsfall Ihr Init-Skript oder die systemd-Unit-Datei.

Ein kritischer Sonderfall: Wenn Sie die Konfigurationsdatei auf einem Windows-Rechner bearbeitet und per FTP übertragen haben, enthält sie mit hoher Wahrscheinlichkeit Windows-typische CRLF-Zeilenumbrüche. Der Linux-Parser von CCcam kommt damit nicht zurecht – Zeilen werden falsch interpretiert und Anweisungen ignoriert. Führen Sie daher nach jeder Bearbeitung unter Windows vor dem Neustart von CCcam immer dos2unix /etc/CCcam.cfg aus.

Wesentliche Richtlinien: C-Linie, F-Linie, N-Linie, R-Linie

Hier ist ein kommentiertes Beispiel, das die wichtigsten Direktiventypen zeigt:

# Verbindung zum Upstream-Server herstellen (C-Leitung)
# Format: C: Hostname Port Benutzername Passwort
C: upstream.example.com 12000 meinclientbenutzer meinpasswort
# Definiere einen lokalen Benutzer, der sich mit DIESEM Server (F-Line) verbinden kann
# Format: F: Benutzername Passwort Reshare MaxHops [IDENT:SID ...]
F: localclient1 secretpass 1 1
# Newcamd-Clientverbindung (N-Leitung)
# Format: N: Hostname Port Benutzername Passwort DES-Schlüssel
N: newcamd.example.com 15050 nuser npassword 0102030405060708091011121314
# Lokaler Kartenleser (B-Leitung für integriert, R-Leitung für Phoenix/SmartReader)
B: /dev/sci0
# Phoenix/serieller USB-Leser
R: /dev/ttyUSB0 Smartreader

Eine fehlerhafte F-Zeile ist eine der häufigsten unbemerkten Fehlerursachen. Stimmt das Format nicht – z. B. durch ein zusätzliches Leerzeichen, ein fehlendes Feld oder einen Tabulator statt eines Leerzeichens – liest CCcam die Zeile zwar fehlerfrei, das Benutzerkonto existiert jedoch nicht. Clients erhalten Authentifizierungsfehler, und im Protokoll findet sich keine Erklärung dafür. Überprüfen Sie die Formatierung der F-Zeile daher immer Zeichen für Zeichen.

Einrichten von Listening-Port und Hostname

Legen Sie den Port fest, an dem CCcam lauscht mit:

SERVERPORT 12000

Standardmäßig wird Port 12000 verwendet. Falls Ihr Internetanbieter diesen Port blockiert (was insbesondere bei Privatkundenanschlüssen vorkommt), wechseln Sie zu einem Port wie 8080 oder sogar 443. Jede Änderung erfordert, dass Sie alle Client-C-Lines, die auf diesen Server verweisen, aktualisieren UND den neuen Port in Ihrer Firewall öffnen. Verwenden Sie auf einem öffentlichen VPS ohne IP-basierte Zugriffskontrolle nicht die Standardeinstellung – Port 12000 wird permanent gescannt.

Benutzerkonten (F-Lines) mit Hops und Resharing definieren

Der F-Line-Reshare-Wert steuert, was ein verbundener Client mit den empfangenen Karten tun kann:

  • Reshare 0 – Clients können keine Kanäle weiterleiten. Sie können Kanäle nur für sich selbst entschlüsseln. Verwenden Sie diese Option für Endbenutzer-Clients.
  • Weiterleiten 1 – Der Client kann die Freigabe um eine weitere Ebene erweitern. Verwenden Sie diese Option für vertrauenswürdige Subserver-Betreiber.
  • Reshare 2+ – Clients teilen Daten weiter unten in der Kette. Dies erhöht die Latenz. Vermeiden Sie diese Option, es sei denn, Sie benötigen explizit eine mehrstufige Kaskadierung.
# Endnutzer — keine Weiterleitung, maximal 1 Hop
F: viewer1 pass123 0 1
# Subserver-Betreiber — kann eine Ebene wiederverwenden
F: subserver1 pass456 1 2

Hinzufügen lokaler Smartcards (B-Linien und R-Linien)

B-Leitungen beziehen sich auf die in die Enigma2-Hardware integrierten Kartenleser. R-Leitungen sind für externe Lesegeräte zuständig. Für einen Raspberry Pi mit USB-Smartcard-Lesegerät:

R: /dev/ttyUSB0 Smartreader

Der Gerätepfad muss für den Benutzer, der CCcam ausführt, lesbar sein. Fügen Sie auf einem Raspberry Pi eine udev-Regel hinzu, um den Zugriff zu gewähren:

# /etc/udev/rules.d/99-smartcard.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", MODE=0666", GROUP=users"

Ersetzen Sie den Wert von „idVendor“ durch die tatsächliche Hersteller-ID aus lsusb . Laden Sie die Regeln anschließend mit udevadm control --reload-rules neu. Ohne diesen Schritt startet CCcam zwar problemlos, der Kartenleser wird jedoch nicht geöffnet – im CCcam-Infofenster wird keine Karte angezeigt.

Wichtig: CCcam kann nicht mit einem Conditional Access Module (CAM) kommunizieren, das im CI-Steckplatz Ihres Receivers steckt. Es benötigt eine direkte Verbindung zu einem Smartcard-Lesegerät. Wenn Sie ein CAM verwenden, ist CCcam nicht das richtige Werkzeug für den lokalen Kartenzugriff.

Kaskadierung und Hop-Anzahl: Welche Werte sollten verwendet werden?

MAXHOPS begrenzt die Anzahl der Netzwerk-Hops, die eine ECM-Anfrage durchlaufen darf. Für eine einfache Heiminstallation – ein Server, zwei oder drei lokale Empfänger – stellen Sie Folgendes ein:

MAXHOPS 1

Jeder zusätzliche Hop erhöht die Latenz. Ab drei Hops verlangsamt sich der Kanalwechsel – manchmal dauert es drei bis fünf Sekunden pro Kanalwechsel statt unter einer Sekunde. Erhöhen Sie MAXHOPS nur, wenn Sie bewusst ein mehrstufiges Netzwerk betreiben, in dem Subserver weiter kaskadiert werden müssen.

Speichern und Anwenden von Konfigurationsänderungen

CCcam lädt seine Konfiguration nicht im laufenden Betrieb neu. Nach der Bearbeitung der Datei ccccam.cfg muss der Dienst vollständig neu gestartet werden.

systemctl restart cccam
# oder auf Enigma2:
/etc/init.d/softcam restart

Sichern Sie immer die funktionierende Konfiguration, bevor Sie Änderungen vornehmen. Ein einziger Syntaxfehler kann den gesamten Dienst lahmlegen.

Clientseitige Einrichtung: Verbindung zu Ihrem CCcam-Server

Konfiguration der C-Leitung an einem Enigma2-Empfänger

Bei einem Enigma2-Empfänger, der ausschließlich als Client fungiert, benötigt Ihre CCcam.cfg lediglich die C-Zeile, die auf Ihren Server verweist:

C: 192.168.1.100 12000 viewer1 pass123

Verwenden Sie nach Möglichkeit die LAN-IP-Adresse des Servers anstelle eines Hostnamens. Die DNS-Auflösung stellt eine potenzielle Fehlerquelle dar: Ist der DNS-Server langsam oder vorübergehend nicht verfügbar, bricht die C-Leitung ab und die Kanäle werden zeitweise nicht mehr entschlüsselt. Dies ist eine häufige Ursache für Beschwerden wie „Funktioniert erst, bricht dann aber für 30 Sekunden ab“. Eine statische IP-Adresse oder ein zuverlässiger lokaler DNS-Eintrag sind daher vorzuziehen.

CCcam auf OpenPLi, OpenATV und DreamOS einrichten

Der Prozess ist bei allen gängigen Enigma2-Images einheitlich, der Paketmanager unterscheidet sich jedoch geringfügig:

  • OpenPLi / OpenATV: Installieren Sie CCcam über den Software-Manager oder indem Sie die IPK-Datei auf den Receiver kopieren und opkg install CCcam*.ipk ausführen. Die Konfigurationsdatei gehört nach /etc/CCcam.cfg .
  • DreamOS (DreamBox native): Verwenden Sie den DreamBox App Market oder installieren Sie das deb-Paket per Sideloading mit apt install .

Nach der Installation ist die Konfigurationsdatei üblicherweise leer oder enthält nur Kommentare. Fügen Sie Ihre C-Zeile hinzu und starten Sie die Softcam neu.

Verwendung von CCcam mit einem Softcam Manager-Plugin

Die meisten Enigma2-Images enthalten einen Softcam-Manager, der über das Hauptmenü zugänglich ist. Damit können Sie Softcams ohne SSH-Zugriff starten, stoppen und wechseln. CCcam sollte nach der Installation in der Liste erscheinen. Wählen Sie es aus und starten Sie es – der Manager kümmert sich um das Init-Skript. Falls CCcam nicht angezeigt wird, wurde das Paket nicht korrekt installiert oder die Binärdatei ist nicht ausführbar.

Testen der Verbindung mit dem CCcam-Infopanel

Das CCcam Info-Plugin (als separates Paket namens enigma2-plugin-extensions-cccaminfo erhältlich) zeigt den Serverstatus in Echtzeit an. Nach der Installation und dem Öffnen:

  • Die verbundenen Karten Ihrer C-Line sollten unter „Verbundene Server“ angezeigt werden.
  • Aktive ECM-Anfragen zeigen an, dass die Kanalentschlüsselung funktioniert.
  • Im Abschnitt „Shares“ wird angezeigt, welche Karten Ihr Server sehen kann.

Wenn keine verbundenen Server angezeigt werden, ist die C-Leitung fehlerhaft oder der Server nicht erreichbar. Werden Karten angezeigt, aber keine ECM-Aktivität festgestellt, deckt die Karte die von Ihnen angesehenen Kanäle nicht ab. Diese Unterscheidung ist für die Fehlerbehebung wichtig.

Interpretation der Verbindungsstatusfarben und -codes

Im CCcam-Infofenster bedeuten die Statusanzeigen Folgendes:

  • Grün: Vernetzt und aktiv im Austausch – ECM-Maßnahmen funktionieren
  • Gelb: Verbunden, aber inaktiv – Server ist erreichbar, aber es liegen keine aktiven Entschlüsselungsanfragen vor.
  • Rot: Verbindung fehlgeschlagen oder unterbrochen – überprüfen Sie die C-Line-Zugangsdaten, die Servererreichbarkeit und die Firewall.

Gelb ist normal, wenn kein verschlüsselter Kanal angesehen wird. Rot, wenn die Anzeige auch nach einem Neustart des Dienstes nicht verschwindet, deutet auf ein Netzwerk- oder Authentifizierungsproblem hin, nicht auf einen Konfigurationsdateifehler auf dem Client.

Behebung häufiger CCcam-Serverfehler

Server startet nicht: Berechtigungs- und Pfadfehler

Wenn CCcam direkt nach dem Start beendet wird, überprüfen Sie zunächst zwei Dinge: Erstens: Die Binärdatei muss ausführbar sein – führen Sie dazu den Befehl chmod +x /usr/local/bin/CCcam aus. Zweitens: Der Pfad zur Konfigurationsdatei in Ihrem Startbefehl muss mit dem tatsächlichen Speicherort der Datei übereinstimmen. CCcam mit einer fehlenden Konfigurationsdatei gibt keine eindeutige Warnung aus; es beendet sich einfach.

Starten Sie CCcam manuell im Vordergrund, um die Rohausgabe anzuzeigen: /usr/local/bin/CCcam -c /etc/CCcam.cfg . Alle Startfehler werden direkt im Terminal ausgegeben.

Clients können sich verbinden, aber Kanäle werden nicht entschlüsselt.

Dies ist der Fehlerfall, den die meisten Tutorials komplett auslassen. Der Client authentifiziert sich, CCcam Info wird grün angezeigt, aber die Kanäle bleiben schwarz oder zeigen einen Entschlüsselungsfehler an. Mögliche Ursachen:

  • Die Karte auf dem Server verfügt nicht über das Abonnementpaket für den angeforderten Kanal.
  • Die Anzahl der Hops in der F-Linie ist auf 0 gesetzt, was bedeutet, dass die Karte überhaupt nicht geteilt wird.
  • Die Verbindung zum Kartenleser ist unterbrochen – CCcam zeigt an, dass die Karte beim Start vorhanden war, aber seitdem getrennt wurde.
  • Der SHARE LIMIT-Wert in der Konfiguration ist zu niedrig eingestellt, wodurch die ECM-Antworten gedrosselt werden.

Prüfen Sie /tmp/cccam.log auf Zeilen mit „can't decode“ oder „no provider“ für die CAID/Provider-ID des Kanals. Eine erfolgreiche Dekodierung zeigt eine ECM-Antwortzeit in Millisekunden an. Fehlt die ECM-Antwort, hat die Karte die Anfrage nicht verarbeitet.

ECM-Timeout- und High-Zapping-Time-Fixes

Dauert der Kanalwechsel länger als 3 Sekunden, deutet dies in der Regel auf eines der folgenden Probleme hin: zu viele Zwischenstationen (Hops) erhöhen die Round-Trip-Zeit, es besteht eine Netzwerküberlastung zwischen Client und Server oder die Netzwerkkarte reagiert langsam (häufig bei Systemen mit bedingtem Zugriff). Reduzieren Sie zunächst MAXHOPS auf 1 und testen Sie lokal, bevor Sie die Netzwerkkarte als Fehlerursache vermuten.

Zu viele Verbindungen / Maximale Benutzeranzahl erreicht

Falls Clients aufgrund eines Verbindungslimitfehlers abgewiesen werden, überprüfen Sie Ihre F-Zeile – Sie können die maximale Anzahl an Verbindungen pro Benutzer festlegen:

# Format: F: Benutzerpasswort Reshare Hops Maxcon
F: viewer1 pass123 0 1 1

Der letzte Parameter beschränkt die Anzahl gleichzeitiger Verbindungen pro Benutzer auf eine. Entfernen oder erhöhen Sie diesen Wert, falls legitime Verbindungen blockiert werden.

CCcam stürzt nach wenigen Stunden ab

Ältere CCcam-Versionen (2.1.x und älter) weisen ein bekanntes Speicherleck auf. Der Prozess wächst über Stunden, bis er vom System-OOM-Killer beendet wird. Zwei Lösungsansätze: Ein Upgrade auf CCcam 2.3.x mit verbesserter Speicherverwaltung und die Einrichtung eines systemd-Dienstes mit Restart=always , um eine automatische Wiederherstellung zu gewährleisten. Der Absturz selbst ist bei sehr alten Versionen möglicherweise unvermeidbar, der Dienst sollte sich jedoch innerhalb von Sekunden wiederherstellen.

Port durch Firewall blockiert: UFW- und iptables-Regeln

Auf einem VPS mit UFW:

ufw allow 12000/tcp
ufw reload

Direkt mit iptables:

iptables -A INPUT -p tcp --dport 12000 -j ACCEPT
# Speicherregeln:
iptables-save > /etc/iptables/rules.v4

Wenn Sie Shared Hosting nutzen, bei dem der Anbieter die Firewall verwaltet, können Sie keine Ports selbst öffnen – wenden Sie sich an den Support. Falls Ihr Internetanbieter Port 12000 für Privatanschlüsse blockiert, ändern Sie SERVERPORT auf 8080 oder 443 und aktualisieren Sie alle Client-C-Leitungen entsprechend. Nutzer hinter CGNAT (Carrier-Grade NAT) stehen vor einem komplexeren Problem: Standardmäßige Portweiterleitung zum Router funktioniert nicht, da sie keine dedizierte öffentliche IP-Adresse besitzen. Die Lösung ist ein VPN-Tunnel oder ein Reverse-Proxy auf einem VPS – der VPS verfügt über den öffentlichen Port und leitet den Datenverkehr zum Heim-CCcam-Server weiter.

Syntaxfehler in der Konfigurationsdatei: So überprüfen Sie sie

CCcam verfügt über keinen integrierten Konfigurationsprüfer, aber eine kurze Suche mit grep deckt häufige Formatierungsprobleme auf:

# Auf Windows-Zeilenumbrüche prüfen
cat -A /etc/CCcam.cfg | grep '\^M'
# Alle F-Zeilen auflisten, um das Format zu überprüfen
grep '^F:' /etc/CCcam.cfg
# Prüfen, ob mitten in der Konfiguration leere Zeilen vorhanden sind, die das Parsen beeinträchtigen könnten
grep -n '^$' /etc/CCcam.cfg

Falls cat -A am Zeilenende ^M anzeigt, führen Sie sofort dos2unix /etc/CCcam.cfg aus.

Optimierung der CCcam-Serverleistung und -sicherheit

Die richtige CCcam-Version auswählen (2.3.x vs. 2.1.x)

CCcam 2.3.x ist die letzte stabile Version und bietet deutliche Verbesserungen gegenüber 2.1.x: optimiertes Speichermanagement, verbesserte Unterstützung mehrerer Grafikkarten und zuverlässigere Wiederherstellung der Upstream-Verbindung. Die Entwicklung nach Version 2.3.x ist eingestellt. Bei einer Neuinstallation verwenden Sie bitte Version 2.3.x. Sollten Sie Version 2.1.x verwenden und Abstürze feststellen, ist ein Upgrade der erste Schritt – keine Neukonfiguration.

Nach dem Upgrade muss die alte Binärdatei vollständig entfernt werden, bevor die neue installiert wird. Die gleichzeitige Ausführung zweier CCcam-Binärdateien führt zu einem Portkonflikt, da die zweite Instanz nicht an Port 12000 binden kann und ohne Fehlermeldung beendet wird. Dadurch debuggen Sie eine vermeintlich defekte neue Version, die eigentlich einwandfrei funktionierte.

CCcam als Systemd-Dienst für automatischen Neustart ausführen

Erstelle /etc/systemd/system/cccam.service :

[Einheit]
Beschreibung=CCcam-Karten-Sharing-Server
Nach=Netzwerk.Ziel
[Service]
Typ=einfach
ExecStart=/usr/local/bin/CCcam -c /etc/CCcam.cfg
Neustart = immer
NeustartSek.=5
Benutzer=cccam
StandardOutput=journal
StandardError=journal
[Installieren]
WantedBy=multi-user.target

Aktivieren und starten:

systemctl daemon-reload
systemctl enable cccam
systemctl start cccam

Die Direktive Restart=always bewirkt, dass CCcam sich nach Abstürzen innerhalb von 5 Sekunden automatisch wiederherstellt. Dies ist die mit Abstand wichtigste Verbesserung der Zuverlässigkeit, die Sie für einen Produktionsserver vornehmen können – in den Tutorials der Konkurrenz wird dies selten erwähnt.

Begrenzung der Benutzerbandbreite und gleichzeitiger Verbindungen

Legen Sie in der Datei ccccam.cfg in der Zeile F (wie im Abschnitt zur Fehlerbehebung beschrieben) benutzerbezogene Verbindungslimits fest und verwenden Sie SHARE LIMIT, um den Gesamtdurchsatz zu steuern. Setzen Sie SHARE LIMIT nicht unter die Anzahl der gleichzeitig benötigten Kanäle, da dies zu ECM-Abbrüchen führt, die Kartenproblemen zum Verwechseln ähnlich sehen.

Blockieren nicht autorisierter IP-Bereiche

CCcam unterstützt ALLOW- und DENY-Anweisungen für die IP-basierte Zugriffskontrolle:

# Nur Verbindungen aus Ihrem lokalen Netzwerk und einer vertrauenswürdigen IP-Adresse zulassen
ALLOW 192.168.1.0/24
ZULASSEN 203.0.113.45
ABLEHNEN 0.0.0.0/0

Die DENY-nach-ALLOW-Regel erstellt eine Zulassungsliste. Ohne diese kann sich jeder mit gültigen Zugangsdaten von überall aus verbinden. Auf einem öffentlichen VPS ist die IP-basierte Beschränkung unerlässlich – Port 12000 wird aktiv gescannt.

Überwachung der Serverlast mit CCcam-Protokolldateien

CCcam schreibt standardmäßig in die /tmp/cccam.log . Auf einem stark ausgelasteten Server wächst diese Datei schnell an. Aktivieren Sie die Protokollrotation:

# /etc/logrotate.d/cccam
/tmp/cccam.log { täglich 7 drehen Kompresse missingok Benachrichtigung leer Nachrotation systemctl restart cccam endscript
}

Ohne Rotation füllt sich bei einem Server, der wochenlang läuft, das Verzeichnis /tmp und CCcam fällt aus, da keine Logeinträge mehr geschrieben werden können.

Bewährte Verfahren für die Sicherung und Wiederherstellung der Konfiguration

Vor jeder Änderung sollten Sie die funktionierende Konfiguration kopieren: cp /etc/CCcam.cfg /etc/CCcam.cfg.backup.$(date +%Y%m%d) . Bewahren Sie versionierte Backups mindestens 7 Tage lang auf. Wenn Sie mehrere Receiver verwalten, speichern Sie die Konfigurationen in einem Git-Repository. So können Sie Änderungen vergleichen und genau feststellen, was zu einem Fehler geführt hat.

Was nicht funktioniert: Fehler, die Sie bei der CCcam-Einrichtung vermeiden sollten

Falsches Zeilenformat verursacht stille Fehler

Eine fehlerhafte F-Zeile führt zu keinem Fehler. Der Benutzer existiert schlichtweg nicht. Clients, die sich mit diesen Anmeldeinformationen verbinden, werden abgewiesen, und Ihr Protokoll zeigt einen Authentifizierungsfehler an, ohne dass darauf hingewiesen wird, dass das Konto nie erstellt wurde. Jede F-Zeile benötigt genau diese Elemente in der angegebenen Reihenfolge: F: Präfix, Leerzeichen, Benutzername, Leerzeichen, Passwort, Leerzeichen, Reshare-Wert, Leerzeichen, MaxHops-Wert. Zusätzliche Leerzeichen, Tabulatoren oder fehlende Werte führen zu einer stillen Ablehnung.

CCcam auf einem NAT-Netzwerk ohne Portweiterleitung verwenden

Befindet sich Ihr CCcam-Server hinter einem Heimrouter, können Clients außerhalb Ihres Netzwerks ihn nur erreichen, wenn Sie den Server-Port vom Router an den Rechner weiterleiten, auf dem CCcam läuft. Gehen Sie dazu in die Router-Verwaltungsoberfläche und erstellen Sie eine Portweiterleitungsregel: externer Port 12000, interne IP-Adresse Ihres CCcam-Rechners, interner Port 12000. Clients verbinden sich dann über die öffentliche WAN-IP-Adresse Ihres Routers, nicht über die LAN-IP-Adresse.

Nutzer hinter CGNAT erhalten keine öffentliche IP-Adresse – die Portweiterleitung funktioniert nicht. Die Lösung besteht darin, einen günstigen VPS als Relay zu betreiben. Zwischen VPS und Heimserver wird WireGuard eingerichtet, sodass sich die Clients mit dem VPS verbinden können. Dies führt zwar zu einer Latenz von 20–40 ms, löst aber das CGNAT-Problem vollständig.

Mischen von CCcam- und OSCam-Konfigurationsdateien

OSCam verwendet völlig andere Konfigurationsdateien und eine andere Syntax. CCcam nutzt CCcam.cfg mit Zeilenpräfixen wie C:/F:/B:. OSCam hingegen verwendet oscam.conf , oscam.server und oscam.user , jeweils mit Abschnittsüberschriften im INI-Stil. Das Einfügen von OSCam-Konfigurationsblöcken in eine CCcam-Konfigurationsdatei oder umgekehrt führt unbemerkt zu Problemen in beiden Systemen. Wenn Sie von OSCam zu CCcam migrieren, beginnen Sie mit einer neuen Konfigurationsdatei – versuchen Sie nicht, die bestehende anzupassen.

Falsche Hop-Werte, die die Sharing-Kette unterbrechen

Wenn MAXHOPS auf 0 gesetzt ist, findet keine gemeinsame Nutzung statt – es erfolgt ausschließlich lokale Entschlüsselung. Ein Server mit MAXHOPS 0 akzeptiert Client-Verbindungen, sendet aber keine Daten. Bei einem Wert von 1 werden die Karten bis zu einer Ebene tief geteilt. Für eine dreistufige Struktur (Upstream → Ihr Server → Ihre Clients → deren Clients) und um die vollständige Kette zu gewährleisten, benötigen Sie MAXHOPS 3. Jede Ebene, auf der die Hop-Anzahl zu niedrig ist, unterbricht stillschweigend die darunterliegende Kette.

CCcam und OSCam gleichzeitig auf demselben Port ausführen

Manche Benutzer versuchen, beide Softcams gleichzeitig zu verwenden, um die Protokollflexibilität zu erhöhen. Auf demselben Enigma2-Empfänger mit nur einem Kartenleser konkurrieren beide Softcams um die physische Karte. Diejenige, die zuerst Zugriff erhält, ist erfolgreich; die andere schlägt ohne Fehlermeldung fehl oder verursacht sporadische Fehler. Verwenden Sie auf einem Gerät mit nur einem Kartenleser immer nur eine Softcam gleichzeitig. Falls Sie beide Protokolle benötigen, verwenden Sie CCcam an einem Port und OSCam an einem anderen. Stellen Sie jedoch sicher, dass nur eine der beiden direkt auf den physischen Kartenleser zugreift. Die andere darf nur als Client fungieren.

Welchen Port verwendet CCcam standardmäßig und kann ich ihn ändern?

CCcam lauscht standardmäßig auf Port 12000. Sie können dies ändern, indem Sie in der Datei ccccam.cfg SERVERPORT 8080 (oder einen anderen Port Ihrer Wahl) hinzufügen. Nach der Änderung müssen Sie alle Client-C-Leitungen aktualisieren, sodass sie die neue Portnummer verwenden, und den neuen Port in Ihrer Firewall freigeben. Denken Sie daran, den alten Port 12000 zu schließen, falls Sie ihn nicht mehr benötigen. Wenn Ihr Internetanbieter Port 12000 für Privatanschlüsse blockiert, ist die Umstellung auf Port 8080 oder 443 oft die Lösung.

Wie viele Hops sollte ich in meiner CCcam-Konfiguration einstellen?

Für ein einfaches Heimnetzwerk mit einem Server und wenigen Empfängern ist MAXHOPS 1 ausreichend und optimal. Höhere Hop-Anzahlen erhöhen die ECM-Reaktionszeit – bei 3 Hops können pro Kanalwechsel 500 ms oder mehr hinzukommen, was das Zappen träge erscheinen lässt. Erhöhen Sie MAXHOPS nur, wenn Sie bewusst ein kaskadiertes, mehrstufiges Netzwerk betreiben, in dem Subserver Karten weiter unten in der Kette verteilen müssen.

Warum funktionieren meine Kanäle einige Minuten lang, dann aber nicht mehr?

Die drei wahrscheinlichsten Ursachen: Ein Speicherleck in älteren CCcam-Versionen, das zum Absturz des Prozesses führt (Lösung: Upgrade auf Version 2.3.x und Aktivierung des automatischen Neustarts von systemd), ein Verbindungsabbruch des vorgelagerten C-Line-Servers aufgrund von Inaktivität oder Instabilität oder eine Aktualisierung des CW-Signals der Karte, die von CCcam nicht korrekt verarbeitet wird. Überprüfen Sie /tmp/cccam.log auf Einträge wie „can't decode“, „disconnect“ oder „timeout“ um den Zeitpunkt des Kanalabbruchs. Die Konfiguration `systemd Restart=always ist die zuverlässigste Lösung für absturzbedingte Verbindungsabbrüche.

Kann ich CCcam auf einem VPS ohne physische Smartcard betreiben?

Nein. CCcam benötigt einen physischen Smartcard-Leser mit einer gültigen Abonnementkarte zur lokalen Entschlüsselung. Ohne Karte kann ein VPS CCcam nur im Client-Modus ausführen – er verbindet sich über eine C-Leitung mit dem Server eines anderen Nutzers und leitet den Zugriff an Ihre Empfänger weiter. Der Betrieb eines VPS als reiner Relay-Server ist technisch möglich, jedoch verstößt die unbefugte Weitergabe des C-Leitungszugangs eines anderen Servers gegen dessen Nutzungsbedingungen.

Worin besteht der Unterschied zwischen einer C-Linie und einer F-Linie in CCcam?

Sie sehen ähnlich aus, funktionieren aber in entgegengesetzte Richtungen. Eine C-Leitung definiert einen Upstream-Server, mit dem sich Ihre CCcam als Client verbindet – Sie authentifizieren sich. Eine F-Leitung definiert ein lokales Benutzerkonto, das sich mit Ihrem CCcam-Server verbindet – die Authentifizierung erfolgt an Ihrem Server. C-Leitung = ausgehende Verbindung, die Sie initiieren. F-Leitung = eingehende Verbindung, die jemand anderes zu Ihnen herstellt. Eine reine Client-Konfiguration enthält nur C-Leitungen. Eine reine Server-Konfiguration enthält nur F-Leitungen. Die meisten Setups verwenden beide.

Wie kann ich überprüfen, ob mein CCcam-Server ordnungsgemäß funktioniert?

Drei Methoden, der Reihe nach detailliert: Erstens, installieren Sie das CCcam Info-Plugin auf Ihrem Enigma2-Receiver und prüfen Sie, ob verbundene Server grün angezeigt werden und Karten unter „Freigaben“ aufgeführt sind. Zweitens, stellen Sie eine SSH-Verbindung zum Server her und verfolgen Sie das Log: tail -f /tmp/cccam.log . Ein funktionierender Server zeigt ECM-Antwortzeilen mit Millisekunden-Zeiten beim Kanalwechsel an. Drittens, führen Sie von einem beliebigen Linux-Rechner aus telnet yourserverip 12000 aus. Wenn die Verbindung hergestellt wird, läuft der Dienst und der Port ist geöffnet. Wenn die Verbindung abgelehnt wird, läuft CCcam nicht oder der Port ist blockiert.

Wird CCcam noch unterstützt oder sollte ich auf OSCam umsteigen?

Die Entwicklung von CCcam wurde mit Version 2.3.x praktisch eingestellt. OSCam wird aktiv weiterentwickelt, unterstützt mehr Zugriffsmanagementsysteme und Protokolle und verfügt über eine webbasierte Verwaltungsoberfläche. Für Neuinstallationen ist OSCam langfristig die bessere Wahl. CCcam 2.3.x ist jedoch stabil und funktioniert weiterhin zuverlässig für grundlegendes Cardsharing auf unterstützten CAIDs. Wenn Ihre aktuelle CCcam-Konfiguration funktioniert, besteht kein dringender Grund für eine Migration. Falls Sie jedoch ganz von vorne beginnen oder Stabilitätsprobleme haben, die durch Upgrades nicht behoben werden, lohnt sich der Lernaufwand für OSCam.