OSCam/de: Unterschied zwischen den Versionen

Aus Streamboard Wiki
Zur Navigation springen Zur Suche springen
Zeile 17: Zeile 17:


= In Bearbeitung MM - 18.12.2010 =
= In Bearbeitung MM - 18.12.2010 =
== oscam.server ==


Diese Konfigurationsdatei enthält Reader-Parameter für OSCam. Die Abschnitte dürfen sich wiederholen (mehr als ein Reader möglich). Es muss aber in jedem Fall mindestens ein reader konfiguriert sein!
=== Reader ===
'''Grundsatz:''' Es können mehrere [reader]-Abschnitte erstellt werden. Jeder vollständige Abschnitt wird dann als Reader verwendet.
Beispiele: [NG²], [phoenix], [mastercrd] usw.
[reader]
device                =
device_out_endpoint    =
enable                =
key                    =
premium                =
account                =
password              =
services              =
inactivitytimeout      =
reconnecttimeout      =
disableserverfilter    =
label                  =
fallback              =
logport                =
caid                  =
audisabled            =
auprovid              =
detect                =
cardmhz                =
mhz                    =
deprecated            =
mode                  =
protocol              =
ident                  =
provid                =
class                  =
maxqlen                =
group                  =
emmcache              =
ratelimitseconds      =
blocknano              =
blockemm-u            =
blockemm-s            =
blockemm-unknown      =
savenano              =
readnano              =
lb_weight              =
cccversion            =
cccmaxhops            =
cccwantemu            =
ccckeepalive          =
pincode                =
chid                  =
force_irdeto          =
nagra_read            =
n3_rsakey|rsakey      =
n3_boxkey|boxkey      =
tiger_rsakey          =
aeskey                =
aeskeys                =
showcls                =
boxid                  =
ndsversion            =
====device====
{{Mandatory}}
Legt die Device für den Abschnitt [reader] fest.
device = <device|bus:device>|Serial:Reader serial|<ip|hostname>,<port>|[,<lport>]|pcsc|<0|1>|constantcw
device:    Name der Device (z.B. myreader)
bus:        Bus- und Device-Namen für den Smartreader+
serial:    Serial-Nummer des Smartreader+ (Nummer mit lsusb 'Bus' und 'Device' holen!)
lport:      Remapping für den Local-Port
PCSC:      Nummer des PCSC-Reader (mit 0 starten!)
0|1:        '''Nur für die Coolstream HD-1''' (Reader 0 oder 1 auswählen)
constantcw: Dateiname für das Constant-CW-File
            Format des CW-Files: CA (4 digits):ID (6 digits):SID (4 digits):PMT PID (4 digits):ECM PID (4 digits):key
            (16 Bytes getrennt durch Leezeichen)
            Beispiel: 1234:123456:1234:1234:1234::00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Beispiele
device = /dev/ttyS0  # (Reader an COM1 (bei Linux i386 und Windows))
device = /dev/tts/1  # (Reader an COM2 (Linux dbox2 mit multicam))
device = /dev/ttyUSB0 # (Reader an USB  (Linux i386))
'''Hinweis:''' Der Zähler für die Device liegt immer um 1 hinter der Nummer des COM-Ports! Also ttyS0 = COM1, tts/1 = COM2. Bei Benutzung neuerer PC sind kaum noch serielle Anschlüsse vorhanden, sodass in diesen Fällen USB 2.0 benutzt werden muss. Hier am besten im Gerätemanager des PC nachschauen, welcher COM-Port dem Reader zugewiesen wurde und in die Device den Port -1 eintragen!
====device_out_endpoint====
{{Depends}}
Setzt die Addresse des Endpunkts für FTDI-Chips
0x81:  Infinity USB Smart
0x82:  Smartreader+  (default)
====enable====
{{Optional}}
Deaktiviert den Reader
0  =  Aus
1  =  Ein (default)
====key====
{{Depends}}
Key für Newcamd remote reader encription
key = DES key
====premium====
{{Depends}}
{{UnderConstruction?}}
Für GBox-Reader    ''noch bearbeiten!''
premium =  ???
====account====
{{Optional}}
User und Passwort für Remote-Reader (Leerzeichen sind nicht erlaubt!) Überschreibt das Passwort von "password". Wer zuerst kommt, malt zuerst. Siehe '''password'''
Beispiel
account =  # fritz,xyxyx
====password====
{{Optional}}
Passwort für Remote-Reader. Überschreibt das Passwort von "account". Wer zuerst kommt, malt zu erst. Siehe '''account
'''
Beispiel
password =  # xyxyx
====services====
{{Optional}}
Ordnet den Reader einer Servicegruppe zu bzw. schließt eine Servicegruppe aus
services = [!]services[,[!]<services>]...
          = [blank] ist default
