Test

Aus Zebradem WIKI
Zur Navigation springenZur Suche springen

Das Board mit Freiheiten

[global]

Die oscam.conf ist das Herzstück von Oscam. Ohne die oscam.conf wird Oscam den Dienst verweigern. In dieser Konfigurationsdatei werden global Einstellungen gemacht zu dem Loadbalancer, Monitor, Webinterface, die sharing Protokolle und auch DVBapi. Der Übersicht halber kann man Einstellungen die man nicht braucht weg lassen. Wenn man z.b. kein DVBapi nutzt braucht man diese Sektion auch gar nicht erst anlegen. Man könnte selbst Optionen die man auf default belässt weglassen, denn wenn eine Option nicht gesetzt wurde werden die default Einstellungen genommen. Die global Sektion muß existieren, alle anderen Sektion sind optional. Beginnen wir nun mit den global Einstellungen.

Syntax

serverip = IP Adresse

Braucht man nur setzen wenn man ein Server mit mehreren Netzwerkschnittstellen hat. Default = keine IP somit hört Oscam auf alle.

cachedelay = Millisekunden

Damit verzögert man den Cache. Kann bei manchen Clienten zu Problemen kommen wenn der Cache zu schnell antwortet. Default = 0.

logfile = [filename][;syslog][;stdout]

In der Datei werden die Aktivitäten von Oscam gespeichert. Entweder gibt man ein Pfad mit Dateiname an oder lenkt die Logausgabe in die Konsole oder den Systemlog. Default = /var/log/oscam.log.

maxlogsize = kb

Damit kann man die Maximal Logdatei Größe festlegen, was gerade auf Receivern oder Routern mit wenig Speicher sehr wichtig ist. Die Größe gibt man in KBytes an. Default = 10. Gibt man "0" an, ist die Größe nicht limitiert.

loghistorysize = bytes

Mit diesem Parameter legt man die Größe des Log-History-Ausschnitts im Webif oder Monitor fest. Der Wert wird in Byte angegeben und default ist 4096.

disablelog = 0|1

Wie der Name schon sagt kann man hier mit dem Wert "1" die Logausgabe komplett abschalten. Default = 0

disableuserfile = 0|1

Hier aktiviert oder deaktiviert man die Userlogausgabe. Was das für ein Log ist steht bei der Option "usrfile" beschrieben. Default = 0.

usrfile = Filename

Hier gibt man wieder Pfad mit Dateiname für das Usrlogfile an. Default ist nichts angegeben. Wer das Log also nicht braucht und es deaktiviert hat, muß auch hier nichts angeben.

Log File Format:
  • date
  • time
  • CWs per second
  • username
  • IP address of client
  • TCP/IP port
  • CWs found
  • CWs from cache
  • CWs not found
  • CWs ignored
  • CWs timed out
  • CWs tunneled
  • login time in unix/POSIX format
  • logout time in unix/POSIX format
  • protocol
usrfileflag = 0|1

Der Logmode für das usrfile wird hier festgelegt, default = 0.

  • 0 = Nur das Ein- und Ausloggen wird in das Usrlogfile geschrieben
  • 1 = Damit wird auch das Zappen des Clients im Usrlogfile mitgeschrieben
cwlogdir = Pfad

Der Pfad für das CW Log. Default = nichts. Im normal Fall braucht man das Log auch nicht, daher kann man es weglassen.

clienttimeout = Millisekunden|Sekunden

Maximale Zeit in Millisekunden oder Sekunden, bevor ein Client ein Timeout erhält. Default = 5 (5 Sekunden). Werte unter 100 werden als Sekunden gewertet, über 100 in Millisekunden.

fallbacktimeout = Millisekunden

Man kann Reader als Fallbackreader deklarieren in der oscam.server. Diese Reader werden dann erst benutzt wenn die anderen Reader für die Antwort länger brauchen als die angegebene fallbacktimeout. Diese Reader werden also normal nicht benutzt, erst wenn dieses fallbacktimeout überschritten wurde. Funktioniert auch mit eingeschalteten Loadbalancer, nur das dann der Loadbalancer den Fallbackreader selber wählt. Default = 2500.

clientmaxidle = Sekunden

Hier legt man die Idle Zeit eines Clienten fest. Wenn in der angegebenen Zeit keine Anfragen vom Clienten kommen oder keepalive Meldungen wird er getrennt. Default = 120.

bindwait = Sekunden

Beim Starten von Oscam werden die Protokolle (cccam, camd3, newcamd....) an die angegebenen Ports gebunden. Hier gibt man also die Zeit an die höchstens verstreichen darf bis das Protokoll am Port gebunden sein muß. Default = 120.

netprio = 0|1

Priorität des Netzwerkverkehrs wird hier angegeben. Default = 0 (Systemvorgabe). Mit "1" wird der Traffic der Oscam bevorzugt.

resolvegethostbyname = 0|1

Es gibt zwei Möglichkeiten zur (DNS) Namensauflösung. Default = 0. Einige ältere Receiver können nur gethostbyname.

  • 0 = getadressinfo
  • 1 = gethostbyname
clientdyndns = 0|1

Mit "1" aktiviert man diese Option. Sollte man auch machen wenn man in der oscam.user bei den Clients die Option hostname setzt. Ansonsten wird der Eintrag bei hostname ignoriert und die Clienten können sich von jeder IP einloggen. Wer hostname nicht nutzt braucht das auch nicht zu aktivieren. Mit der Option hostname in der oscam.user kann man festlegen von welcher IP/Dyndns sich ein Client einloggen darf. Default = 0.

failbancount = Anzahl

