nice = -20..+20
pidfile = filename
logfile = [filename][;syslog][;stdout]
syslogport = port
ecmfmt = format
possible variables:
c = CAID
d = PID
e = CSP hash
g = ID of origin gbox peer
h = checksum
i = channel ID
j = distance of gbox hops
l = length
o = ONID
p = provider ID
s = service ID
w = CW
y = payload
use a value as prefix to hide variable with this value, control characters will be escaped by "\"
example: ecmfmt = c&0p/i/d/s/l:h.e_w
(hide provider ID if 0)
loghistorylines = lines
maxlogsize = kbytes
logduplicatelines = 0|1
disablelog = 0|1
cwlogdir = path
emmlogdir = path
usrfile = filename
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
disableuserfile = 0|1
usrfileflag = 0|1
0 = only client logon/logoff will be logged in usrfile (default)
1 = each zapping of a client will be logged in usrfile
disablemail = 0|1
mailfile = file
enableled = 0|1|2
waitforcards = 0|1
waitforcards_extra_delay = delay
preferlocalcards = 0|1
0 = local SCs used like a remote reader
1 = prefer cache exchange based SCs (default)
2 = prefer local SCs
readerrestartseconds = seconds
block_same_ip = 0|1
block_same_name = 0|1
clienttimeout = milli-seconds|seconds
clientmaxidle = seconds
suppresscmd08 = 0|1
fallbacktimeout = milli-seconds
fallbacktimeout_percaid = milli-seconds
sleep = minutes
serverip = IP address
bindwait = seconds
netprio = 0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20
0 = IPP=0; DSCP=CS0 (default)
1 = IPP=1; DSCP=CS1
2 = IPP=1; DSCP=AF11
3 = IPP=1; DSCP=AF12
4 = IPP=1; DSCP=AF13
5 = IPP=2; DSCP=CS2
6 = IPP=2; DSCP=AF21
7 = IPP=2; DSCP=AF22
8 = IPP=2; DSCP=AF23
9 = IPP=3; DSCP=CS3
10 = IPP=3; DSCP=AF31
11 = IPP=3; DSCP=AF32
12 = IPP=3; DSCP=AF33
13 = IPP=4; DSCP=CS4
14 = IPP=4; DSCP=AF41
15 = IPP=4; DSCP=AF42
16 = IPP=4; DSCP=AF43
17 = IPP=5; DSCP=CS5
18 = IPP=5; DSCP=EF
19 = IPP=6; DSCP=CS6
20 = IPP=7; DSCP=CS7
resolvegethostbyname = 0|1
0 = getadressinfo (default)
1 = gethostbyname
failbancount = count
failbantime = minutes
dropdups = 0|1
0 = mark client as duplicate, but don't disconnect them (default)
1 = drop duplicate connections instead of marking as duplicate
unlockparental = 0|1
double_check = 0|1
double_check_caid = [CAID1|first two digits of CAID1],[CAID2|first two digits of CAID2]...
lb_mode = mode
0 = load balance disabled, ECMs go to all readers (default)
1 = fastest reader first, after 5 ECMs the reader with the fastest
response time will be selected
2 = oldest reader first, reader with the longest no answer
3 = lowest usage level, the usage level will be calculated by the
sum of 5 ECMS response times, the higher a reader is busy, the
higher is usage level
lb_save = 0|counts
0 = saving of auto load balance statistics disabled (default)
counts = save auto load balance statistics every counts ECMs
(minimum 100)
To save CPU power a minimum counts of 100 is recommended.
lb_nbest_readers = counts
lb_nfb_readers = counts
lb_nbest_percaid = CAID1:count1[,CAID2:count2]...
example: lb_nbest_percaid = 0100:4,0200:3,03:2,04:1
(wildcard CAIDs 03xx and 04xx)
lb_min_ecmcount = counts
lb_max_ecmcount = counts
lb_reopen_seconds = seconds
lb_reopen_invalid = 0|fB1
lb_force_reopen_always = 0|1
lb_retrylimit = milli-seconds
lb_savepath = filename
lb_stat_cleanup = hour
lb_retrylimits = CAID1:time1[,CAID2:time2]...
example: lb_retrylimits = 12:0100,34:0200,5678:0300
(wildcard CAIDs 12xx and 34xx)
example: lb_noproviderforcaid = 0100,02,0300,04
(wildcard CAIDs 02xx and 04xx)
0 = unlimited (default)
limit = restrict load balancer readers to limit
lb_auto_timeout = 0|1
lb_auto_timeout_p = percent
lb_auto_timeout_t = milli seconds
lb_auto_betatunnel = 0|1
lb_auto_betatunnel_mode = 0|1|2
0 = CAID 18XX tunneling to CAID 17X2 only (default)
1 = CAID 18XX tunneling to CAID 17X2 and CAID 17X2 tunneling to CAID 18XX (CAID 1833/1801)
2 = CAID 18XX tunneling to CAID 17X2 and CAID 17X2 tunneling to CAID 18XX (CAID 1833/1834)
3 = CAID 18XX tunneling to CAID 17X2 and CAID 17X2 tunneling to CAID 18XX (CAID 1833/1835)
4 = CAID 17X2 tunneling to CAID 18XX (CAID 1833/1801 only)
5 = CAID 17X2 tunneling to CAID 18XX (CAID 1833/1834 only)
6 = CAID 17X2 tunneling to CAID 18XX (CAID 1833/1835 only)
lb_auto_betatunnel_prefer_beta = direction
0 = disabled (default)
1 = always Betacrypt
105 = represents the middle
200 = always Nagravision
port = 0|port
serverip = IP address
nocrypt = IP address|IP address range[,IP address|IP address range]...
example: nocrypt = 127.0.0.1,192.168.0.0-192.168.255.255
aulow = minutes
monlevel = 0|1|2|3|4
0 = no access to monitor
1 = only server and own procs
2 = all procs, but viewing only (default)
3 = all procs, reload of oscam.user possible
4 = complete access
monlevel can be overwritten per user in oscam.user.
hideclient_to = seconds
httpcert = file
httpforcesslv3 = 0|1
httpuser = username
httppwd = password
httpcss = path
http_prepend_embedded_css = 0|1
httptpl = path
example: httptpl = /this/is/my/path
folder with multiple templates:
/this/is/my/path/template1
/this/is/my/path/template2
valid URLs:
http://host:port/template1
http://host:port/template2
httpjscript = path
httprefresh = seconds
httphideidleclients = 0|1
httphidetype = type[type]...
types:
'c': client
'h': http
'm': monitor
'p': proxy
'r': reader
's': server
'x': cache exchange
httpscript = path
httpallowed = IP address|IP address range[,IP address|IP address range]...
httpdyndns = hostname[,hostname][,hostname]
httpsavefullcfg = 0|1
0 = all not empty parameters, all not default parameters, all
parameters not containing the same value as the same
parameter in global configuration (default)
1 = all parameters
httpoverwritebakfile = 0|1
httpreadonly = 0|1
httpshowpicons = 0|1
httppiconpath = path
httphelplang = en|de|fr|<available wiki languages>
httplocale = environment
httposcamlabel = text
enablelcd = 0|1
lcd_hideidle = 0|1
lcd_writeintervall = seconds
max_time = seconds
max_hit_time = seconds
wait_time = [caid][&mask][@provid][$servid][:awtime][:]dwtime[,[caid][&mask][@provid][$servid][:awtime][:]dwtime]...
example: wait_time = 0:50:250,0200@00009X:50:150,15:950,0500@000001:150,1602&ffdf:1200
cacheexenablestats = 0|1
Please consider memory consumption.
cacheex_cw_check = [caid][&mask][@provid][$servid]:mode:counter[,[caid][&mask][@provid][$servid]:mode:counter]...
mode = specify behaviour for counter:
0 = when wait_time expires, serve highest counter's CW
got anyway, even if no counter reached (default)
1 = never serve CW from cache exchange stored in cache,
if it's counter not reaches counter. When wait_time
expires, requests will go to normal readers
counter = set minimum CW counter to allow CW is used, default:1
cacheex_mode1_delay = CAID1:time,[BCAID2:time]...
csp_port = port
csp_serverip = IP
csp_ecm_filter = [caid][&mask][@provid][$servid][,[caid][&mask][@provid][$servid]]...
csp_allow_request = 0|1
csp_allow_reforward = 0|1
cwcycle_check_enable = 0|1
cwcycle_check_caid = CAID[,CAID]...
cwcycle_maxlist = count
cwcycle_keeptime = minutes
cwcycle_onbad = 0|1
cwcycle_dropold = 0|1
cwcycle_sensitive = 0|2|3|4
0 = disabled
2 = 2 (or more) same bytes and drop new CW
3 = 3 (or more) same bytes and drop new CW
4 = 4 (or more) same bytes and drop new CW (default)
cwcycle_allowbadfromffb = 0|1
cwcycle_usecwcfromce = 0|1
wait_until_ctimeout = 0|1
0 = immediately send 'not found' to client (default)
1 = wait for cache exchange answer until client timeout expires
serverip = IP address
nocrypt = IP address|IP address range[,IP address|IP address range]...
example: nocrypt = 127.0.0.1,192.168.0.0-192.168.255.255
passive = 0|1
key = 128 bit key
example: key = 01020304050607080910111213141516
port = 0|port
serverip = IP address
suppresscmd08 = 0|1
port = 0|port[@CAID][:provid][,provid]...[;port@CAID[:provid][,provid]...]...
examples: port = 10000@0100:100000;20000@0200:200000,300000,400000
port = 30000
serverip = IP address
keepalive = 0|1
suppresscmd08 = 0|1
key = DES key
example: key = 0102030405060708091011121314
port = port[{DES key}]@CAID[:provid][,provid]...[;port[{DES key}]@CAID[:provid][,provid]...]...
example: port = 10000@0100:100000;20000{0102030405060708091011121314}@0200:200000,300000
Each CAID requires a separate port. If you don't specify a DES key for a port, the default DES key will be used.
serverip = IP address
allowed = IP address|IP address range[,IP address|IP address range]...
example: allowed = 127.0.0.1,192.168.0.0-192.168.255.255,::1
keepalive = 0|1
mgclient = 0|1
port = 0|port
serverip = IP address
allowed = IP address|IP address range[,IP address|IP address range]...
example: allowed = 127.0.0.1,192.168.0.0-192.168.255.255
user = username
device = <user>@<device>[:baud][?option1=value1[&option2=value2]...]
[;<user>@<device>[:baud][?option1=value1[&option2=value2]...]]...
parameters:
user = account
device = serial device name|hostname|IP,port
baud = serial port speed (for serial devices only)
option = timeout = milli-seconds, timeout for connection,
default:50
delay = milli-seconds, additional delay between two
characters, default:0
supported serial devices (autodection):
HSIC (humax sharing interface client)
SSSP (simple serial sharing protocol)
bomba (BOMBA firmware)
dsr9500 (DSR 9500)
example: user1@/dev/ttyS1:115200?delay=1&timeout=5000
user2@192.160.0.1,12345?delay=1&timeout=5000
port = 0|port[,0|port]...
version = <main version>.<version>.<sub version>
example: version = 1.2.34
reshare = level
-1 = no resharing
0 = resharing for direct peer only
1 = resharing for direct peer and next level
x = resharing for direct peer and next x level
reshare_mode = mode
0 = reader reshares only received SCs for CCcam readers,
defined filters/CAIDs/provids on other readers
1 = reader reshares received SCs (like=0) and defined services
2 = reader reshares only defined reader services as virtual SCs
3 = reader reshares only defined user services as virtual SCs
4 = reader reshares only received SCs (default)
Every server is shared as hop = 0 and with defined reshare values.
Service reshare only works if positive services defined: no service - no reshare!
ignorereshare = 0|1
0 = use reshare setting of server (default)
1 = use reshare setting of reader or user
stealth = 0|1
minimizecards = mode
0 = no aggregation, remove duplicates only (default)
1 = based on minimum hop: two SCs with different hops are
summarized, new SCs get a smaller hop
2 = aggregation based on CAIDs: all SCs with the same CAIDs
will be merged, provider (maximum 32) will be merged, too
updateinterval = seconds
keepconnected = 0|1
0 = disconnect client when maximum idle time is reached
1 = keep client connected (default)
recv_timeout = milli-seconds
forward_origin_card = 0|1
nodeid = ID
example: nodeid = 0a0b0c0d0e0f1011
hostname = hostname| IP address
port = port[,port]...
my_password = password
proxy_card = <CAID><provid>[,<CAID><provid>]...
ccc_reshare = 0|1
my_vers = version
my_cpu_api = byte
gbox_reconnect = time
log_hello = 0|1
dis_attack_txt = 0|1
gsms_disable = 0|1
sending a messeage: /tmp/gsms.txt: <box ID> <1=mormal message|2=OSD/TV message> <message 6 to 127 characters>, status will be stored in '/tmp/gsms.ack' respective 'gsms.nack', receiving a message: The message will be stored in /tmp/gsms.log
tmp_dir = path
accept_remm_peer = peer-id1[,peer-id2]...
port = port
enabled = 0|1
Create file /tmp/.pauseoscam to pause DVB API, e.g. if STB goes into standby and OSCam remains as SC server only.
listen_port = 0|port
user = username
ignore = <CAID>[,<CAID>]... (detached by oscam.dvbapi, obsolete)
services = <service ID>[,<service ID>]... (detached by oscam.dvbapi, obsolete)
priority = <CAID>:<provider ID>[,CAID:<provider ID>]... (detached by oscam.dvbapi, obsolete)
au = 0|1
0 = disable AU (default)
1 = enable AU
pmt_mode = 0|1|2|3|4|5
0 = use camd.socket and PMT file, default
1 = disable reading PMT file
2 = disable camd.socket
3 = read PMT file on startup only
4 = do not use signal handler for monitoring /tmp
5 = do not use signal handler for monitoring /tmp,
disable camd.socket
ecminfo_type = 0|1|2|3|4|5
0 = OSCam syntax (default)
1 = OSCam syntax with ECM time in ms instead of seconds
2 = WiCardd
3 = mgcamd
4 = CCcam
5 = camd3
request_mode = 0|1
0 = try all possible CAIDs one by one (default)
1 = try all CAIDs simultaneously
boxtype = dbox2|dreambox|dm7000|duckbox|ufs910|ipbox|ipbox-pmt|qboxhd|coolstream|neumo|samygo|pc
ipbox with camd.socket support, currently only with PGI image version 0.6 or above, verified on HD models only
ipbox-pmt can be used on any DGS based images (with or without camd.socket support), verified on HD models only
pc is for generic pc support (currently supported on VDR with vdr-plugin-dvbapi)
read_sdt = 0|1|2
0 = disabled (default)
1 = enabled for non FTA channels only
2 = enabled for all channels
write_sdt_prov = 0|1
0 = disabled (default)
1 = enabled
cw_delay = milli-seconds
delayer = milli-seconds
reopenonzap = 0|1
enabled = 0|1
numusers = quantity
sampletime = minutes
samples = quantity
penalty = 0|1|2|3
0 = only logging (default)
1 = send fake CWs
2 = temporary user ban
3 = send delayed CWs
penalty can be overwritten per user in oscam.user.
aclogfile = filename
fakedelay = milli-seconds
denysamples = quantity
acosc_enabled = 0|1
acosc_max_active_sids = count
Can be overwritten per user in oscam.user.
acosc_max_ecms_per_minute = count
Can be overwritten per user in oscam.user.
acosc_zap_limit = count
Can be overwritten per user in oscam.user.
acosc_penalty = 0|1|2|3|4
0 = only logging (default)
1 = send fake CWs
2 = temporary user ban
3 = send delayed CWs
4 = temporary hidecards to the client
Can be overwritten per user in oscam.user.
acosc_penalty_duration = seconds
Can be overwritten per user in oscam.user.
acosc_delay = milli-seconds
Can be overwritten per user in oscam.user.
1 = cacheex (=1) reader (C)
2 = local SCs (L)
3 = other reader / proxies (P)
4 = fallback reader (F)
stage/used/chosen/possible
monitor commands:
login (for unencrypted connections only)
get parameter for user
set parameter for user
set parameter for server
exit monitor
enable|enable without hitory|disable logging for 2 minutes
list of current processes and clients
shutdown OSCam
restart OSCam
send keepalive
reinit user db, clients and anti-cascading, for newcamd connections: after reloading the provid, please restart newcamd client
details about selected PID
read again
set debug level (monlevel > 3 required)
debug level mask:
0 = no debugging (default)
1 = detailed error messages
2 = ATR parsing info, ECM dumps, CW dumps
4 = traffic from/to the reader
8 = traffic from/to the clients
16 = traffic to the reader-device on IFD layer
32 = traffic to the reader-device on I/O layer
64 = EMM logging
128 = DVB API logging
256 = load balacing logging
512 = cache exchange logging
1024 = client ECM logging
65535 = debug all
show OSCam version
show all valid monitor commands
The web interface allows you to create your own template. For developing your own template request the orignal template with the non-linked page savetemplates.html. Store your own template in the directory specified by httptpl.
ECM and CW in cache already.
ECM and checksum in cache already.