Beispiel
services = # skywelt,skyweltextra,!skyfilm
            # skywelt und skywelt extra sind zugeordnet, skyfilm ist ausgeschlossen
====inactivitytimeout====
{{Depends}}
'''Nur für Newcamd-Reader'''
inactivitytimeout =  # in Minuten
                  =  # [blank] default
====reconnecttimeout====
{{Optional}}
Zeitspanne in Minuten für eine Wiederverbindung im '''TCP''', wenn Antworten ausbleiben
Beispiel
reconnecttimeout = 2  # Nach 2 Minuten ohne Antworten, wird wiederverbunden
                  =    # [blank] default
====disableserverfilter====
{{Optional}}
Ignoriert CAID und Ident-Einstellungen des Readers bei fehlerhaften Clients.
disableserverfilter = 1  # ignoriert
                    = 0  # ignoriert nicht (default)
====label====
{{Mandatory}}
Legt den Namen für diesen Reader fest.
Beispiel
label = easymouse2
====fallback====
{{Optional}}
Definiert diesen Reader als Fallback. Standard- und Fallback-Reader müssen in der selben Gruppe sein. Siehe '''group'''!
fallback = 1  # Fallbackreader
          = 0  # Kein Fallbackreader (default)
====logport====
{{Optional}}
Logport für einen '''Camd3'''-Reader. UDP muss aktiviert sein. Funktioniert nur, wenn in Camd3 kein Cascading stattfindet!
logport = # Port-Nummer
        = # kein Logport (default)
====caid====
{{Optional}}
Definiert eine CAID für den Reader. Einige Protokolle unterstützen nur eine CAID
Beispiel:
caid = 0100,0200&FFDF
      = FFFF  # ist Default-Wert
====audisabled====
{{Optional}}
Schließt den Reader vom AU (Auto-Updating) aus
audisabled = 1  # ausgeschlossen
            = 0  # nicht ausgeschlossen (default)
====auprovid====
{{Optional}}
Hier kann die Provider-ID festgelegt werden, damit der richtige Reader für das AU zur verfügung steht
Beispiel
auprovid =  # 123456
          =  # [blank] default
====detect====
{{Depends}}
Statusleitung für "Karte ist drin".
Detect = CD  (Carrier Detect) - default -
Detect = DSR  (Data Set Ready)
Detect = CTS  (Clear To Send)
Detect = RING (Ring Indicator)
Detect = NONE (Erkennung wird abgeschaltet, aber es wird immer ein "Karte ist drin" signalisiert!)
Detect = gpio1 ... gpio7 (neu für mipsel-uclibc)
* Inverse Leitung  = "!" voranstellen (z.B. "Detect=!CTS")
====cardmhz====
{{Depends}}
'''Standard'''-Frequenz der Karte in Schritten von 10 KHz. Für Irdeto-Karten = 600 KHz. '''Overclocking''' beachten!
Beispiel
cardmhz = 600  # Irdetokarte
        =      # [blank] Default-Wert 357
====mhz====
{{Optional}}
Abweichend von '''cardmhz''' kann die Frequenz des Kartenlesers, sofern dies technisch möglich ist, anders (in der Regel höher) in 10 KHz-Schritten eingestellt werden, als die Standard-Frequenz der Karte. Man sprich dann von '''Overclocking'''. So kann z.B. eine s02-Karte (Standard 6 MHz) mit 10 MHz übertaktet werden.
Das sieht dann so aus:
cardmhz = 600    # ( 6000 KHz =  6 MHz)
mhz    = 1000  # (10000 KHz = 10 MHz)
Default ist 357
====deprecated====
{{Optional}}
{{UnderConstruction?}}
'''Bitte noch bearbeiten'''
deprecated = 1  ausschließlich deprecated
            = 0  default
====mode====
{{Depends}}
'''Nur für AZBox-Reader'''
Setzt die Karte in den Init-Mode für den AZBox_reader
mode = 1  # AzBox-Reader
      = 0  # default
====protocol====
{{Mandatory}}
Kommunikationsprotokoll für den Reader.
protocol = mouse        (Lokaler Cardreader)
          = internal      (Alle Cardreader mit einem "Device=/dev/sciX")
          = camd35|cs357x (Cascading - camd 3.5-kompatibler Remote-Server)
          = mp35
          = smartreader
          = serial
          = cs378x
          = gbox
          = newcamd|newcamd525
          = newcamd524
          = cccam
          = radegast
          = pcsc
          = constcw