Die Anzahl an Loginfehlversuchen die ein Client haben darf bis seine IP gebannt wird. Default = 0. Bei "0" wird der Client sofort gesperrt wenn beim Login was nicht stimmt. Wer in der oscam.user die Option hostname gesetzt hat mit Dyndns Adressen, sollte bedenken das es manchmal ein kleinen Augenblick dauert bis die Dyndns ein update bekommt. Der Client mit Dyndns wird also ein paar Fehlversuche haben bis beim Dyndnsprovider die richtige IP hinterlegt wurde. Also sollte man hier mindestens einen Wert von 15, 20 oder gar 25 setzen.

failbantime = Minuten

Wie lange eine Client IP gesperrt wird beim überschreiten des failbancount (Loginfehlversuche). Default = 0. Wenn man "0" setzt ist failban deaktiviert.

dropdups = 0|1

Dieser Parameter bestimmt wie sich Oscam bei Duplikat Verbindungen verhält. Default = 0.

  • 0 = Duplikat Verbindung wird nur als Duplikat gekennzeichnet.
  • 1 = Duplikat Verbindung wird getrennt.
sleep = Minuten

Mit sleep kann man eine Zeit festlegen ab der Oscam nicht mehr Antwortet. Das heißt setzt man den Wert auf "120" (Minuten) und ein Client schaut 120 Minuten lang den selben Sender ohne umzuschalten, blockt Oscam jede weitere Anfrage für diesen Sender nach den 120 Minuten. Beim Client bleibt dann quasi das Bild stehen bis er umschaltet. Sobald er umschaltet zählen wieder 120 Minuten. Die Funktion dient hauptsächlich Clienten die ständig den Receiver laufen lassen ohne am TV zu sein. Default = [leer]. Lässt man die Option frei ist sleep nicht aktiviert. Man hat nämlich noch die Möglichkeit das für jeden User einzeln in der oscam.user zu setzen was mehr Sinn macht. Sleep für CCcam User ist eher ungeeignet da CCcam auf das blocken der Anfragen mit Dauerbeschuss reagiert.

unlockparental = 0|1

Diese Option ist nur für Seca Karten. Damit kann man die Jugendschutzfunktion abschalten wenn die Option mit "1" aktiviert wurde. Default = 0.

nice = -20..+20

Der Befehl nice gehört unter Unix zum Prioritäts-Scheduling (CPU-Leistungsverteilung), also das man Oscam bevorzugt wenn es CPU-Leistung benötigt. Es gibt Systeme die den Befehl nice nicht verstehen (z.b. dbox), was man an folgender Meldung erkennt: relocation error:setpriority. Sollte das der Fall sein dann entfernt die Option oder kommentiert sie aus. Damit wird nice nicht mehr aufgerufen. Default = kein Aufruf der Option. Man setzt hier Werte von 20 bis -20, wobei 20 gering und -20 sehr hoch ist. Ein üblicher Wert ist hier "-1".

serialreadertimeout = Millisekunden

Braucht man natürlich nur setzen wenn man serielle Reader eingebunden hat. Damit legt man den Timeout des Readers fest. Default = 1500.

waitforcards = 0|1

Nutzt man OScam als Sharing Server ist diese Option sehr nützlich. Denn aktiviert "1", wartet Oscam zuerst bis alle Karten eingelesen wurden bevor die Ports für die Sharing Protokolle geöffnet werden. Sonst verbinden sich die Clients schon bevor die Karten verfügbar sind. Default = 1.

preferlocalcards = 0|1

Aktiviert man dies Option mit "1", werden wenn möglich, immer zuerst Lokale Karten angefragt.

readerrestartseconds = Sekunden

Hier legt man die Wartezeit fest, bis Oscam einen Reader der nicht erreichbar ist erneuert versucht zu starten. Default = 5. Mit "0" deaktiviert man die restart Funktion.

saveinithistory = 0|1

Die Reader-Init-History sollte gespeichert werden, damit ihr euch im Webinterface die Entitlements anzeigen lassen könnt. Also aktiviert die Option mit "1" wenn ihr das Webinterface benutzt. Entitlements einer Lokalen Karten sind Karteninformationen z.b. wie lang sie noch freigeschaltet ist oder welcher Provider drauf ist. Bei eingebundenen CCcamservern braucht man die Entitlementsanzeige um die Karten zu sehen, die man von einem CCcamserver bekommt. Gespeichert wird standardmäßig im Ordner /tmp/.oscam. Default = 0.

double_check = 0|1

Eine ECM Anfrage wird zu zwei oder mehr Readern geschickt, um das errechnete Kontrollwort zu vergleichen. Die Option lb_nbes_reader muss auf "2" oder höher gesetzt werden. Default = 0 (deaktivert). Diese Option ist nur verfügbar wenn Oscam für double check kompiliert wurde. Da die Option beim Sharing viel Traffic erzeugt und die Antwortzeiten natürlich steigen ist es standardmäßig nicht mit einkompiliert.

lb_mode = 0|1|2|3|10
lb_save = 0|Anzahl
lb_nbest_readers = Anzahl
lb_nfb_readers = Anzahl
lb_nbest_percaid = CAID1:Anzahl1[,CAID2:Anzahl2]...
lb_min_ecmcount = Anzahl
lb_max_ecmcount = Anzahl
lb_reopen_seconds = Sekunden
lb_retrylimit = Millisekunden
lb_savepath = Filename
lb_stat_cleanup = Stunden
lb_use_locking = 0|1
lb_retrylimits = CAID1:Millisekunden1[,CAID2:Millisekunden2]...
lb_noproviderforcaid = CAID1,CAID2...
lb_reopen_mode = 0|1
lb_max_readers = limit
lb_auto_betatunnel = 0|1

