File di Configurazione oscam.server di OSCam Spiegato per Principianti (2026)
Se hai compilato e avviato OScam, l'interfaccia web si carica correttamente sulla porta 8888, e poi apri oscam.server e semplicemente lo fissi — non sei solo. Questo è il file di configurazione oscam oscam.server spiegato per principianti, scritto per il momento esatto in cui ti trovi adesso: lettori che mostrano OFF o CONNESSI-ma-non-decodificano, un blocco che hai copiato da un thread del forum che "dovrebbe" funzionare, e nessuna idea di quali righe contano davvero rispetto a quelle che OScam sta ignorando silenziosamente.
Ho ricostruito questo file da zero più volte di quanto mi piacerebbe ammettere, su tutto, da un Raspberry Pi che esegue una build sorgente a box Enigma2 con le loro strane cartelle di configurazione collegate. La buona notizia: una volta che capisci a cosa serve realmente ogni riga, oscam.server smette di essere magia. Questa guida esamina il file riga per riga, mostra tre blocchi lettori completamente funzionanti, e — questa è la parte che la maggior parte delle guide salta — ti insegna come leggere la colonna di stato del lettore in modo da poter diagnosticare la tua configurazione invece di indovinare.
Cosa Fa Davvero oscam.server (E Cosa Non Fa)
Il più grande fraintendimento che vedo da parte delle persone nuove a OScam è trattare oscam.server come "il file di configurazione." Non lo è. OScam divide la sua configurazione in tre file, e ognuno ha un compito specifico. Mischiarli è il motivo per cui metà delle guide di configurazione confuse le persone — ti diranno di aggiungere un numero di porta a oscam.server, e semplicemente rimane lì a non fare nulla perché le porte non vivono lì.
| File | Cosa controlla |
|---|---|
| oscam.conf | Impostazioni globali — protocolli abilitati, porte di ascolto, accesso all'interfaccia web, posizione del file di log |
| oscam.server | Lettori — ogni sorgente che può fornirti chiavi di decrittazione (schede locali, peer remoti, emulatori) |
| oscam.user | Clienti — chiunque sia autorizzato a chiedere chiavi alla tua istanza OScam |
Dove si trova il file
Su una build sorgente, di solito è /usr/local/etc/oscam.server. Su ricevitori Enigma2/Dreambox è tipicamente /etc/tuxbox/config/oscam.server, anche se alcune immagini lo nascondono sotto /var/keys/. Non indovinare — controlla la pagina di stato dell'interfaccia web di OScam, che mostra il ConfigDir che OScam sta effettivamente utilizzando. Se hai avviato OScam con il flag -c (per esempio, oscam -c /etc/oscam/), quel percorso sovrascrive tutto il resto, inclusi eventuali file presenti nella posizione predefinita.
La regola in una frase
oscam.server definisce le sorgenti di decrittazione. oscam.user definisce i consumatori di decrittazione. Se non ricordi nient'altro da questo articolo, ricorda questo. Ogni volta che sei tentato di aggiungere qualcosa a oscam.server che sembra riguardare "chi può usare il mio server," fermati — quello è il compito di oscam.user.
Come un blocco lettore si mappa a qualcosa di reale
Ogni blocco [reader] in oscam.server corrisponde esattamente a una cosa: una smartcard fisica seduta in un lettore USB, un peer di rete da cui stai estraendo chiavi, o un emulatore locale come CCcam-emu o Newcamd-emu. È una mappatura 1:1. Se hai due schede fisiche, hai bisogno di due blocchi lettori. Se hai una linea CCcam, quello è un blocco.
Leggere il file che OScam ha effettivamente caricato
Ecco la parte che confonde costantemente le persone: OScam analizza oscam.server all'avvio e di nuovo quando premi Riavvia dall'interfaccia web — non quando salvi un file di testo tramite SSH. Se c'è un errore di sintassi in un blocco, o un'etichetta duplicata, OScam non mostra una finestra di dialogo o scrive un errore forte. Semplicemente ignora silenziosamente quel blocco. Il lettore semplicemente non esisterà. Vai sempre su Config > Lettore nell'interfaccia web dopo un riavvio e conferma che il nome del lettore che hai digitato sia effettivamente elencato. Se manca, il blocco non è mai stato analizzato — punto e basta, non perdere tempo a risolvere problemi di rete per un lettore che OScam non ha mai caricato.
Anatomia di un Blocco Lettore: Ogni Riga, Cosa Fa, Quando Ometterla
Questa è la parte di cui tutti hanno realmente bisogno, quindi costruiamola da zero. Ecco un blocco lettore newcamd funzionante minimale — sei righe, niente di speciale:
[reader]
Questo è davvero sufficiente per far connettere un lettore newcamd. Ora ecco un blocco più completo con i parametri di cui le persone discutono effettivamente nei forum:
[reader]
Ora esaminiamo cosa fa realmente ogni riga, e — più importante — quando è sicuro ometterla.
label
Il nome interno per questo lettore. Appare nell'interfaccia web, nei tuoi log, ed è ciò a cui fa riferimento oscam.user indirettamente tramite i numeri di gruppo. Deve essere unico in tutto il file — etichette duplicate causano la sovrascrittura silenziosa di un blocco o la sua eliminazione, e il sintomo è un lettore che semplicemente manca dalla scheda Lettori senza spiegazione. Tienilo corto, senza spazi se puoi evitarlo, e qualcosa che riconoscerai sei mesi da ora.
protocol
Indica a OScam che tipo di sorgente è: cccam, camd35, cs378x, newcamd, interno (per emulazione locale), o mouse / smartreader per una scheda fisica in un lettore USB. Questa riga è obbligatoria e deve corrispondere a ciò che c'è effettivamente dall'altra parte — un server cccam non risponderà a un handshake newcamd indipendentemente da quanto sia corretto il resto del tuo blocco.
device
Questa riga significa due cose completamente diverse a seconda del protocollo. Per una scheda fisica è un percorso seriale come /dev/ttyUSB0 o /dev/sci0. Per qualsiasi protocollo di rete (newcamd, cccam, camd35, cs378x) è host,porta — per esempio server.example.net,12000. Mischiare questi è un classico errore di copia-incolla: incollare un percorso di dispositivo seriale in un blocco lettore di rete, o viceversa, non fa altro che produrre un lettore bloccato in un ciclo di connessione.
user / password
Credenziali per accedere alla sorgente remota. Queste provengono da chi gestisce quella sorgente — non sono il tuo accesso all'interfaccia web di OScam, e non sono nemmeno le credenziali nel tuo file oscam.user. Tre set di credenziali separate, tre scopi separati. Confondere questi è estremamente comune e produce un'immediata reiezione dell'accesso.
group
Questa è la riga più fraintesa dell'intero file, ed è il collegamento diretto tra oscam.server e oscam.user. group è un elenco di interi separati da virgole — group = 1 o group = 1,3,7. Un lettore nel gruppo 1 servirà solo clienti la cui riga di gruppo in oscam.user include anche 1. Se il tuo lettore è group=2 e il tuo client di test è group=1, il lettore può essere completamente CONNESSO e sano e il tuo client riceverà esattamente zero ECM da esso, per sempre. Questo disallineamento è la causa principale di "il lettore è connesso ma nulla decodifica," e raramente viene spiegato correttamente altrove.
caid, ident, chid, boxid
Considerali come filtri di whitelist. Lasciali vuoti e OScam chiede al lettore quali CAID il lettore stesso riporta di avere. Compila caid = 1802 e stai dicendo a OScam "chiedi sempre a questo lettore solo del CAID 1802" — tutto il resto viene ignorato anche se il lettore tecnicamente lo ha. Questo è utile per ridurre il traffico ECM sprecato e mantenere il bilanciamento del carico sano, ma un valore CAID errato produce un lettore che si connette bene e non riceve mai una singola richiesta ECM, il che sembra esattamente un problema di rete ma non lo è. ident restringe ulteriormente a ID specifici del fornitore all'interno di un CAID, chid a ID di canale specifici, e boxid collega un lettore di rete a un identificatore di box specifico richiesto da alcuni fornitori. Lasciali tutti vuoti quando stai iniziando a far funzionare un lettore, poi restringili una volta confermato che funziona.
cccversion, cccmaxhops, ccckeepalive, cccwantemu
Questi si applicano solo a protocol=cccam e OScam li ignora completamente per ogni altro protocollo. cccversion imposta la stringa di versione del protocollo CCcam che il tuo lettore annuncia (2.3.0 è comune). cccmaxhops limita a quanti link può essere una scheda e ancora contare — maggiori dettagli nell'esempio lavorato qui sotto. ccckeepalive mantiene viva la sessione TCP con ping periodici in modo che non scada silenziosamente. cccwantemu dice al peer se sei disposto ad accettare fonti emulate (non scheda) attraverso quel link.
inactivitytimeout, reconnecttimeout, lb_weight, fallback, disablecrccws
Le righe di sintonizzazione. inactivitytimeout (secondi) disconnette e riconnette un lettore che è diventato silenzioso — utile per fonti di rete inaffidabili. reconnecttimeout controlla il ritardo prima di riprovare una connessione fallita; aumenta questo valore se la rete della tua box impiega un po' a tornare online dopo l'avvio. lb_weight influisce su come il bilanciatore di carico di OScam dà priorità a questo lettore rispetto ad altri che servono lo stesso CAID — un peso più alto significa che viene scelto più spesso, supponendo che il bilanciamento del carico sia abilitato in oscam.conf. fallback = 1 segna un lettore come ultima risorsa, utilizzato solo se i tuoi lettori primari non possono rispondere. disablecrccws sopprime una specifica rilevazione di scambio di schede basata su CRC che alcune configurazioni non necessitano.
Parametri che si applicano solo a schede fisiche
mhz e cardmhz impostano la velocità di clock che OScam utilizza per comunicare con una smartcard fisica — i valori tipici sono 357/357 o 600/357 a seconda della scheda e dell'hardware del lettore. detect controlla come OScam rileva l'inserimento/rimozione della scheda su alcuni hardware del lettore. readnano è per tipi di schede specifici che necessitano di una gestione ATR extra. Nessuno di questi fa nulla su un protocollo di rete. Vedo ancora blocchi cccam e newcamd pubblicati nei forum con mhz=368 all'interno — è innocuo, ma è peso morto, e ti dice che la persona che ha scritto il post non ha capito completamente cosa stava incollando.
Tre Blocchi Lettore, Completamente Lavorati
La teoria va bene, ma sei qui per scrivere un blocco funzionante. Ecco tre, che coprono le configurazioni che le persone eseguono effettivamente.
Una smartcard locale in un lettore USB
Prima, trova il percorso effettivo del dispositivo — non indovinare. Eseguidmesg | grep tty subito dopo aver collegato il lettore, o controllals /dev/serial/by-id/ per un nome persistente che sopravvive ai riavvii (l'ordine di enumerazione USB può spostare /dev/ttyUSB0 a /dev/ttyUSB1 dopo un riavvio, il che interromperà silenziosamente un percorso hardcoded).
[reader]
Alcuni lettori in stile phoenix usano invece /dev/sci0, e lettori seriali più vecchi appaiono come /dev/ttyS0. Se la scheda viene rilevata ma stai ricevendo NEEDINIT intermittente, molto spesso è la coppia mhz/cardmhz, non un problema di rete o di configurazione — prova 600/357 prima di presumere che la scheda o il lettore siano difettosi.
Un lettore di rete su newcamd
[reader]
La riga chiave è una chiave DES di 14 byte fornita da chiunque gestisca la fonte — non è qualcosa che inventi. Nota che caid è impostato esplicitamente qui piuttosto che lasciato vuoto; non è una convenzione opzionale, è perché il protocollo newcamd generalmente trasporta un CAID per porta, quindi la fonte si aspetta che tu dichiari per quale ti stai connettendo.
Un lettore di rete su cccam
[reader]
cccmaxhops = 2 significa che accetterai schede fino a due link di distanza: hop 1 è la scheda locale del peer, hop 2 è una scheda che quel peer sta condividendo da qualcun altro. Aumentare questo a 5 non produce magicamente più schede — allarga solo ciò che sei disposto ad accettare da ulteriori giù nella catena, e schede lontane tendono a significare risposte ECM più lente e meno affidabili. Inizia con 1 o 2. Se i tuoi tempi ECM sono cattivi, abbassa il numero piuttosto che alzarlo.
Un lettore cs378x tra due box OScam sulla tua LAN
Se stai collegando due installazioni OScam che controlli, usa cs378x invece di camd35 — è crittografato, non ti costa nulla in termini di prestazioni, e non c'è motivo di eseguire la variante non crittografata sulla tua rete nel 2026.
[reader]
E il lato corrispondente nel file oscam.user della box upstream, così puoi vedere il raggruppamento di gruppo da un'estremità all'altra:
[account]
Nota che group = 2 appare su entrambi i lati. Questo è il trucco — senza quella corrispondenza, la connessione può avere successo a livello TCP/login e comunque non passare mai una singola chiave.
Leggere lo Stato del Lettore: Cosa Ti Dicono CONNECTED, OFF e NEEDINIT
Qui è dove il file di configurazione smette di essere astratto e inizia a essere debuggabile. La colonna di stato nella scheda Lettori dell'interfaccia web è uno strumento diagnostico se sai come leggerlo.
OFF
O enable=0 è impostato nel blocco, oppure — molto più spesso per i principianti — il blocco non è mai stato analizzato. Torna indietro e conferma che il lettore appare effettivamente con l'etichetta che ti aspetti. Se è completamente assente, hai un errore di sintassi o un'etichetta duplicata, non un problema di connettività.
CONNECTING o NEEDINIT, in loop
Il blocco è stato analizzato, ma la stretta di mano non si completa. Questo è quasi sempre un problema di porta errata, parola chiave del protocollo errata o credenziali errate. Controlla di nuovo device= rispetto a protocol= — una riga di dispositivo newcamd puntata a una porta cccam si bloccherà qui per sempre.
CONNECTED, ma zero ECM inviati
Questo è il caso "connesso ma non decodificato" che tutti incontrano prima o poi. CONNECTED conferma solo che la sessione TCP e il login sono riusciti — non dice nulla su se il lettore venga effettivamente interrogato per qualcosa. Controlla, in ordine: il valore di gruppo del lettore appare nella riga di gruppo del tuo client in oscam.user, c'è una riga caid/ident che filtra silenziosamente il canale che stai testando, e la lista delle schede del lettore contiene effettivamente quel CAID/fornitore.
CONNECTED, ECM inviati, tutti "non trovati"
Problema completamente diverso — questo significa che la richiesta sta raggiungendo correttamente il lettore e sta rispondendo onestamente che non ha quella particolare chiave. A quel punto la fonte manca genuinamente del CAID o del fornitore che stai testando; nessuna modifica di configurazione da parte tua risolve questo.
Segui il tuo log con qualcosa cometail -f /tmp/oscam.log | grep myreader1 (la posizione del log proviene da logfile= in oscam.conf, non da oscam.server) e osserva i contatori inviati / trovati / non trovati / timeout sul lettore mentre ti sintonizzi su un canale. Un contatore inviato che non si muove mai significa che la richiesta non ha mai lasciato la tua box — è un problema di routing/gruppo/filtro. Un contatore inviato che sale mentre trovato rimane a zero significa che la fonte non ce l'ha. Due soluzioni completamente diverse, e i contatori sono l'unica cosa che li distingue.
Modifica in sicurezza: Regole di sintassi, ricariche e backup
Alcune abitudini ti faranno risparmiare tempo reale qui. I commenti iniziano con #, e su alcune versioni un commento inline dopo un valore sulla stessa riga non viene rispettato — metti i commenti su una riga a parte per essere al sicuro. Gli spazi bianchi e il maiuscolo/minuscolo contano più di quanto le persone si aspettino: protocol=cccam funziona ovunque, ma protocol = cccam con spazi attorno al segno di uguale non viene analizzato su alcune versioni più vecchie. Quando hai dubbi, elimina gli spazi.
Riavvia legge nuovamente l'intera configurazione dal disco, incluso oscam.server. Ricarica (dove disponibile) è più leggera e legge un insieme più ristretto di impostazioni — quando non sei sicuro di quale abbia preso la tua modifica, usa Riavvia e controlla la scheda Lettori.
Ecco quella che brucia le persone: l'interfaccia web di OScam, quando salvi qualsiasi pagina di configurazione, può riscrivere oscam.server dal suo modello in memoria. Quella riscrittura rimuove i commenti e elimina qualsiasi parametro che la tua particolare versione non riconosce. Quindi tieni un backup al di fuori della directory di configurazione — cp oscam.server oscam.server.bak — prima di toccare qualsiasi cosa nell'editor web. Se fai affidamento sui commenti per ricordare cosa fa un blocco, modifica tramite SSH invece che attraverso la scheda File.
Su immagini Enigma2/Dreambox in particolare, fai attenzione a directory di configurazione collegate o in sola lettura. Le modifiche tramite l'interfaccia web possono sembrare salvate correttamente e poi tornare indietro dopo un riavvio perché il file reale che OScam legge si trova altrove — /etc/tuxbox/config rispetto a /usr/keys è un comune disallineamento su queste immagini. Controlla di nuovo il ConfigDir sulla pagina di stato se le modifiche non vengono mantenute.
Ultima cosa: non ogni parametro esiste in ogni versione di OScam. Esegui oscam -V per vedere le informazioni sulla tua versione e controlla il readme che è stato fornito con la tua specifica sorgente piuttosto che fidarti di un parametro trovato in un post di forum di cinque anni fa. I parametri sconosciuti non vengono rifiutati rumorosamente — vengono solitamente semplicemente ignorati, ed è esattamente per questo che i blocchi copiati e incollati con righe extra "funzionano" mentre quelle righe extra non fanno assolutamente nulla.
Scegliere una fonte lettore senza essere bruciati
Vale la pena essere diretti su questo: lo scopo legittimo di OScam è consentire a qualcuno con una carta di abbonamento valida di usarla su i propri dispositivi nella propria rete — leggere la propria carta da una box senza testa in un armadio invece di lasciare un ricevitore collegato direttamente alla TV. Condividere un abbonamento al di fuori della propria abitazione è contro i termini di praticamente ogni fornitore ed è illegale in molte giurisdizioni. Questa guida riguarda la comprensione del file di configurazione, non l'ottenere accesso a cui non hai diritto.
Se stai valutando una fonte lettore di rete per il tuo abbonamento legittimo, giudicala su cose misurabili piuttosto che su promesse. Un tempo di risposta ECM ragionevole è ben al di sotto di un secondo su un link sano — se vedi più secondi costantemente, qualcosa non va a monte. Il conteggio dei salti conta, come trattato sopra: una fonte che insiste su cccmaxhops di 5 o più per "prendere tutto" ti sta chiedendo di accettare carte lontane e inaffidabili piuttosto che sistemare la propria configurazione. La copertura CAID dovrebbe essere specifica e verificabile, non una vaga affermazione di "tutto".
Bandiera rossa da cui vale la pena allontanarsi: un elenco CAID che è irrealisticamente ampio per quelle che dovrebbero essere una o due carte di abbonamento, nessuna disponibilità a farti testare prima di impegnarti in qualcosa, o qualsiasi pressione per disabilitare il logging o nascondere a cosa ti stai collegando. E non riutilizzare mai lo stesso nome utente e password su più fonti — tratta ogni set di credenziali lettore come un login isolato, nello stesso modo in cui tratteresti qualsiasi altro account.
Dove si trova oscam.server?
I percorsi più comuni sono /usr/local/etc/oscam.server su build di sorgente e /etc/tuxbox/config/oscam.server su ricevitori Enigma2, con alcune immagini che lo nascondono sotto /var/keys/. La risposta autorevole è qualsiasi cosa mostri ConfigDir sulla pagina di stato dell'interfaccia web di OScam, o il percorso che hai passato con il flag -c all'avvio. Controllalo — non assumere basandoti su ciò che ha funzionato su un'altra box.
Qual è la differenza tra oscam.server, oscam.user e oscam.conf?
oscam.conf contiene impostazioni globali — protocolli abilitati, le loro porte di ascolto e accesso all'interfaccia web. oscam.server definisce i lettori, ovvero ogni fonte che può decrittare per te, sia essa una carta locale o un peer remoto. oscam.user definisce i client, ovvero chiunque sia autorizzato a chiedere alla tua istanza OScam le chiavi. Il parametro di gruppo è il collegamento che connette un lettore in oscam.server a un client in oscam.user.
Il mio lettore mostra CONNESSO ma nulla decodifica. Perché?
CONNESSO significa solo che la sessione TCP e il login sono riusciti. Controlla tre cose in ordine: il valore del gruppo del lettore appare nella riga del gruppo del client in oscam.user, nessuna riga caid/ident sta filtrando il CAID del canale, e l'elenco effettivo delle carte del lettore contiene quel CAID/fornitore. Osserva se il contatore ECM "inviato" per quel lettore si muove — se rimane a zero, è un problema di routing/gruppo/filtro, non un problema con la fonte stessa.
Devo impostare caid e ident in ogni blocco lettore?
No. Lasciali vuoti e OScam utilizza qualsiasi cosa il lettore riporta. Impostali quando vuoi limitare un lettore a specifici CAID — per ridurre il traffico ECM sprecato o mantenere il bilanciamento del carico prevedibile — o quando il protocollo lo richiede effettivamente, poiché newcamd ha tipicamente bisogno di un caid esplicito perché ogni porta newcamd serve un CAID. Un valore CAID errato qui produce un lettore che non riceve mai un singolo ECM, senza alcun errore che ti dica perché.
Cosa controlla effettivamente cccmaxhops, e dovrei aumentarlo?
Limita quanti link può avere una carta e essere comunque accettata da quel peer CCcam. Il salto 1 è la carta del peer stesso; il salto 2 è una carta che il peer stesso ha ottenuto da qualcun altro più in alto nella catena. Aumentare questo numero non crea carte che non ci sono — ammette solo carte più lontane, tipicamente più lente e meno affidabili. Inizia con 1 o 2, e se i tempi ECM peggiorano, abbassalo piuttosto che aumentarlo.
Perché i miei commenti e righe personalizzate sono scomparsi da oscam.server?
Salvare qualsiasi pagina di configurazione nell'interfaccia web di OScam può riscrivere l'intero file dal modello in memoria di OScam, il che rimuove i commenti e qualsiasi parametro che la tua versione non riconosce. Tieni una copia di backup al di fuori della directory di configurazione prima di utilizzare l'editor web — cp oscam.server oscam.server.bak — e modifica tramite SSH invece se fai affidamento sui commenti per tenere traccia di cosa fa ciascun blocco.
Posso avere due blocchi lettore con la stessa etichetta?
No. L'etichetta è l'identità del lettore in tutta la configurazione, l'interfaccia web, i log e oscam.user. Etichette duplicate causano la rimozione di un blocco o la sovrascrittura silenziosa, e il sintomo è un lettore che è semplicemente assente dalla scheda Lettori senza spiegazione. Mantieni le etichette uniche e brevi, senza spazi dove possibile.