Loading...

OSCam Setup Vergleich: Konfigurationsmethoden& Protokolle

Wenn Sie so weit gekommen sind, wissen Sie bereits, dass CCcam-only Clients eine Sackgasse sind und OSCam die flexible Option ist. Aber "OSCam installieren" ist keine Entscheidung — es sind vier oder fünf. Binär oder Quelle? Docker oder Bare Metal? Emu oder Standard-Build? CCcam, newcamd, cs378x oder mgcamd für Ihr Protokoll? Dieser OSCam Setup Vergleich führt Sie durch jede Gabelung, damit Sie nicht drei Stunden in einem Build stecken, bevor Sie merken, dass Sie den falschen Weg für Ihre Hardware gewählt haben.

OSCam Installationsmethoden im Vergleich: Binär, Quelle und Docker

Der schnellste Weg, OSCam zum Laufen zu bringen, ist, ein vorgefertigtes Binärpaket zu holen — SimpleBuild-Pakete oder ein Feed-Build, wenn Sie auf Enigma2 sind. Der Haken ist, dass Sie die Modul-Flags erben, die der Paketierer eingebaut hat. Wenn Ihr Binärpaket nicht mit MODULE_CCCAM oder CS_CACHEEX-Unterstützung kompiliert wurde, wird keine Menge an Konfigurationsbearbeitung es erscheinen lassen. Führen Sieoscam -V nach der Installation aus und überprüfen Sie die kompilierten Module, bevor Sie annehmen, dass irgendetwas funktioniert.

Das Kompilieren aus der Quelle gibt Ihnen die volle Kontrolle. Sie ziehen den SVN-Quellcode, führen./config.sh aus und schalten genau das ein, was Sie benötigen: READER_NAGRA, READER_VIACCESS, MODULE_CCCAM, MODULE_NEWCAMD, WEBIF, CS_CACHEEX, CS_CACHEEX_AIO. Dannmake und Sie kompilieren gegen Ihre eigene Toolchain. Das dauert länger und erfordert mindestens build-essential, libssl-dev und libpcsclite-dev auf Debian-basierten Systemen, aber es ist der einzige Weg, wenn Sie eine ungewöhnliche Kombination von Modulen benötigen oder Hardware anvisieren, für die sonst niemand baut.

Vorgefertigtes Binärpaket (SimpleBuild / Feed-Pakete)

Auf Enigma2-Boxen landen Binärdateien typischerweise in/usr/bin/oscam oder/var/bin/oscam, mit der Konfiguration unter/etc/tuxbox/config/oscam/. Auf generischem Linux haben Feed-Pakete oft standardmäßig/var/keys/ für die Konfiguration. Dies ist die richtige Wahl, wenn Sie nichts Exotisches tun — Sie wollen heute Abend Kanäle dekodieren, nicht morgen einen benutzerdefinierten Build.

Kompilieren aus SVN-Quelle mit make config

Quell-Bauten sind nicht verhandelbar, wenn Sie Cacheex-Peering, ein spezifisches Webif-Design oder Reader-Module wollen, die der Paketierer übersprungen hat. Erwarten Sie einen 5-15-minütigen Build auf einem Raspberry Pi 4, Sekunden auf einer modernen x86-Box. Halten Sie Ihre config.sh-Auswahl irgendwo dokumentiert — sechs Monate später werden Sie sich nicht erinnern, warum Cacheex fehlt.

Docker-Container-Bereitstellung

Docker isoliert die Abhängigkeiten von OSCam von Ihrem Host, was auf x86-Servern, die andere Dienste ausführen, großartig ist. Alpine-basierte OSCam-Images halten den Fußabdruck klein. Der Kompromiss: USB-Smartcard-Leser (smargo, phoenix) benötigen ein Geräte-Passthrough, und diese Zuordnung bricht beim Neustart des Hosts, wenn sich der Gerätepfad von/dev/ttyUSB0 zu/dev/ttyUSB1 ändert — pinnen Sie nach Geräte-ID in Ihrem docker-compose, nicht nach Pfad, oder Sie werden dies jedes Mal verfolgen, wenn der Kernel USB in einer anderen Reihenfolge auflistet.

OSCam-emu vs Standard-OSCam-Bauten