Hiermit wird der Loadbalancer aktiviert oder deaktiviert beziehungsweise eingestellt. Der Loadbalancer ist sehr umfangreich und kann auch sehr wichtig sein. Wer mehr über den mächtigen Loadbalancer in Erfahrung bringen möchte sollte sich den Loadbalancer Workshop hier im Wiki anschauen, dort werden die "lb" Optionen alle erklärt--> Oscam Server mit Loadbalancer

Beispiel

[global]
logfile = stdout
disableuserfile = 1
clienttimeout = 4700
fallbacktimeout = 2400
clientmaxidle = 300
failbantime = 300
failbancount = 25
cachedelay = 100
nice = -1
maxlogsize = 100
preferlocalcards = 1
saveinithistory = 1
readerrestartseconds = 120
lb_mode = 1
lb_save = 100
lb_retrylimits = 0D95:300,1702:900,1830:400
resolvegethostbyname = 1

[ nach Oben ]

[newcamd]

Das Newcamd Protokoll nutzt man hauptsächlich wenn man Oscam als Cardserver einsetzt und die Karten an eine andere Emu Software weiterleitet. Für Newcamd gibt es einen eigenen Workshop --> Oscam als Newcamd Server

Syntax

key = DES key

Hier legt ihr den Key fest mit dem der Datenaustausch zwischen Server und Client verschlüsselt wird. Der Key hat 28 Stellen.

  • Beispiel: key = 0102030405060708091011121314
port = port[{DES key}]@CAID[:ident][,ident]...[;port[{DES key}]@CAID[:ident][,ident]...]...

Damit legt man logischerweise den Port fest, gefolgt von der CAID. Getrennt durch ein "@" zwischen Port und CAID. Nun kommt ein Doppelpunkt und dahinter steht dann die ProviderID. Wenn man mehrere Karten (CAIDs) hat, braucht man für jede CAID (Karte) einen neuen Port und diese trennt man dann mit einem Semikolon (Strichpunkt). Es ist auch möglich für jeden Port einen eigenen DES Key zu verwenden. Den DES Key setzt ihr in Akkoladen, direkt hinter den Port (siehe Beispiel). Akkoladen sind geschweifte bzw geschwungene Klammern.

  • Beispiel: port = 11000@1702:000000;12000{0102030405060708091011121314}@1830:003411,000000,008011
serverip = IP Adresse

Falls es ein Server mit mehreren Netzwerkschnittstellen ist kann man hier die IP Adresse festlegen auf die der newcamd Server hört.

allowed = IP Adresse|IP Adressenbereich[,IP Adresse|IP Adressenbereich]...

IP Adressen die sich zum newcamd Server verbinden dürfen werden hier eingetragen. Oder ihr gebt ganze Adressbereich an "von-bis", siehe Beispiel. Default = [leer].

  • Beispiel: allowed = 127.0.0.1,192.168.0.0-192.168.255.255
keepalive = 0|1

Das stellt man auf "1" (aktiviert), damit der Client dauerhaft verbunden bleibt.

mgclient = 0|1

"1" aktiviert das extended newcamd Protokoll für MGCamd Clients. Damit werden die Share Informationen verfügbarer CAIDs und ProviderIDs gebündelt zur MGCamd übertragen. Es wird trotzdem für jede CAID ein eigener Port benötigt. Nur die Übermittlung der Share Informationen zwischen Oscam und MGCamd ändert sich.

Wer mehr Information zum Thema Newcamd Protokoll sucht, dem sei der Oscam-Newcamd Workshop ans Herz gelegt --> Oscam als Newcamd Server

Beispiel

[newcamd]
port = 31000@1834:000000
key = 0102030405060708091011121314
keepalive = 1

[ nach Oben ]

[cccam]

Das CCcam Modul verwendet TCP. Das Protokoll hat den Vorteil das hier die gesamte Kartenübersicht mit übermittelt wird und man so sieht was der Gegenüber anbietet. Der Nachteil ist halt, dass dadurch das Protokoll sehr aufgebläht wird und mehr Traffic verursacht. Es gibt einiges was man bei diesem Protokoll beachten sollte. Daher lest euch bei Nutzung dieses Moduls bitte den entsprechenden Oscam-CCcam Workshop durch --> Oscam als CCcam Server nutzen

Syntax

port = 0|port

An welchen Port soll das CCcam Protokoll lauschen. Default = 0 (deaktiviert).

version = Version

Als welche CCcam Version soll sich Oscam ausgeben. Default = [leer].

reshare = Level

Hier gibt man an wie oft die Clienten die Karten weiter sharen dürfen. Default = 0 (kein resharing)

reshare_mode = 0|1|2|3

Der reshare Mode wird hier eingestellt. Default = 0. Eine Erklärung der verschiedenen Einstellmöglichkeiten findet ihr in dem Oscam-CCcam Workshop.

ignorereshare = 0|1

Default = 0. Vorsicht mit diesem Parameter, mehr dazu im Oscam-CCcam Workshop.

stealth = 0|1

Wenn man stealth aktiviert (1), kann sich die Oscam untereinander nicht mehr erkennen. cccam-ext Protokoll wird damit quasi deaktivert. Default = 0.

minimizecards = mode

Parameter um die Cardliste zu verkleinern, wird im Oscam-CCcam Workshop näher erklärt. Default = 0.

keepconnected = 0|1

Damit die CCcamclienten dauerhaft verbunden bleiben. Default = 1.

forward_origin_card = 0|1

Aktiviert (1) man diesen Parameter, arbeitet Oscam ganz genau gleich wie ein original CCcam Server (ohne Loadbalancer). Default = 0.

updateinterval = Sekunden

Zum festlegen in welchem Zeitintervall ein Update der Cardliste an die Clients gesendet wird. Default = 240.

Im Oscam-CCcam Workshop wird das alles ausführlicher erklärt. --> Oscam als CCcam Server nutzen