====ident====
{{Optional}}
Definiert CAID und Ident für den Reader
ident 0 <CAID>:<ident>[,ident]...[,<CAID>:<ident>[,ident]...]...
Beispiel
ident =  # 0100:123456,234567;0200:345678,456789
      =  # [blank] Keine Definition (default)
====provid====
{{Optional}}
Definiert Provider-ID für den Reader
provid =  # ID
        =  # [blank] Keine Definition (default)
====class====
{{Optional}}
Definiert Class '''in hexadecimal''' für den Reader
class = 01,02,!1b,!2b  # 01 und 01 ja, 1b und 2b nein
      =                # [blank] Keine Definition (default)
====maxqlen====
{{Optional}}
Da in einigen wenigen Fällen die Länge der Request-Que vom Standard abweicht, kann die maximale Länge der RQ für den Reader hier festgelegt werden.
maxqlen =  # size
        =  # [blank] Default-Wert 128
====group====
{{Mandatory}}
Jeder Reader muss in einer oder mehrere Gruppen eingetragen sein. Damit lässt sich bestimmen, welcher Client auf welchen Reader Zugriff hat. Gültige Werte 1-32
group = <grp>[,<grp>][,<grp>]...
Beispiel
Group = 1      # (eine Gruppe)
Group = 1,4,5  # (mehrere Gruppen)
====emmcache====
{{Optional}}
Definition des EMM-Caches für den Reader. Derzeit nur für lokale Reader. Betrifft die AU-Funktion. Damit kann entschieden werden, ob Update-Kommandos (EMM) vom Provider immer oder nur unter bestimmten Voraussetzungen geschrieben werden.
Format:
'''''emmcache = <usecache>,<rewrite>,<logging>'''''
* <usecache> 0 = # cache aus  (default)
* <usecache> 1 = # cache ein
* <rewrite>  n = # Wie oft ein und das selbe Update-Kommando (EMM) geschrieben wird. ''Gilt nur bei <usecache> = 1''
* <logging>  0 = # Einträge im Logfile ausgeschaltet
* <logging>  1 = # Nur fehlerhafte EMM werden geloggt
* <logging>  2 = # die geschriebenen (written) EMM werden geloggt
* <logging>  4 = # die zurückgewiesenen (skipped) EMM werden geloggt
* <logging>  8 = # die blockierten (blocked) EMM werden geloggt
Beispiele
emmcache = 1,3,10 #  Cache ein, 3 x schreiben, die geschriebenen (2) und die geblockten (8) = 10 loggen
emmcache = 1,2,6  #  Cache ein, 2 x schreiben, die geschriebenen (2) und die zurückgewiesenen (4) = 6 loggen
Arten des Caching
cache1 = ECM und CW bereits im Cache
cache2 = ECM und Checksum bereits im Cache
====ratelimitecm====
{{Optional}}
Anzahl der unterschiedlichen SIDs die in ECMs innerhalb eines Intervalls erlaubt sind
ratelimitecm =  # Zahl
              = 0 # (default)
====ratelimitseconds====
{{Optional}}
Intervall für ein ratelimit
ratelimitseconds =  # Sekunden
                  = 0 # (default)
====blocknano====
{{Optional}}
Liste zu blockender EMM-Nanos (in hex) oder aller EMM-Nanos. Gilt nur für physikalische Reader!
Beispiel
blocknano = 45,93,7a,ff
          = all
          = # [blank] (default)
====blockemm-u====
{{Optional}}
''unique address-EMMs, entspricht D3 bei Sk*''
blockemm-u = 0 # (nicht blocken) default
blockemm-u = 1 # (Blocke EMMs, die an die Karte direkt adressiert sind)
====blockemm-s====
{{Optional}}
''shared address-EMMs, entspricht D2 bei Sk*''
blockemm-s = 0 # (nicht blocken) default
blockemm-s = 1 # (Blocke EMMs, die an bestimmte Gruppen von Karten gehen)
====blockemm-g====
{{Optional}}
''global address-EMMs, entspricht D0 bei Sk*''
blockemm-g = 0 # (nicht blocken) default
blockemm-g = 1 # (Blocke EMMs, die an alle Karten gehen)
====blockemm-unknown====
{{Optional}}
Blockiert alle unbekannten Arten von EMM
blockemm-unknown = 0  # (nicht blocken)  default
blockemm-unknown = 1  # (Blocke alle unbekannten Arten von EMMs
====savenano====
{{Optional}}
Liste von EMM-Nanos, die gespeichert werden sollen (hex) oder alle EMM-Nanos.
Format
nano[,nano]....|all
Beispiel
savenano = 45,93,7a,ff
          = all  # (default)