OSCam-emu fügt Unterstützung für softcam.key und constcw-basierte Emulation zusätzlich zur Standard-Kartenlesefunktionalität hinzu. Wenn Ihr Setup rein auf physischen Karten oder Peer-Share basiert, ist das Standard-OSCam leichter, hat eine kleinere Angriffsfläche und benötigt nicht die häufige Schlüsseldatei-Drehung, die Emu-Bauten erfordern. Greifen Sie nur auf Emu zu, wenn Sie tatsächlich auf emulierte CWs angewiesen sind.

Vergleich der OSCam-Konfigurationsdateistrukturen

OSCam teilt die Konfiguration auf mehrere Dateien auf, und zu verstehen, was wo lebt, ist die halbe Miete. Dies ist der Teil eines jeden OSCam Setup Vergleichs, der die Leute am meisten verwirrt, weil die Dateien interagieren — ein Reader in einer Datei ist nutzlos ohne ein passendes Konto in einer anderen.

oscam.conf globale und Überwachungseinstellungen

oscam.conf hält das[global] Block (logfile, cachedelay, clienttimeout),[webif] — Standardport 8888 und Protokollabschnitte wie[cs378x],[newcamd] mit seinem DES-Schlüssel und[cccam] auf Port 12000. Dies ist Ihre serverweite Verhaltensdatei. Setzen Siehttpuser undhttppwd in[webif] sofort — ein nicht authentifiziertes webif auf 8888, das dem Internet ausgesetzt ist, ist ein echtes Problem, kein theoretisches, da es den Status des Lesers offenlegt und einem Angreifer ermöglicht, Ihre Box neu zu konfigurieren.

oscam.server Leserdefinitionen

oscam.server ist der Ort, an dem jeder[reader] Block lebt — Label, Protokoll (cccam/mgcamd/intern), Gerätepfad, Schlüssel, Gruppe, caid und ident. Ein minimaler physischer Kartenleserblock sieht so aus:

[reader]





oscam.user Konto- und Gruppensteuerung

oscam.user koppelt Clientkonten mit Gruppen, um zu steuern, auf welche CAIDs sie zugreifen können. Ein funktionierendes minimales Konto:

[account]



Dasgroup = 1 muss mit dem des Lesers übereinstimmengruppe = 1 in oscam.server. Diese Gruppen-Nummer-Unstimmigkeit ist, meiner Erfahrung nach, der häufigste Grund, warum Leute sich gut verbinden, aber null dekodierte Kanäle erhalten — alles sieht im Webinterface gesund aus, der Client authentifiziert sich, und es passiert nichts, weil die Gruppennummern nicht übereinstimmen. Überprüfen Sie dies, bevor Sie etwas anderes anfassen.

oscam.services und oscam.dvbapi Zuordnung

oscam.services ordnet menschenlesbare Kanalnamen zu CAID/Provider/SID-Kombinationen zu, nützlich für Protokollierung und Filterung.oscam.dvbapi behandelt die lokale Demuxer-Zuordnung, wenn OSCam einen Receiver direkt über dvbapi speist, anstatt einen Netzwerk-Client. Die Berechtigungen für all diese Dateien sollten 0644 sein, im Besitz des Benutzers, unter dem OSCam läuft. Und denken Sie daran: OSCam lädt die meisten Einstellungen neu mitkill -SIGHUP $(pidof oscam) ohne einen vollständigen Neustart — aber wenn Sie einen Syntaxfehler eingeführt haben, schlägt das Neuladen stillschweigend fehl und die alte Konfiguration läuft weiter. Überprüfen Sie immer das Protokoll nach einem SIGHUP, um zu bestätigen, dass es tatsächlich Ihre Änderungen übernommen hat.

Protokollvergleich: CCcam vs newcamd vs cs378x vs mgcamd

Die Wahl eines Protokolls hängt wirklich davon ab, wohin die Verbindung geht und welchen Netzwerkbedingungen sie ausgesetzt ist. Dies ist der Abschnitt eines jeden oscam-Setup-Vergleichs, der am häufigsten übersprungen wird, und es ist der Teil, der bestimmt, ob Ihr Setup eine schlechte WAN-Verbindung übersteht.

CCcam-Protokoll (Port 12000) — nodeid und Hop-Kontrolle