Beispiel

[cccam]
port = 12000
reshare = 1
ignorereshare = 0
forward_origin_card = 0
version = 2.1.4
minimizecards = 0
keepconnected = 1
stealth = 0
reshare_mode = 0

[ nach Oben ]

[gbox]

Dieses Protokoll verwendet UDP und ist daher recht schnell. Gbox befindet sich momentan noch in der Entwicklung und sollte daher noch nicht verwendet werden. Momentan kann sich nur ein einzelner Client verbinden. Als gbox Server kann dieses Modul noch nicht eingesetzt werden.

Syntax

hostname = hostname

Setzt den hostname des gbox Servers

port = 0|port

Hier trägt man ganz klar den Port ein, an dem das Protokoll lauschen soll. Default = 0 (deaktiviert).

password = Passwort

Zur Authentifizierung der gbox Clienten.

Beispiel

[gbox]
hostname = host.example.com
port = 13000
password = hiddenpasswd

[ nach Oben ]

[camd33]

Das Protokoll für camd 3.3x Clienten. Dieses Protokoll verwendet TCP und dürfte daher minimal langsamer sein als camd35 oder cs357x. Die Empfehlung geht hier also ganz klar zur Nutzung des camd35 oder cs357x Protokolls. Bei diesem Protokoll muß man zur Verschlüsselung noch einen Key anlegen.

Syntax

port = 0|port

Hier trägt man ganz klar den Port ein, an dem das Protokoll lauschen soll. Default = 0 (deaktiviert).

serverip = IP Adresse

Falls man einen Server mit mehreren Netzwerkschnittstellen hat gibt man hier die IP ein auf welche das Protokoll reagieren soll.

nocrypt = IP Adresse|IP Adressenbereich[,IP Adresse|IP Adressenbereich]...

Gebt hier eine bestimmte IP Adresse oder einen Adressbereich an, wo der Datenaustausch unverschlüsselt stattfinden kann (Heimnetz). Adressbereiche werden mit "von-bis" angegeben, siehe Beispiel. Default = [leer].

  • Beispiel: nocrypt = 127.0.0.1,192.168.0.0-192.168.255.255
passive = 0|1

Generell geht das camd33 Protokoll von einem aktiven Client aus. Es kann aber vorkommen das es bei manchen Clienten (zb plugins) damit Schwierigkeiten gibt, dann zwingt man Oscam in den passive Mode in dem man passive = 1 setzt. Default = 0

key = 128 bit key

Hier trägt man den Key ein, um den Datenaustausch zwischen Server und Client zu verschlüsseln (128bit Verschlüsselung). Default = [leer].

  • Beispiel: key = 01020304050607080910111213141516

Beispiel

[camd33]
port = 22200
nocrypt = 192.168.0.10
key = 01020304050607080910111213141516

[ nach Oben ]

[camd35]

Das Protokoll für camd 3.5x Clienten. Dieses Protokoll verwendet UDP und dürfte daher minimal schneller sein als camd33. Die Empfehlung liegt also ganz klar bei diesem Protokoll bzw cs357x, welches auch UDP nutzt und gleich behandelt wird wie camd35. Bei Nutzung dieses Protokolls ist jeglicher Datenaustausch zwischen Server und Client verschlüsselt. Einen Key müßt ihr hier aber nicht anlegen. Der Key wird aus dem Benutzername gebildet.

Syntax

port = 0|port

Hier trägt man ganz klar den Port ein, an dem das Protokoll lauschen soll. Default = 0 (deaktiviert).

serverip = IP Adresse

Falls man einen Server mit mehreren Netzwerkschnittstellen hat gibt man hier die IP ein auf welche das Protokoll reagieren soll.

suppresscmd08 = 0|1

Hier kann man CMD08 unterdrücken ("1"). Mit CMD08 kann man einem Client (Client muß CMD08 verstehen) mitteilen wenn eine Anfrage, bestehend aus der Kombination CAID:ProviderID:SID, mit rejected zurückgewiesen wurde, damit der Client diese Kombination nicht erneut anfragt. Mit dem Wert "1" wird CMD08 unterdrückt, dadurch bekommt der Client von dem rejected nichts mit und fragt weiterhin diese Kombination an. Default = 0.

Beispiel

[camd35]
port = 22200

[ nach Oben ]

[cs357x]

Das Protokoll für camd 3.57x Clienten. Dieses Protokoll verwendet UDP und dürfte daher minimal schneller sein als camd33. Die Empfehlung liegt also ganz klar bei diesem Protokoll bzw camd35, welches auch UDP nutzt und gleich behandelt wird wie cs357x. Bei Nutzung dieses Protokolls ist jeglicher Datenaustausch zwischen Server und Client verschlüsselt. Einen Key müßt ihr hier aber nicht anlegen. Der Key wird aus dem Benutzername gebildet.

Syntax

port = 0|port

Hier trägt man ganz klar den Port ein, an dem das Protokoll lauschen soll. Default = 0 (deaktiviert).

serverip = IP Adresse

Falls man einen Server mit mehreren Netzwerkschnittstellen hat gibt man hier die IP ein auf welche das Protokoll reagieren soll.

suppresscmd08 = 0|1

Hier kann man CMD08 unterdrücken ("1"). Mit CMD08 kann man einem Client (Client muß CMD08 verstehen) mitteilen wenn eine Anfrage, bestehend aus der Kombination CAID:ProviderID:SID, mit rejected zurückgewiesen wurde, damit der Client diese Kombination nicht erneut anfragt. Mit dem Wert "1" wird CMD08 unterdrückt, dadurch bekommt der Client von dem rejected nichts mit und fragt weiterhin diese Kombination an. Default = 0.

Beispiel

[cs357x]
port = 22200