====readnano====
{{Optional}}
'''Gilt nur für physikalische Reader!'''
Schreibt eine Datei (üblicherweise die Kopie einer Datei, die von '''savenano''' gespeichert wurde) auf die SmartCard. Ist kein Pfad angegeben, wird die Datei im Konfigurationsverzeichnis gesucht.
Beispiel
readnano = write.emm
          = /var/oscam/write.emm
          =  # [blank] (default)
====lb_weight====
{{Optional}}
Je höher dieser Wert, desto größer ist die Wahrscheinlichkeit, dass dieser Reader ausgesucht wird. Es ist ein Indikator für die durchschnittliche Antwortzeit innerhalb des Loadbalancing
lb_weight = weight
          =  # [blank] Default-Wert 100
====cccversion====
{{Depends}}
'''Nur für CCcam'''
Definiert die Version von CCcam, die verwendet werden soll.
<nowiki><mainversion>,<version>,<sub version></nowiki>
Beispiel
cccversion = 1.2.34
====cccmaxhops====
{{Depends}}
Legt das Maximum an Distance-Hops für die Karte fest
0 = Nur lokale Karte
1 = Lokale Karte + 1 Hop
2 = Lokale Karte + 2 Hops
    und so weiter
    Default-Wert = 10
====cccwantemu====
{{Depends}}
Anfrage, auch einen emu vom CCcam-Server zu erhalten.
cccwantemu = 1  # ja
            = 0  # nein default
====ccckeepalive====
{{Depends}}
Sendet eine "keepalive-message", um eine Verbindung zum remote CCCam-Server zu erhalten.
ccckeepalive = 1  # ja
              = 0  # nein  (default)
====pincode====
{{Optional}}
Pincode für '''Conax- und Cryptoworks''' Karten.
pincode = pincode
        =  # [blank] default
====chid====
{{Optional}}
Definiert '''Irdeto'''-ChID für den Reader
Beispiel
chid = 0100:12
      =  # [blank] default
====force_irdeto====
{{Optional}}
Forciert den Irdeto-Modus, auch wenn ein RSA-Key für Irdeto getunnelte Nagravisions-Karte vorliegt.
force_irdeto = 1  # ja
              = 0  # nein  (default)
====nagra_read====
{{Optional}}
Lese Nagravision-Records. '''Nur für NCMED-Karten'''
nagra_read = 0  # ausgeschaltet  (default)
            = 1  # lese alle Records mit abgelaufenen Rechten
            = 2  # lese nur Records mit gültigen Rechten
====n3_rsakey|rsakey====
{{Optional}}
RSA-Key für '''Nagravision-Karten''' | CAM-Key für '''Irdeto-Karten'''
n3_rsakey<rsakey = RSA-Key
====n3_boxkey|boxkey====
{{Optional}}
Box-Key für '''Nagravision-Karten''' | CAM-Key für '''Irdeto-Karten'''
n3_boxkey|boxkey = box key
====tiger_rsakey====
RSA-Key für '''Tiger-Nagravision-Karten'''
tiger_rsakey = RSA-Key
====aeskey====
{{Optional}}
16 Bytes AES-Key für '''Viacces-Karten'''
aeskey = AES-Key
====aeskeys====
{{Optional}}
Multiple AES-Keys für '''Viacces-Karten'''
CAID #ident:AES key #0 CAID #0[,AES key #1 CAID #0],...[;CAID #1@ident::AES key #0 CAID #1[,AES key #1 CAID #1],...]...
Spezial AES Keys:
00 = schicke keine CW zurück, es ist kein AES-Key spezifiziert
FF = schicke CW zurück, die vom S empfangen wurden, es ist kein AES-Key spezifiziert
Beispiel
aeskeys = 0100@012345:000102030405060708090a0b0c0d0e0f;0200@543210:0,0,0f0e0d0c0b0a090807060504030201
====showcls====
{{Optional}}
{{UnderConstruction?}}
number of classes subscriptions to show for '''Viacces-SCs'''
''noch bearbeiten''
schowcls = Menge
          = 0  # (default)
====boxid====
{{Optional}}
ID der '''NDS-Reciever-Box'''
boxid = NDS box ID
====ndsversion====
{{Optional}}
Version von '''NDS Videoguard''' einsetzen
  0 = # autodetection  (default)
  1 = # NDS Videoguard 1
12 = # NDS Videoguard 1+
  2 = # NDS Videoguard 2


== Oscam.user ==
== Oscam.user ==

Version vom 18. Dezember 2010, 07:53 Uhr

Version

Das OSCam-Wiki bezieht sich auf die OSCam Version 1.00 Build #4042.