CCcam bleibt das am weitesten kompatible Protokoll — praktisch jeder Client spricht es. Es läuft standardmäßig auf Port 12000, verwendet nodeid zur Schleifenerkennung und ermöglicht es Ihnen, Hop-Grenzen festzulegen, um die Tiefe des Shares zu steuern. Der Nachteil: Die Protokollstruktur von CCcam gibt Informationen über den Share-Baum an jeden mit Lesezugriff weiter, was eine echte Überlegung ist, wenn Sie mit Parteien peeren, denen Sie nicht vollständig vertrauen.

newcamd (DES-verschlüsselte, pro-CAID-Ports)

newcamd verschlüsselt die Sitzung mit einem DES-Schlüssel, den Sie in[newcamd] definieren — und dieser Schlüssel muss genau 14 Bytes in Hex sein. Wenn Sie die Länge falsch machen, schlägt die Authentifizierung stillschweigend fehl, ohne dass ein offensichtlicher Fehler im Protokoll über eine abgelehnte Verbindung hinaus angezeigt wird; überprüfen Sie die Länge der Schlüsselzeichenfolge, bevor Sie eine Stunde mit dem Debuggen woanders verbringen. newcamd ist über WAN stabil und benötigt typischerweise einen Port pro CAID-Gruppe, also planen Sie Ihre Portzuweisung (15000, 15001 usw.), bevor Sie Clients konfigurieren.

cs378x — camd35 über TCP

cs378x ist camd35, das über TCP anstelle von UDP läuft, und es ist meine Standardempfehlung für entfernte Peers. Geringer Overhead, firewallfreundlich, da es sich um einen Standard-TCP-Stream handelt, und es toleriert NAT ohne spezielle Handhabung. Ports sind benutzerdefiniert, üblicherweise im Bereich von 34000+ — nichts ist durch das Protokoll selbst festgelegt, es ist alles, was Sie in oscam.conf festlegen.

mgcamd / cs357x UDP-Überlegungen

mgcamd's cs357x läuft über UDP, was bedeutet, dass der Overhead pro Paket geringer ist, aber eine echte Empfindlichkeit gegenüber Paketverlust besteht — es gibt keine erneute Übertragung auf Protokollebene, sodass eine verlustbehaftete WAN-Verbindung zu ruckelnden oder verlorenen ECMs führt. Gut in einem stabilen LAN, riskant über das offene Internet. Wenn Sie zwei Standorte über eine Consumer-Verbindung verbinden, greifen Sie nicht zuerst auf UDP mgcamd zurück.

Als Faustregel: lokaler Client auf derselben Box → intern/dvbapi, kein Netzwerkprotokoll erforderlich. Entfernter Peer über das Internet → cs378x oder newcamd. Legacy-Client, der nur eine Sache spricht → CCcam, wobei der Share-Baum-Handel akzeptiert wird. Für Cacheex-Peering speziell leitet Modus 1 alles weiter (höchste Bandbreite, niedrigste Latenz bis zur ersten Dekodierung), Modus 2 leitet nur angeforderte CWs weiter (mäßige Bandbreite), und Modus 3 ist nur Push zu bestimmten Peers (niedrigste Bandbreite, verwendet für kontrollierte Verteilung). Modus 1 wird Ihre Upstream-Bandbreitennutzung mit mehr als ein paar Peers merklich erhöhen — ich habe gesehen, dass es den ausgehenden Verkehr im Vergleich zu Modus 2 bei einem stark frequentierten Leser verdoppelt.

Hardware- und Leistungsüberlegungen über Setups

Wo Sie OSCam ausführen, ist ebenso wichtig wie, wie Sie es konfiguriert haben. Eine Protokollwahl, die auf einem dedizierten Server in Ordnung ist, kann auf einem unterdimensionierten Receiver ersticken.

Embedded-Receiver (Enigma2 MIPS/ARM) vs x86-Server

OSCams direkt auf Ihrem Enigma2-Box auszuführen, ist praktisch — keine zusätzliche Hardware, die Konfiguration direkt dort unter/etc/tuxbox/config/. Aber Sie sind durch den RAM und die CPU, die diese Box hat, begrenzt, normalerweise weit weniger als ein Ersatz-PC, und OSCam stirbt jedes Mal, wenn Sie den Receiver für ein Firmware-Update neu starten. Wenn kein vorgefertigtes Binary für Ihr spezifisches Image existiert, kompilieren Sie mit einer MIPS- oder ARM-Toolchain (wie der OpenEmbedded-Toolchain, die zum Kernel Ihres Receivers passt), was machbar ist, aber echte Einrichtungszeit hinzufügt. Ein dedizierter x86-Server oder Docker-Host kann mehr gleichzeitige Clients bedienen, übersteht Receiver-Neustarts unabhängig und ist die bessere Wahl, sobald Sie mit cacheex peeren oder mehr als ein paar Clients bedienen.