[ nach Oben ]

[cs378x]

Das Protokoll für camd 3.78x Clienten. Dieses Protokoll verwendet TCP und dürfte daher minimal langsamer sein als camd35 oder cs357x. Die Empfehlung geht hier also ganz klar zur Nutzung des camd35 oder cs357x Protokolls. Der Große Unterschied bei diesem Protokoll zu cs357x, abgesehen vom Transportprotokoll (cs357xUDP/cs378xTCP), besteht darin das hier wie bei Newcamd für jede CAID ein eigener Port angelegt werden kann. Hier gehen also mehrere verschiedenen Karten (CAIDs) über einen Port oder jede Karte (CAID) über einen separaten Port. Bei Nutzung dieses Protokolls ist jeglicher Datenaustausch zwischen Server und Client verschlüsselt. Einen Key müßt ihr hier aber nicht anlegen. Der Key wird aus dem Benutzername gebildet.

Syntax

port = 0|port@CAID[:ident][,ident]...[;port@CAID[:ident][,ident]...]...

Entweder ihr setzt einen einzelnen Port oder wie bei Newcamd bekommt jede CAID einen eigenen Port. Wer mehrere CAIDs braucht kann sie durch ein Semikolon (Strichpunkt) getrennt dahinter anfügen.

  • Beispiel: port = 21000@1702:00000;22000@1830:00000,003411,008011
  • Beispiel: port = 23000
serverip = IP Adresse

Falls man einen Server mit mehreren Netzwerkschnittstellen hat gibt man hier die IP ein auf welche das Protokoll reagieren soll.

suppresscmd08 = 0|1

Hier kann man CMD08 unterdrücken ("1"). Mit CMD08 kann man einem Client (Client muß CMD08 verstehen) mitteilen wenn eine Anfrage, bestehend aus der Kombination CAID:ProviderID:SID, mit rejected zurückgewiesen wurde, damit der Client diese Kombination nicht erneut anfragt. Mit dem Wert "1" wird CMD08 unterdrückt, dadurch bekommt der Client von dem rejected nichts mit und fragt weiterhin diese Kombination an. Default = 0.

Beispiel

[cs378x]
port = 21000@1702:00000;22000@1830:00000,003411,008011

[ nach Oben ]

[radegast]

Das Radegast Protokoll verwendet TCP. Der Aufbau des Protokolls ist auf Lokale Netze (Heimnetz) ausgelegt und wird nicht zum Sharing verwendet. Es dient mehr der Weitergabe einer Karte vom Cardserver zum Sharingserver. Am Server können mehrere CAIDs über ein und den selben Port gehen. Die Clienten hingegen müssen immer eine CAID angeben. Möchte man also mehrere CAIDs über Radegast an einen Client weitergeben, muß der sich mehrfach am Server anmelden. Port und Username bleiben am Server immer gleich, nur der Client muß sich pro CAID einmal neu anmelden.

Syntax

port = 0|port

Hier trägt man ganz klar den Port ein, an dem das Protokoll lauschen soll. Default = 0 (deaktiviert).

serverip = IP Adresse

Falls man einen Server mit mehreren Netzwerkschnittstellen hat gibt man hier die IP ein auf welche das Protokoll reagieren soll.

allowed = IP Adresse|IP Adressenbereiche[,IP Adresse|IP Adressenbereiche]...

IP Adressen die sich zum radegast Server verbinden dürfen werden hier eingetragen. Oder ihr gebt ganze Adressbereich an "von-bis", siehe Beispiel. Default = [leer].

  • Beispiel: allowed = 127.0.0.1,192.168.0.0-192.168.255.255
user = username

Der Benutzername für den Radegast Client

Beispiel

[radegast]
port = 31000
allowed = 192.168.0.10
user = = dreambox

[ nach Oben ]

[dvbapi]

Dieser Abschnitt ist erforderlich um DVBapi zu aktiveren. Das DVBapi Module bringt euch quasi das Bild auf euren Fernseher. Ohne DVBapi Modul ist Oscam nur ein reiner Card- und Sharingserver. Das heißt, wer Oscam auf einem Receiver laufen hat braucht ein extra Emu wie z.b. CCcam, MGCamd oder Camd3 um das Bild auf dem Fernseher zu erzeugen, wenn DVBapi nicht aktiviert wurde. Wer also DVBapi aktiviert spart sich zusätzliche Software. Wenn Oscam auf einem Router oder PC läuft braucht ihr diesen Teil hier nicht zu beachten beziehungsweise zu aktivieren.

In dem folgendem Beispiel wurden von mir zwei Optionen weggelassen. Das wäre einmal "ignore" und auch die Option "priority". Man könnte da zwar CAIDs die ignoriert oder priorisiert werden sollen eintragen, dieser Weg ist aber veraltet und stammt noch aus einer Zeit als es noch keine extra DVBapi Konfigurationsdatei gab. Also gewöhnt euch am besten gleich an die extra Konfigurationsdatei hierfür zu verwenden. In dieser Konfigurationsdatei wird das verhalten des DVBapi Moduls festgelegt und das wird auch hier im Wiki erklärt --> oscam.dvbapi

Syntax

enabled = 0|1

Mit "1" wird das DVapi Modul aktivert. Default ist DVBapi deaktviert mit "0"

au = 0|1|2

Wie man sicher unschwer erkennt wird hier das AU an- oder abgeschaltet. Default ist AU abgeschaltet (0). Mit dem Wert "2" werden keinerlei AU Einstellungen beachtet. DVBapi macht dann bei dem Reader AU der die ECM Anfrage beantwortet.

boxtype = dbox2|dreambox|dm7000|duckbox|ufs910|ipbox|ipbox-pmt|qboxhd|coolstream|neumo

