OSCam/de

Aus Streamboard Wiki
Zur Navigation springen Zur Suche springen

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.