Smartcard-Leser-Schnittstellen (Phoenix, Smargo, intern)

Phoenix- und Smartmouse-Leser benötigen korrektemhz undcardmhz Einstellungen in oscam.server — 357/357 ist der klassische ISO7816-Standard, aber einige Karten benötigen 600 für cardmhz, während sie bei mhz=357 bleiben. Wenn Sie gemischte Karten auf derselben Box haben — eine benötigt 357, eine andere will 600 — setzen Sie diese pro Leser in ihren einzelnen[reader] Blöcken, nicht global; eine globale Unstimmigkeit lässt eine Karte funktionieren und die andere ständig CRC-Fehler werfen. Smargo-Leser sind hier im Allgemeinen nachsichtiger, benötigen jedoch die richtige udev-Regel, damit der Geräte-Knoten konsistent ist.

CPU, ECM-Zeit und gleichzeitige Client-Limits

Eine gesunde ECM-Antwortzeit sollte gut unter 1000 ms liegen — wenn Sie regelmäßig 2000 ms+ Antworten sehen, stimmt etwas nicht, egal ob es sich um eine überlastete Karte, eine schlechte Leser-Verbindung oder zu viele Clients handelt, die einen Leser ansprechen. Setzen Siemaxidle undreconnecttimeout sinnvoll in oscam.server, damit tote Verbindungen gelöscht werden, anstatt sich anzuhäufen. CS_CACHEEX-Peers verursachen eine echte CPU-Belastung, da jede Peer-Verbindung bedeutet, CW-Verkehr kontinuierlich zu verarbeiten und weiterzuleiten — auf einem Raspberry Pi 3 würde ich die Peer-Anzahl niedrig halten; auf einem modernen x86-Rechner ist es kein Problem, bis man in Dutzende von Peers kommt.

Persistenz, Protokollierung und Überwachung

Drehen Sie Ihre Protokolldatei — OSCam wird gerne eine Festplatte mit Debug-Protokollierung über Wochen füllen, wenn Sie es zulassen, verwenden Sie logrotate mit wöchentlicher Rotation und Kompression. Führen Sie OSCam unter einem Prozessüberwacher (systemd-Einheit mitRestart=on-failure ist die einfachste) aus, anstatt sich ausschließlich auf die eigene Wiederverbindungslogik von OSCam zu verlassen, damit ein Absturz Sie tatsächlich wieder online bringt, anstatt einen stillschweigenden toten Prozess.

Wie man eine Karte/Serverquelle allgemein bewertet

Egal, mit was Sie Ihren Leser auf der anderen Seite verbinden, bewerten Sie es auf die gleiche Weise, wie Sie jeden technischen Dienst bewerten würden — mit objektiven, messbaren Kriterien, nicht mit Marketingansprüchen.

Uptime und ECM-Latenz als objektive Kriterien

Beobachten Sie Ihre eigenen ECM-Antwortzeiten im OSCam-Webinterface über ein paar Tage, insbesondere während der Hauptabendzeiten. Eine Quelle, die um 14 Uhr in Ordnung ist, aber um 21 Uhr auf über 3000 ms ECM-Zeiten ansteigt, zeigt Ihnen ein Überverkaufsproblem, nicht einen Konfigurationsfehler Ihrerseits — zu viele Clients teilen sich zu wenige Leser-Slots. Das ist anders als eine echte Fehlkonfiguration, die sich sofort und konsistent zeigt, anstatt nur unter Last.

Protokoll- und CAID-Transparenz

Eine Quelle, die bereit ist, Ihnen genaue CAID- und Ident-Werte, Hop-Limits und die Protokolldetails zu geben, die Sie für Ihren eigenen oscam.server-Block benötigen, verhält sich professionell. Vage Antworten oder die Weigerung, anzugeben, welche CAIDs tatsächlich bereitgestellt werden, ist ein Signal, woanders zu suchen.