Damit wird ganz klar der Boxtyp angegeben. Default ist bei dieser Option "dreambox". Stellt man den falschen Boxtype ein wird man wohl kein Bild auf dem Fernseher bekommen.

user = username

In der oscam.user legt man das DVBapi als Benutzer an. Da reicht der "user", "pwd" und "group". Optional kann man noch "betatunnel" und den "au" Reader angeben. Letzteres macht aber nur Sinn, wenn man nicht "au = 2" gesetzt hat. Den Username den man dem DVBapi Module gibt kann man frei wählen und wird dann hier eingetragen.

pmt_mode = 0|1|2|3|4|5

Hier werden die PMT Einstellungen gemacht. PMT steht für Program Map Table. In einem PMT befindet sich die Information, welche Audio-, Video- und Datenstreams zum Programm gehören. Default steht das auf "0". In den allermeisten Fällen lässt man diesen Wert auch auf "0".

PMT Mode:
  • 0 = PMT und camd.socket wird verwendet
  • 1 = PMT wird deaktiviert
  • 2 = camd.socket wird deaktiviert
  • 3 = PMT wird nur beim Start eingelesen
  • 4 = Die Signalsteuerung wird nicht zum Überwachen (monitoring) benutzt /tmp
  • 5 = Die Signalsteuerung wird nicht zum Überwachen (monitoring) benutzt und camd.socket ist deaktiviert /tmp
request_mode = 0|1

Zum Schluss noch der "request_mode", oder anders gesagt, wie die CAIDs angefragt werden. Default Wert ist hier "0". Diesen default Wert benutzt man in den meisten Fällen auch! Mit Wert "0" werden die CAIDs nacheinander angefragt. Hat man einen Provider mit mehreren CAIDs, versucht DVBapi eine CAID nach der anderen Anzufragen, bis es eine findet womit der aktuelle Sender geöffnet werden kann. Wer hier den Wert "1" setzt, fragt alle verfügbaren CAIDs für den aktuellen Sender gleichzeitig an. Dabei wird auch die priorisierte CAID aus der oscam.dvbapi nicht mehr beachtet.

Beispiel

[dvbapi]
enabled = 1
au = 1
boxtype = dreambox
user = dvbapi
pmt_mode = 0
request_mode = 0

[ nach Oben ]

[serial]

Der Abschnitt für serielles sharing. Um deine Karten an ein Client über die serielle Schnittstelle (RS-232) zu sharen, zum Beispiel SAMSUNG DSR 9500.

Unterstützte serielle Geräte:

  • HSIC (Humax Sharing Interface Client)
  • SSSP (Simple Serial Sharing Protocol)
  • bomba (BOMBA firmware)
  • dsr9500 (Samsung DSR 9500)

Syntax

device = <user>@<device>[:baud][?option1=value1[&option2=value2]]

Der Syntax besteht hier aus nur einer Zeile in der alle Angaben hintereinander stehen.

  • user = Name des User Accounts der benutzt werden soll
  • device = Name des Devices z.b. /dev/ttyS2
  • baud = Optional, allerdings muß die Baudrate bei Server und Client gleich sein.
  • option = Es gibt zwei Optionen die verfügbar sind. Wenn man beide nutzen möchte, trennt man sie durch ein "&" Symbol.

Die Optionen die euch zur Verfügung stehen sind:

  • timeout = Millisekunden / Timeout der Verbindung. Default = 50.
  • delay = Millisekunden / eine Verzögerung zwischen 2 gesendeten Symbolen. Default = 0.

Beispiel

[serial]
device = dsr9500@/dev/ttyS2?delay=1&timeout=300

[ nach Oben ]

[webif]

Nun der Abschnitt für das Webinterface. Oscam muß mit Webinterface kompiliert werden sonst ist es nicht verfügbar. Oder ihr wählt euch ein Binary welches mit Webinterface übersetzt wurde. Das Webinterface kann gerade für Anfänger sehr hilfreich sein. Dort sieht man auf einem Blick alle wichtigen Parameter. Wenn man einen Parameter nicht deuten kann klickt man einfach drauf und landet im Wiki. Falls man das Webinterface nicht gerade auf "read only" gestellt hat kann man dort alle Einstellungen direkt vornehmen. Was wiederum den Vorteil mit sich bringt, dass einige Konfigurationsdateien neu geladen werden und ein Neustart von Oscam somit außen vor bleibt.

Das Webinterface bietet auch eine schöne Übersicht was auf eurem Server gerade los ist. Möchte man zum Beispiel unter dem Reiter "STATUS" sehen wer bei einem gerade aktiv Anfragen stellt, setzt ihr am besten die Option "httphideidleclients = 1". Zusammen mit der Option "hideclient_to = 20" im Abschnitt Monitor, werden nur noch die Clienten angezeigt, wo in den letzten 20 Sekunden aktiv Anfragen gestellt haben.

Syntax

httpport = [+]Port

Hier gibt man den Port an unter dem man das Webinterface dann erreichen möchte. Setzt man ein "+" Symbol vor den Port, aktiviert man so SSL. Vorausgesetzt SSL-Support wurde mit einkompiliert in das Binary. Default = 0 (disabled).

  • Beispiel1: httpport = 83 / Das Webinterface ist über http auf dem Port 83 erreichbar
  • Beispiel2: httpport = +83 / Das Webinterface ist über https auf dem Port 83 erreichbar
httpcert = Zertifikat

Pfad und Filename zu einem Zertifikat. Default = oscam.pem. Wenn man nichts angibt, wird die eingebettete oscam.pem verwendet.

httpuser = Benutzername

Tragt hier den Benutzername ein mit dem ihr euch dann am Webinterface anmelden wollt. Kann frei gewählt werden. Default = [leer].

httppwd = Passwort