OSCam wird täglich fleißig weiterentwickelt, also keine Sorge, wenn die Wiki-Version einigen Build`s hinterherhinkt ;)


Seitenverzeichnis


In Bearbeitung MM - 18.12.2010

Oscam.user

Diese Datei enthält Userdefinitionen. Für jeden User muss ein Abschnitt erstellt werden.

Account

[account]
user                   =
pwd                    =
hostname               =
betatunnel             =
uniq                   =
sleep                  =
sleepsend              =
caid                   =
au                     =
group                  =
services               =
ident                  =
class                  =
monlevel               =
expdate                =
disabled               =
allowedtimeframe       =
numusers               =
penalty                =
failban                =
suppresscmd08          =
keepalive              =
cccmaxhops             =
cccreshare             =

user

Parameter wird benötigt

Hier wird der Benutzername eingefügt. (Clientname)

Beispiel:

user = user1

Default:

user =

pwd

Parameter wird benötigt

Hier wird der das Passwort festgelegt.

Beispiel:

pwd = pwuser1

Default:

pwd =

hostname

Parameter ist optional


Beispiel:

hostname = pwuser1

Default:

hostname =

betatunnel

Parameter ist optional


Beispiel:

betatunnel =
betatunnel = <CAID>.<ServiceID>:<target CAID>

Default:

betatunnel =

uniq

Parameter ist optional

Mit Uniq wird geregelt ob sich ein Client gleichzeitig nur einmal oder mehrmals anmelden darf

Beispiel:

uniq = 0  # (deaktiviert)
uniq = 1  # (Nur eine Verbindung pro User ist erlaubt)
uniq = 2  # (Setzt User auf Fake wenn die IP unterschiedlich ist)
uniq = 3  # (Erlaubt nur eine Verbindung pro User, die letzte Verbindung bleibt bestehen)
uniq = 4  # (Setzt User auf Fake wenn die IP unterschiedlich ist aber dder letzte Login bleibt erhalten)

Default:

uniq = 0

sleep

Parameter ist optional

Zeit in Minuten nach der der User auf inaktiv gesetzt wird.

Beispiel:

sleep = 5

Default:

sleep =

sleepsend

Parameter ist optional

255 = nur OSCAM Clients: Stoppt Anfragen bist zum nächsten umschalten 255 = nur Camd3 Clients: Stoppt Anfragen bis Camd3 neugestartet wird

Beispiel:

sleepsend = 0
sleepsend = 255

Default:

sleepsend =

caid

Parameter ist optional

Limitiert die CAID's die ein User anfragen darf.

Beispiel:

caid = 1234,5678
caid = <CAID>,<CAID>

Default:

caid =

au

Parameter ist optional

Hier wird dem User erlaubt, EMM's an alle bzw. eine bestimmte Karte zu schicken.

Beispiel:

au = 1
au = lable_of_reader # (wird in der oscam.server konfiguriert)

Default:

au =

group

Parameter wird benötigt

Jeder User muss in einer oder mehrere Gruppen eingetragen sein. Damit lässt sich dann bestimmen, auf welche Reader, sofern mehrere vorhanden sind, dieser Client Zugriff haben soll.

Beispiel:

group = 1   # (User ist in Gruppe 1)
group = 1,2 # (User ist in Gruppe 1 + 2)

Default:

group =

services

Parameter ist optional

Welches Services darf der User nutzen hierzu muss eine oscam.services vorhanden sein.

Beispiel:

services = service1,!service2 # (Client darf service1 empfangen aber nicht service2)
services = [!]services

Default:

services =

ident

Parameter ist optional

Vorlage:UnderConstruction? Muss nachgepflegt werden.

Beispiel:

ident  =
ident  = <CAID>:<ident>

Default:

services =

class

Parameter ist optional

Muss nachgepflegt werden.

Beispiel:

class  =

Default:

class =

monlevel

Parameter ist optional

Der Monitorlevel gibt dem Client die Möglichkeit sich auf die Monitorschnittstelle des Servers zu verbinden. Der Monitor wird in der oscam.conf konfiguriert.

Beispiel:

monlevel  = 0 # (kein Zugriff auf den Monitor)
monlevel  = 1 # (nur der Server und der eigene Prozess)
monlevel  = 2 # (alle Prozesse aber nur anschauen)
monlevel  = 3 # (alle Prozesse und neuladen der oscam.user)
monlevel  = 4 # (Vollzugriff)

Default:

monlevel = 2

expdate

Parameter ist optional

Wie lange ist der User gültig.

Beispiel:

expdate  = 2099-12-31 # (Gültig bis 31.12.2099)
expdate = <year>-<month>-<day>|<year>/<month>/<day>

Default:

expdate =

disabled

Parameter ist optional

User sperren.

Beispiel:

disabled = 0 # (User ist aktiv)
disabled = 1 # (User ist gesperrt)

Default:

disabled = 0

allowedtimeframe

Parameter ist optional

Zeitspanne, in der der User schauen darf.

Beispiel:

allowedtimeframe = 10:00-22:00
allowedtimeframe = hh:mm-hh:mm

Default:

allowedtimeframe =

numusers

Parameter wird abhängig vom Setup/Programmversion benötigt.

Wird nur benötigt wenn Anti-Cascading aktiviert ist. Anzahl der zugelassenen User pro Account

Beispiel:

numusers = 5 # (Maximal 5 User)
numusers = 0 # (Anti-Cascading deaktiviert)
numusers =   # quantity

Default:

numusers =

penalty

Parameter wird abhängig vom Setup/Programmversion benötigt.

Wird nur benötigt wenn Anti-Cascading aktiviert ist. Was passiert wenn der Wert numuser überschritten wird.

Beispiel:

penalty = 0 # (Es wird nur geloggt)
penalty = 1 # (Sendet Fake CW's)
penalty = 2 # (deaktiviert temporär den Account)

Default:

penalty = 0

failban

Parameter ist optional

Was passiert wenn der Wert numuser überschritten wird.

Beispiel:

failban = 0 # (ignoriert)
failban = 2 # (Blockt die IP wenn sich ein deaktivierter Client verbindet)
failban = 4 # (Blockt die IP eines schlafenden Accounts)

Default:

failban = 0

suppresscmd08

Parameter ist optional

Nur wenn als Protokoll camd3|3.57x|3.78x verwendet wird. Das CMD08 ist ein Command welches dem Client mitteilt das die Anfrage unerwünscht ist (rejected). Camd3 und Oscam als Client stellen auf dieses Command hin die Anfragen für diesen Service an den Server ein. Sollte der Wert beim User nicht gesetzt sein gilt der globale Wert aus der oscam.conf. Das Command kann mit dem undokumentierten Parameter sleepsend=0|255 ergänzt werden (CMD08 senden bei status 'sleep').

Zur Beachtung: Camd3 clients sperren die Anfrage bis zum Neustart. Oscam Clients sperren die Anfrage bis zum nächsten Zap. Sleepsend=255 sollte also nur bei Oscam Clients verwendet werden da ein Camd3 Client nach einem Sleepstatus einen Neustart bräuchte um diesen Service wieder anzufragen.

Beispiel:

suppresscmd08 = 0 # (aktiviert)
suppresscmd08 = 1 # (deaktiviert)

Default:

suppresscmd08 = 0

keepalive

Parameter ist optional

Die Verbindung zwischen Server und Client wird aufrechterhalten

Beispiel:

keepalive = 0 # (deaktiviert)
keepalive = 1 # (aktiviert)

Default:

keepalive = 1

cccmaxhops

Parameter wird abhängig vom Setup/Programmversion benötigt.

Nur wenn CCcam Proxies vorhanden sind oder ein CCcam Server verwendet wird. Maximale Hops die dem User erlaubt sind.

Beispiel:

cccmaxhops = 5
cccmaxhops = hops

Default:

cccmaxhops = 10

cccreshare

Parameter wird abhängig vom Setup/Programmversion benötigt.

Nur wenn CCcam Proxies vorhanden sind oder ein CCcam Server verwendet wird. Reshare Level welches dem User erlaubt wurde.

Beispiel:

cccreshare = -1
cccreshare = x # (Share Level)

Default:

cccreshare = 10

oscam.dvbapi

Konfigurationsdatei für DVBapi

P: CAID:[provider ID]:[service ID]:[ECM PID] [continue]
I: CAID:[provider ID]:[service ID]:[ECM PID]
D: CAID:[provider ID]:[service ID]:[ECM PID] delay
M: CAID:[provider ID]:[service ID]:[ECM PID] CAID:[provider ID]
P = Settings für Priority,
    continue = 1      #  mit Vorrang behandeln
                      # default ist ohne Vorrang
I = Settings für Ignore
D = Settings für Delay in Millisekunden für das Schreiben der CW's (wenn der Server zu schnell liefert ;-)
M = Settings für Mapping
Beispiele:
P: 0100:123456       # CAID 0100 mit Provider 123456 hat Vorrang
P: :::1234           # ECM mit Provider ID 1234 hat auf jedem Service Vorrang
P: 0200              # CAID 0200 hat Vorrang
P: 0300:9ABC         # CAID 0300 hat nur auf Service 9ABC Vorrang
M: 0400 0500:123456  # Mapped CAID 0400 und 0500 ständig zu provider ID 123456
D: 0600 200          # Wartet 200 ms bevor CW für CAID 0600 geschrieben wird
I: :654321           # Ignoriert Provider ID 654321 für jeden service
I: 0                 # Ignoriert jede CAID, die nicht zuvor bearbeitet wurde

oscam.ac

Anti-Cascading Tabelle

Durch Verwenung dieser Tabelle wird vermieden, dass ein User die empfangenen CW's [Controlwords] unerlaubt an weitere User reicht (cascadiert).

<CAID>:<provider ID>=<seconds>

oder

<CAID>:<provider ID>*=<seconds>

Es wird der zeitliche Abstand beim Wechsel der CW's in Bezug auf CAID und provider ID in Sekunden festgelegt. Zusätzlich kann bestimmt werden, für wieviel Zyklen diese Vorgabe gilt

Beispiel:
0100:000000=10
*=7

Für CAID 0100 mit dem Provider 000000 wird der Abstand auf 10 Sekunden festgelegt. Der Zyklus soll 7 mal durchlaufen werden.


Beispiel für Sky DE und HD+:
1702:000000 = 7
1833:000401 = 7
*=7

oscam.cert

Issuer Publik Keys (IPK)

CAID:reserverd:IPK
Beispiel:
0100:00000000:010203040506070809A0B0C0D0E0F

Ermöglicht ein mapping zwischen CAID und IPK/sessions keys in hex

Hinweis

Derzeit nur für Cryptoworks!

oscam.guess

Tabelle zur Feststellung der CAID

Nur für BOMBA Protocol

<length of ECM>:<CAID>

Leitet die CAID aus len in hex ab. Wird nur für Protokolle benötigt, die CAID nicht weitergeben (z.B. BOMBA).

Beispiel:
12:3456

oscam.ird

Für Irdeto

Tabelle zur Feststellung der CAID über die Signature.

<byte3>:<byte4-7>:<CAID>:<SID>
Beispiel:
12:000000a:12ab:cd01

oscam.services

Definition von services für OSCam

[service name]  =
caid            =
provid          =
srvid           =

[service name]

Dieses Feld muss einen unverwechselbaren Namen haben und leitet jeweils die Angaben für diesen Service ein

caid

Hier werden eine oder mehrere CAID's für diesen Service in hex aufgelistet.

provid

Hier werden eine oder mehrere Provider ID's in hex aufgelistet.

srvid

Hier werden die Service ID's in hex aufgelistet.

Beispiel:
[myservice]
CAID=0100,0200,000A
provid=000001,ABCDEF
srvid=0001,0002,000A,000B

Eine umfangreiche Liste wird hier laufend gepflegt:

[[1]]

oscam.srvid

Diese Datei wird nur benötigt, wenn Monitor und Webinterface betrieben werden!

Es findet ein Mapping zwischen CAID, Service ID, Provider, Name, Art und Beschreibung des Servives statt. Das Logging und die Anzeigen im Webinterface erhalten durch die Klartextbezeichnungen eine bessere Aussagekraft. Abhängigkeiten zwischen Server, Reader und User sind schneller und besser erkennbar.

CAID[,CAID]...service ID|[provider]|[name]|[type]|[description]
Beispiele:
0001,0002,0003:000a|my provider 1|tv name|tv|my tv package
0004,0005,0006:000a|my provider 2|radio name 2|radio|my radio package
0006:000b|my provider 3|tv name 3|

Eine umfangreiche oscam.srvid wird hier bereitgestellt und gepflegt:

[[2]]

oscam.tiers

Es findet ein Mapping zwischen CAID und Tier statt und es wird eine beschreibung hinzugefügt.

CAID[,CAID]...:TIER ID|description
Beispiele:
0001,0002,0003:000a|may TIER 1
0004:000b|my TIER 2
0005:000b|ny TIER 3

Monitoring

Webinterface

Wichtiger Hinweis!

Das Webinterface benutzt nur eine einfache Authenthication. Diese Authentication ist für die Verwendung von außerhalb des Home-Netzwerks nicht sicher genug, weil der gesamte Verkehr einschließlich userid und password unverschlüsselt stattfindet. Ein Eindringling kann damit die gesamte Kontrolle über das System erlangen. Wenn ein Zugriff auf das Webinterface aus dem Internet vorgesehen ist, wird dringend empfohlen, einen SSL securde reverse proxy wie z.B. Apache zu benutzen. Alles andere ist äußerst kritisch.

Features

bereits implementiert

  • Edit oscam.user (Lesen und Schreiben)
  • Edit oscam.services (Lesen und Schreiben)

noch in Arbeit

  • Edit oscam.conf [global] (Lesen, Schreiben, Update nur nach Neustart)
  • Edit oscam.server [reader] (Lesen noch nicht alle Parameter, Schreiben noch nicht)

Parameter

Siehe oscam.conf [webif]

Template System

Das Webinterface ermöglicht es, eigene Seiten zu entwickeln. Die Original-Templates für die Entwicklung sind in savetemplates.html zu finden. OSCam wird diese Templates in dem Verzeichnis speichern, dass im Parameter httptpl von oscam.conf [webif] eingetragen ist.

MicroMon

Eine ausführliche Dokumentation ist hier zu finden:

http://streamboard.gmc.to/wiki/index.php/MicroMon

Beispiel-Konfigurationen

reader

Serial-Mouse kompatible Reader

[reader]
label    = myserialmouserreader
detect   = cd
protocol = mouse
device   = /dev/ttyS1
group    = 1
caid     = 0100
services = myservice,thisservice

USB-Mouse kompatible Reader

[reader]
label     = myusbmousereader
detect    = cd
protocol  = mouse
device    = /dev/ttyUSB0
aeskey    = 0102030405060708090a0b0c0d0e0f10
group     = 2
caid      = 0200

Camd3.78x Reader

[reader]
label     = mycamd378xreader
protocol  = cs378x
device    = 192.168.0.1,1234
account   = user,password
group     = 3

Newcamd Reader

[reader]
label     = mynewcamdreader
protocol  = newcamd
key       = 0102030405060708091011121314
device    = 192.168.0.2,2345
account   = user,password
group     = 4

CCcam Reader

[reader]
label     = mycccamreader
protocol  = cccam
device    = 192.168.0.3,3456
account   = user,password
group     = 5
caid      = 0300,0400,0500
cccversion= 1.2.3
cccbuild  = 4567

PCSC Reader=

[reader]
label     = mypcscreader
protocol  = pcsc
device    = 0
aeskey    = 0102030405060708090a0b0c0d0e0f10
group     = 6
caid      = 0600

Smargo Smartreader+

[reader]
label     = mysmargoreader
protocol  = smartreader
device    = 001:002
aeskey    = 0102030405060708090a0b0c0d0e0f10
group     = 7
caid      = 0700

Internal Reader

[reader]
label     = myinternalreader
protocol  = internal
device    = /dev/sci0
group     = 8
caid      = 0800

Constant CW

[reader]
label     = myconstantcw
protocol  = constcw
device    = /var/keys/constant.cw
group     = 9

Overclocking

Dreambox und andere interne Reader

Für die Dreambox und andere interne Reader wird die höchstmögliche clockrate automatisch ermittelt. Der MHz-Parameter in [reader] ermöglicht es, den von OSCam automatisch ermittelten Wert zu überschreiten, wenn er von 357 und 358 abweicht. Üblicherweise sollte dort aber kein Wert für mhz eingetragen werden.

Bei bestimmten Dreamboxes (insbesondere PPC-Clones) führt der Default-Wert im Parameter mhz zu langsamen ECM-Zeiten und/oder zu "not found". Durch das stufenweise Setzen der Werte z.B. wie 200, 300, 400, ... 1600 kann man einen Wert herausfinden, der mit dem Receiver und der Karte gut arbeitet. Je höher der mhz-Wert, desto niedriger wird die ECM-Zeit (seltsam genug ;-) )

Wenn ein zu niedriger Wert gewählt wird, wird die Karte nicht erkannt (no ATR oder card not supportet). Wird ein zu hoher Wert gewählt, werden die ECM-Zeiten niedrig. Die Erfahrungen zeigen, dass entweder des Fehlen der mhz-Zeile oder ein Eintrag von mhz = 1000 am besten funktioniert.

Phoenix/Smartmouse Reader

Overclocking funktioniert nicht unter Windows und Mac OS X. Einstellungen sind unmittelbar am reader erforderlich (meistens Dip-Schalter). OSCam selbst kann in diesem Fall keine Frequenzen setzen!

Smargo Smartreader+

Einstellungen mit dem native Smargo Smartreader+ Tool (srp_tools) vornehmen. Keine Werte in mhz und cardmhz eintragen.

Baudraten

OSCam versucht, die Baudraten automatisch zu setzen. Bei einem Standard Serial Port sind die Einstellungsmöglichkeiten für eine Baudrate begrenzt, sodass Overclocking möglicherweise nicht funktioniert. Daher ist bei der Benutzung von Serial Readern der beste Weg zum Overclocking die Verbindung des Readers über einen FTDI basierten USB to serial port adapter.

Wenn Overclocking nicht funktioniert, sollte die effektive Baudrate über das logfile festgestellt werden. Wenn diese zu stark von der geforderten Baudrate abweicht, wird die Karte nicht erkannt (no ATR). Dann sollte der Wert von mhz erneut angepasst werden. Je höher die Baudrate, desto genauer arbeitet die effektive Baudrate.