Reaktionsfähigkeit des Supports und Konfigurationsdokumentation

Wie schnell und klar Sie eine Antwort erhalten, wenn Ihr Leser eine Verbindung zeigt, aber null Dekodierung, sagt Ihnen viel. Dokumentation, die mit Ihrer tatsächlichen Konfigurationsdateistruktur übereinstimmt — nicht generische Screenshots — ist mehr wert als jeder Uptime-Anspruch, den Sie nicht unabhängig überprüfen können.

Sollte ich OSCam aus einer vorgefertigten Binärdatei ausführen oder aus dem Quellcode kompilieren?

Die Binärdatei ist am schnellsten und in Ordnung, wenn der Paketierer die benötigten Module aktiviert hat. Kompilieren Sie aus dem Quellcode, wenn Sie spezifische Flags wie cacheex, zusätzliche Leser oder Webif-Unterstützung benötigen oder wenn Sie für eine ungewöhnliche CPU bauen. Überprüfen Sie, welche Module aktiviert sind mitoscam -V oder der Webif-Build-Infoseite, bevor Sie annehmen, dass eine Funktion verfügbar ist.

Welches Protokoll ist am besten für eine remote OSCam-Verbindung über das Internet?

Für WAN-Verbindungen sind cs378x (camd35 über TCP) oder newcamd die besseren Optionen — beide handhaben NAT und Firewalls sauber, und newcamd fügt DES-Verschlüsselung hinzu. Vermeiden Sie UDP-basiertes mgcamd/cs357x über verlustbehaftete oder hochlatente Verbindungen, da es keine Übertragung gibt. CCcam funktioniert überall, zeigt jedoch Details des Share-Trees an, also ändern Sie die Standardports und verwenden Sie starke Schlüssel, unabhängig davon, welches Protokoll Sie wählen.

Warum verbinden sich mein OSCam-Leser und Benutzer, aber keine Kanäle dekodieren?

Das ist fast immer ein Gruppenmissverhältnis zwischen demgroup=Wert des Lesers in oscam.server und dem Konto-group=Wert in oscam.user, oder eine CAID/Ident, die für dieses Konto nicht autorisiert ist. Bestätigen Sie, dassau=auf den richtigen Lesernamen zeigt, überprüfen Sie, ob die CAIDs übereinstimmen, und überprüfen Sie das Webif-Lesertagebuch auf den spezifischen Grund für die ECM-Ablehnung, anstatt zu raten.

Was sind die Standard-OSCam-Ports, die ich öffnen muss?

Webif läuft auf 8888, CCcam auf 12000, cs378x wird typischerweise im Bereich von 34000+ je nach Ihrer Konfiguration festgelegt, und newcamd benötigt einen Port pro CAID-Gruppe, oft beginnend bei etwa 15000. Keiner dieser Ports außer CCcam und Webif ist fest codiert — sie sind das, was Sie in oscam.conf definiert haben. Leiten Sie nur die Ports weiter, die Sie tatsächlich verwenden, und setzen Sie eine grundlegende Authentifizierung im Webif ein, bevor es das Internet berührt.

Brauche ich einen OSCam-emu-Build?

Nur wenn Sie auf Emulator-Schlüssel oder constcw-Verarbeitung über softcam.key angewiesen sind, anstatt auf eine physische oder gemeinsame Karte. Für reines Kartenlesen oder Peer-Sharing ist das Standard-OSCam leichter, hat eine kleinere Angriffsfläche und benötigt keine häufigen Schlüsselaktualisierungen. Emu-Bauten werden aus einem Grund häufiger aktualisiert — das ist zusätzliche Wartung, die Sie nicht benötigen, wenn Sie sie nicht verwenden.

Kann ich OSCam auf meinem Enigma2-Empfänger anstelle eines separaten Servers ausführen?

Ja, über Feeds oder SimpleBuild-Pakete, mit der Konfiguration unter/etc/tuxbox/config/. Es ist der bequemste Weg, aber Sie sind durch die CPU und den RAM des Empfängers eingeschränkt, und OSCam fällt jedes Mal aus, wenn die Box für ein Firmware-Update neu gestartet wird. Ein dedizierter x86-Server oder Docker-Host ist die bessere Wahl, sobald Sie mehrere Clients bedienen oder Cacheex-Peering betreiben.