Das Passwort zu Authentifizierung am Webinterface. Kann auch frei gewählt werden. Default = [leer].

httpcss = Datei

Pfad und Filename der "css" Datei die verwendet werden soll. Dem Webinterface Nutzer stehen verschiedene Themes für das Webinterface zur Verfügung. Jedes Theme ist eine eigene css Datei die man hier einträgt. Je nach Geschmack wählt ihr euch ein Theme im Streamboard aus und ladet es hier mit Angabe von Pfad und Dateiname. Default = [leer]

  • Beispiel: httpcss = /etc/oscam/harvest_round_Firefox.css
httptpl = Pfad

Wer eigene Templates/Vorlagen verwenden will kann sie hier laden. Default = [leer].

httprefresh = Sekunden

Damit legt man fest in welchen regelmäßigen Abständen das Webinterface neu geladen wird.

httphideidleclients = 0|1

Aktiviert man um Clienten wo die idle time überschritten haben auszublenden. Die idle time legt man im Abschnitt "Monitor", bei der Option "hideclient_to" fest. Ein guter Wert ist hier 20-30 Sekunden. So sieht man nur noch die User, wo auch wirklich aktuell Anfragen stellen (aktive sind).Default = 0.

httpscript = Pfad

Pfad zu Skripten, welche ihr vom Webinterface aus starten könnt. Zu finden sind diese dann unter dem Reiter "SCRIPT". Default = [leer]

httpallowed = IP Adresse|IP Adressenbereiche[,IP Adresse|IP Adressenbereiche]...

IP Adressen die sich zum Webinterface verbinden dürfen werden hier eingetragen. Oder ihr gebt ganze Adressbereich an "von-bis", siehe Beispiel. Default = [leer].

  • Beispiel: httpallowed = 127.0.0.1,192.168.0.0-192.168.255.255
httpdyndns = hostname.dyndns.com

Anstelle einer IP Adresse kann man auch eine Dyndns freigeben. Default = [leer].

httpsavefullcfg = 0|1

Setzt man hier den Wert "1" werden alle verfügbaren Parameter, auch wenn man sie nicht gesetzt hat, in die Konfigurationsdateien geschrieben. Der Übersicht halber sollte man also den Wert auf "0" lassen. Damit werden nur Parameter die zwingend notwendig sind und Optionen die man nicht auf default belassen hat in die Konfigurationsdatei geschrieben. Default = 0.

httpreadonly = 0|1

Aktiviert man diese Option mit "1" hat das Webinterface nur lese Rechte. Braucht ihr also nur aktivieren wenn mehrere Personen Zugriff zu eurem Webinterface haben und man nicht möchte das sie was verstellen können. Default = 0.

httphelplang = en|de|fr|<available wiki languages>

Wie schon erwähnt kann man im Webinterface auf die Parameter klicken um ins Wiki zu gelangen, um dort die Bedeutung des Parameters erklärt zu bekommen. Hier kann man also festlegen in welcher Sprache man die Erklärung gerne lesen möchte.

Beispiel

[webif]
httpport = 8080
httphelplang = de
httpuser = User1
httppwd = hiddenpasswd
httprefresh = 120
httpallowed = 192.168.0.10
httpdyndns = hostname.dyndns.com
httphideidleclients = 1
httpreadonly = 0
httpsavefullcfg = 0

[ nach Oben ]

[monitor]

Der Abschnitt zu Überwachung von Oscam. Das kann über das Webinterface oder von einem externen Programm (über UDP) gemacht werden. Wählt man ein externes Programm muß man auf jeden Fall ein Port wählen worüber dieses Monitoring-Tool sich verbinden kann. Überwacht man Oscam mit dem Webinterface kann man mit "0" den Monitor-Port deaktivieren.

Syntax

port = 0|port

An welchem Port soll sich das Monitor-Tool verbinden dürfen. Default = 0 (deaktiviert).

serverip = IP Adresse

Falls man einen Server mit mehreren Netzwerkschnittstellen hat gibt man hier die IP ein auf welche das Protokoll reagieren soll.

nocrypt = IP Adresse|IP Adressenbereich[,IP Adresse|IP Adressenbereich]...

Gebt hier eine bestimmte IP Adresse oder einen Adressbereich an wo der Datenaustausch unverschlüsselt stattfinden kann (Heimnetz). Adressbereiche werden mit "von-bis" angegeben, siehe Beispiel. Default = [leer].

  • Beispiel: nocrypt = 127.0.0.1,192.168.0.0-192.168.255.255
aulow = Minuten

Damit kann man einen AU Client als "low" markieren wenn nach der vorgegebenen Zeit in diesem Parameter keine EMM mehr geschrieben wurden. Default = 30.

monlevel = 0|1|2|3|4

Damit bestimmt man die Berechtigung des Monitor-Tools. Wird aber von der Einstellung "monlevel" in der oscam.user überschrieben falls gesetzt. Wenn also in der oscam.user für den Monitor User kein "monlevel" eingetragen wurde, zählt diese Einstellung. Default = 2.
Monitor Level:

  • 0 = Zugriff auf den Monitor deaktiviert.
  • 1 = Zugriff auf Server- und eigene Userparameter erlaubt.
  • 2 = Zugriff auf alle Parameter mit der Einschränkung das man nichts verstellen kann (read only).
  • 3 = Zugriff auf alle Parameter, das Neuladen der User Datenbank ist erlaubt.
  • 4 = Uneingeschränkter Zugriff auf alle Parameter und Kommandos.
hideclient_to = Sekunden

Nach wie viel Sekunden ohne ECM Anfrage ein Client als inaktiv ausgeblendet wird. Siehe auch in der Beschreibung des Webinterfaces. Default = 0 (deaktiviert).

appendchaninfo = 0|1

Wenn man diese Option mit "1" aktiviert, werden im Log an die Zeilen mit ECM Anfragen der Clienten die Klartextnamen der angefragten Kanäle angehängt. Die Info wird aus der oscam.srvid entnommen. So kann man im Log egal ob in der Logdatei, Monitor-Tool oder im Webinterface besser erkennen welche Sender angefragt wurden.

Beispiel

[monitor]
port = 982
nocrypt = 192.168.0.10
aulow = 30
hideclient_to = 20
monlevel = 4
appendchaninfo = 1

[ nach Oben ]

[anticasc]

Die anti-cascading Sektion. Damit kann man das weitersharen seiner Clienten einschränken oder gar unterbinden. Man hat die Möglichkeit bei unerlaubten weitersharen Fake CWs zu senden oder den Client vorübergehend zu sperren. Wobei das sperren eher zu empfehlen ist. Fake CWs können in einem Sharenetz viel Ärger verursachen. Zu dieser Sektion gehört auch noch das extra oscam.ac File. In diesem werden die Intervalle zwischen zwei ECMs eingetragen. Dient der Berechnung der erlaubten Anfragen. Anticasc ist standardmäßig nicht mit einkompiliert. Es muß beim Kompilieren extra gewählt werden.

Syntax

enabled = 0|1

Zum aktivieren von anti-cascading mit dem Wert "1". Default = 0.

numusers = Anzahl

Hier gibt man an wie viele User über einen Account versorgt werden dürfen. Steht es z.b. auf "2" kann der angebundene Client und ein weiterer User der bei diesem Client drauf ist Anfragen stellen. Trägt man hingegen "1" ein, kann nur der Client selber Anfragen stellen. Default = 0 (deaktiviert).

sampletime = Minuten

Zeitintervall für das Überwachen der Anfragen bis ausgewertet und gegebenenfalls reagiert wird. Default = 2.

samples = Anzahl

Bei diesem Parameter gibt man an wie viele Anfragen über dem Limit liegen dürfen. Hier sollte man ein paar setzen, denn wenn der Client wild umherzappt könnten mehr Anfragen als erlaubt gestellt werden. Default = 10.

penalty = 0|1|2|3

Parameter zur Einstellung der Bestrafung für Clienten die das Limit überschritten haben. Hier wird es global gesetzt. Die Option kann auch für jeden User einzeln in der oscam.user gesetzt werden, dann wird die global Einstellung überschrieben. Default = 0.
penalty Optionen:

  • 0 = Hier wird nur geloggt.
  • 1 = Damit werden an den Client Fake CWs gesendet.
  • 2 = Client wird vorübergehend deaktiviert.
  • 3 = Client bekommt Zeitverzögerte CWs.
aclogfile = Filename

Das Logfile für anti-cascading. Gebt also ein Pfad und Dateiname an. Default = [leer]

fakedelay = Millisekunden

Dadurch werden die Fake CWs verzögert damit es nicht zu schnell beim Clienten ankommt. Gilt auch für richtige CWs die verzögert gesendet werden sollen (penalty 3). Default = 1000.

denysamples = Anzahl

Wie viele Überschreitungen sollen bestraft werden. Default = 8.

Beispiel

[anticasc]
enabled = 1
numusers = 1
sampletime = 2
samples = 10
penalty = 2
aclogfile = /var/log/oscam/aclog.log
denysamples = 9

[ nach Oben ]

Beispiele Zusammenfassung

So nun noch mal eine Zusammenfassung der Beispiele. So könnte eine oscam.conf aussehen, wenn man alle Module nutzen würde.

[global]
logfile = stdout
disableuserfile = 1
clienttimeout = 4700
fallbacktimeout = 2400
clientmaxidle = 300
failbantime = 300
failbancount = 25
cachedelay = 100
nice = -1
maxlogsize = 100
preferlocalcards = 1
saveinithistory = 1
readerrestartseconds = 120
lb_mode = 1
lb_save = 100
lb_retrylimits = 0D95:300,1702:900,1830:400
resolvegethostbyname = 1


[newcamd]
port = 31000@1834:000000
key = 0102030405060708091011121314
keepalive = 1


[cccam]
port = 12000
reshare = 1
ignorereshare = 0
forward_origin_card = 0
version = 2.1.4
minimizecards = 0
keepconnected = 1
stealth = 0
reshare_mode = 0


[gbox]
hostname = host.example.com
port = 13000
password = hiddenpasswd


[camd33]
port = 22200
nocrypt = 192.168.0.10
key = 01020304050607080910111213141516


[camd35]
port = 22201


[cs357x]
port = 22202


[cs378x]
port = 21000@1702:00000;22000@1830:00000,003411,008011


[radegast]
port = 32000
allowed = 192.168.0.10
user = = dreambox


[dvbapi]
enabled = 1
au = 1
boxtype = dreambox
user = dvbapi
pmt_mode = 0
request_mode = 0


[serial]
device = dsr9500@/dev/ttyS2?delay=1&timeout=300


[webif]
httpport = 8080
httphelplang = de
httpuser = User1
httppwd = hiddenpasswd
httprefresh = 120
httpallowed = 192.168.0.10
httpdyndns = hostname.dyndns.com
httphideidleclients = 1
httpreadonly = 0
httpsavefullcfg = 0


[monitor]
port = 982
nocrypt = 192.168.0.10
aulow = 30
hideclient_to = 20
monlevel = 4
appendchaninfo = 1


[anticasc]
enabled = 1
numusers = 1
sampletime = 2
samples = 10
penalty = 2
aclogfile = /var/log/oscam/aclog.log
denysamples = 9

[ nach Oben ]


[ Zurück zu Hauptseite ]
[ Zurück zu OScam ]