Loading...
CCcam Server Italia: Guida Completa alla Configurazione

CCcam Server Italia: Guida Completa alla Configurazione

Se hai accesso a un servizio di card sharing e vuoi configurare un cccam server italia configurazione da zero, sei nel posto giusto. Questa guida copre tutto quello che devi sapere: dai file di configurazione al network setup, dai protocolli al troubleshooting. Non troverai qui nomi di provider o link a siti terzi — solo informazioni tecniche pratiche su come far funzionare correttamente il tuo server.

La cccam server italia configurazione non è difficile se capisci i principi sottostanti. Il problema è che la maggior parte delle guide online sono obsolete, incomplete o copiano solo configurazioni di esempio senza spiegare cosa significano. Qui affronderò ogni aspetto: dalle sezioni di oscam.conf alle strategie di monitoraggio, con esempi reali e comandi che puoi usare subito.

Architettura di Base di un CCcam Server

Cos'è un CCcam server e come funziona

Un CCcam server è un demone (servizio in background) che riceve le richieste di decrittazione da client locali e remoti. Quando un'app TV cerca una chiave per decrittare un canale, la richiesta arriva al server, che la elabora e risponde con i dati decifrati.

Il flusso è così: client → server CCcam → verifica autenticazione → ricerca chiave (da smartcard locale o peer remoti) → risposta. Il tutto avviene in millisecondi. Se il server ha accesso a una smartcard fisica, può generare chiavi in tempo reale. Se no, deve chiederle a server remoti (peer) configurati in precedenza.

Differenza tra CCcam, OScam e protocolli alternativi

CCcam è il demone classico, ormai datato. È leggero, usa poco CPU, ma la configurazione è minimale e non ha interfaccia web. OScam è un fork moderno e modulare: supporta CCcam come uno dei tanti protocolli, ha una WebUI per monitoraggio in tempo reale, e consente configurazioni molto più granulari (proxy, cache, feed locali, ecc.).

Per una cccam server italia configurazione moderna, OScam è la scelta standard. Usa gli stessi file di configurazione (oscam.conf, oscam.server) ma aggiunge centinaia di opzioni extra. Se usi Docker o Linux moderno, OScam è quasi sempre pre-installato.

Esistono anche protocolli alternativi come Gbox e Newcamd, ma per questa guida ci concentreremo su CCcam/OScam che rimangono lo standard di mercato.

Stack di rete: client, server, port forwarding

Il client si connette al server su una porta TCP specifica (di default 12345 per CCcam). Il server ascolta su quella porta in attesa di connessioni. Se il client è remoto (non in LAN locale), i dati devono passare attraverso il port forwarding del router.

Ecco lo schema semplificato:

  • Client locale (LAN): connette a 192.168.1.10:12345 (IP privato del server)
  • Client remoto (Internet): connette a IP_PUBBLICO_ROUTER:12345 (il router inoltra a 192.168.1.10:12345)
  • Server CCcam: ascolta su 0.0.0.0:12345 (tutte le interfacce)

Senza port forwarding, i client remoti non vedono il server. Senza firewall correttamente configurato, il traffico viene bloccato. Torneremo su questi dettagli nella sezione Network Setup.

Ruoli: local card, smartcard fisica, remote card

Un server può operare in tre modalità:

  • Local card: il server ha una smartcard fisica connessa (USB o seriale). Genera le chiavi in tempo reale.
  • Remote card: il server non ha una card ma si connette a server remoti (peer) per chiedere le chiavi.
  • Hub: il server ha una card locale E si connette a peer remoti, ridistribuendo le chiavi a tutti i client.

La configurazione cambia leggermente a seconda del ruolo. Un server con card locale ha sezioni [reader] per smartcard. Un server remoto puro ha solo [reader] di tipo "cccam" che puntano a peer.

Configurazione del File oscam.conf

Percorsi file standard su Linux/Docker

I file di configurazione di OScam si trovano in posizioni standard:

  • /etc/oscam/oscam.conf — file di configurazione principale
  • /etc/oscam/oscam.server — definizione dei peer remoti
  • /etc/oscam/oscam.user — account locali (meno usato, spesso definito in oscam.conf)
  • /var/log/oscam/ — cartella log
  • /tmp/oscam.cache — cache delle chiavi (percorso configurabile)

Su Docker, questi sono montati come volumi da un'immagine standard. Ad esempio:

docker run -d \ -v /home/user/oscam/config:/etc/oscam \ -v /home/user/oscam/log:/var/log/oscam \ -p 12345:12345 \ -p 8000:8000 \ oscam:latest

Se usi Kodi, Enigma2 o altro su Linux tradizionale, il percorso dipende dalla distribuzione ma è quasi sempre /etc/oscam.

Sezione [global]: logfile, cachedir, nice

La sezione [global] di oscam.conf contiene impostazioni generali del demone:

[global]
logfile = /var/log/oscam/oscam.log
cachedir = /tmp/oscam.cache
nice = -5
max_log_size = 10485760
disablecrccws = 0
fallback = 0
preferlocalcards = 1

logfile: percorso del file di log. Puoi lasciarlo di default. OScam ruota automaticamente i log se raggiungono la dimensione massima (max_log_size).

cachedir: cartella dove OScam memorizza le chiavi ECM già risolte per evitare richieste ripetute. Una cache più grande accelera il servizio ma usa più RAM. Se hai 4GB di RAM, imposta una cache di 100-500MB. Su hardware limitato (RPi), usa 50-100MB.

nice: priorità del processo Linux. -5 significa "dai al demone priorità media-alta". 0 è neutrale, 20 è la priorità più bassa. Su un server dedicato, usa -5 o -10. Su un NAS con altri servizi, usa 0.

preferlocalcards: se 1, OScam preferisce usare smartcard locali prima di chiedere ai peer remoti. Utile se hai una card fisica.

Sezione [cccam]: listen_port, version, pin

Questa sezione configura il servizio CCcam stesso:

[cccam]
listen_port = 12345
version = 2.1.3
pin = 0000
enable = 1
max_connections = 100
drop_cw_on_invalid_pin = 1

listen_port: la porta su cui il server ascolta. 12345 è lo standard, ma puoi cambiarla. Se usi Docker, mappa la porta interna a una esterna diversa se necessario.

version: la versione fake di CCcam che il server riporta ai client. 2.1.3 è quella più compatibile. Cambiare questa a 2.2.0+ può causare problemi con client vecchi.

pin: un PIN opzionale (4 cifre). Se impostato, i client devono fornirlo nella connessione. 0000 significa niente PIN.

max_connections: numero massimo di client simultanei. Su un server casalingo, 50-100 è realistico. Su un server potente, puoi alzare a 200-500. Oltre quel limite, le connessioni nuove vengono rifiutate.

Sezione [account]: creazione account client locali

Se vuoi permettere a specifici client di connettersi, definisci account in oscam.conf:

[account]
user = client1
pwd = password123
group = 1
max_connections = 1
au = 1
[account]
user = client2
pwd = password456
group = 1
max_connections = 2
au = 0

user/pwd: credenziali per il client. Devono essere inserite nella configurazione del client (Kodi, Enigma2, ecc.).

group: numero del gruppo. Controlla quali servizi il client può accedere (vedi sezione oscam.server). Account nello stesso gruppo vedono gli stessi canali.

max_connections: quante connessioni simultanee questo account può aprire (utile per limitare account condivisi).

au: autorizzazione di update. Se 1, il client riceve aggiornamenti di chiave automatici. Se 0, solo richieste esplicite.

Ottimizzazione performance: thread, cache strategy

OScam supporta threading e strategie di cache configurabili:

[global]
use_proto_cccam = 1
cccam_max_streams = 4
max_cache_time = 300
cache_size = 256000
flush_cache = 1
preferlocalcards = 1

cccam_max_streams: numero di richieste ECM parallele che OScam processa. 4 è di default, su server potenti usa 8-16.

max_cache_time: tempo in secondi per cui una chiave rimane in cache. 300 (5 minuti) è standard. Riduci a 120 se le chiavi cambiano frequentemente.

cache_size: numero massimo di entry in cache (non dimensione in MB). 256000 è conservatore, su server potenti usa 500000.

flush_cache: se 1, svuota la cache al riavvio. Utile in debugging, lascia 0 in produzione.

Configurazione del File oscam.server (Remote Peers e Feed)

Aggiunta di peer remoti: label, protocol, hostname, port

Il file oscam.server definisce tutti i peer remoti da cui il server richiede chiavi. Ogni riga è un peer:

[reader]
label = peer_remoto_1
protocol = cccam
hostname = 192.168.1.50
port = 12345
username = user_remoto
password = pass_remoto
group = 1,2
caid = 0100,0500,0604

label: nome identificativo del peer (deve essere unico). Usalo anche nei log per capire quale peer sta causando problemi.

protocol: il protocollo di connessione. "cccam" è il più comune, ma OScam supporta anche "gbox", "newcamd", "radegast", ecc. Se configuri un peer remoto, usa "cccam" a meno di sapere esattamente quello che stai facendo.

hostname/port: indirizzo IP (o dominio) e porta del peer. Usa IP pubblici per peer remoti su Internet, IP privati per peer locali.

username/password: credenziali fornite dal peer. Deve coincidere esattamente, altrimenti la connessione viene rifiutata.

Autenticazione peer: username, password, key

L'autenticazione tra peer è critica. OScam supporta due metodi:

  • Username/password plain: meno sicuro, trasmette le credenziali in chiaro sulla rete locale o privata.
  • DES key encryption: crittografa le credenziali. Richiede una chiave DES condivisa tra i peer.

Per una connessione sicura verso un peer remoto:

[reader]
label = peer_esterno
protocol = cccam
hostname = 203.0.113.45
port = 12345
username = myaccount
password = mypass
inactivity_timeout = 30
reconnect_timeout = 30

Se il peer supporta DES, il provider dovrebbe darti una chiave. Inseriscila così:

key = 0123456789ABCDEF

Senza chiave, OScam usa plain text. Per connessioni locali è accettabile, ma per Internet usa VPN o crittografia.

Gestione della priorità: group, caid, ignore

Quando un client richiede una chiave, OScam deve decidere da quale peer ottenerla se ne hai multipli. La priorità è determinata da:

[reader]
label = peer_principale
protocol = cccam
hostname = 192.168.1.50
port = 12345
username = user1
password = pass1
group = 1,2,3
priority = 64
caid = 0100,0500
ignore_caid = 0604

group: numero di gruppo (1-64 sono comuni). Un client con group=1 vede solo reader che hanno group=1 nella loro configurazione. Usa i gruppi per separare account premium da account limitati.

priority: valore numerico (0-127 circa). Più alto = priorità più alta. Se due peer hanno la chiave, OScam chiede al peer con priority più alta. Di default è 64.

caid: elenco di ID di algoritmo. "0100" è il Viaccess, "0500" è Seca/Mediaguard, "0604" è Digicipher. Se lasci vuoto, il peer risponde a tutti i CAID. Se specifichi, il peer risponde solo a quelli elencati.

ignore_caid: al contrario, esclude specifici CAID. Utile se un peer è lento su certi CAID.

Feed locali da smartcard fisica

Se hai una smartcard connessa al server (USB reader o seriale), configurala come reader locale:

[reader]
label = smartcard_locale
protocol = smartcard
device = /dev/ttyUSB0
baudrate = 9600
group = 1
caid = 0100,0500,0604
priority = 127

protocol: "smartcard" per device fisici.

device: il dispositivo Linux. /dev/ttyUSB0 è il primo lettore USB, /dev/ttyUSB1 il secondo. Per trovare il device corretto:

ls -la /dev/ttyUSB*
dmesg | grep ttyUSB

priority 127: dai priorità massima alla card locale, così OScam la preferisce rispetto ai peer remoti.

Timeouts e connessione persistente

I timeout gestiscono quanto tempo OScam aspetta una risposta da un peer prima di considerarlo offline:

[reader]
label = peer_remoto
protocol = cccam
hostname = example.com
port = 12345
username = user
password = pass
inactivity_timeout = 30
reconnect_timeout = 20
keepalive = 1

inactivity_timeout: secondi di inattività prima che OScam chiuda la connessione (disconnect). 30 è standard, aumenta se il peer è instabile.

reconnect_timeout: secondi tra i tentativi di riconnessione. 20 è ragionevole, riduci se vuoi che OScam riprovi più velocemente dopo un down.

keepalive: se 1, invia pacchetti di keep-alive per tenere la connessione viva. Utile se hai firewall che tagliano connessioni idle.

Network Setup e Port Forwarding in Italia

Porte standard: 12345 CCcam, 8000 OScam webinterface

Le porte principali sono:

  • 12345/TCP: porta standard CCcam. È quella che i client usano per connettersi. Quasi universale.
  • 8000/TCP: WebUI di OScam per monitoraggio da browser. Opzionale, utile per debugging.
  • 8888/UDP: porta alternativa per alcuni provider (rara, controlla la documentazione del tuo provider).

Per una cccam server italia configurazione, devi esporre almeno la porta 12345 via port forwarding sul tuo router se vuoi che client remoti si connettano.

Dynamic DNS vs IP statico

Se il tuo ISP italiano assegna IP dinamici (cambia ogni 24-48 ore), hai due opzioni:

  • IP statico: contatta il tuo ISP (TIM, Vodafone, Wind) e chiedi IP pubblico statico. Costo aggiuntivo (5-15 €/mese solitamente). I client si connettono sempre allo stesso IP.
  • Dynamic DNS: servizio che monitora il tuo IP pubblico e aggiorna un dominio DNS automaticamente (es. myserver.duckdns.org). Gratuito e pratico. I client si connettono al dominio invece dell'IP.

Per Dynamic DNS in Italia, servizi comuni sono DuckDNS, No-IP, o Cloudflare con uno script che aggiorna il record ogni 5 minuti. Su Raspberry Pi o NAS, installa il client DDNS dalla WebUI.

Configurazione port forwarding su router italiano (TIM, Vodafone, Wind)

Ogni router è diverso, ma il procedimento è simile:

  1. Accedi alla WebUI del router (solitamente 192.168.1.1 o 192.168.0.1, controlla il manuale).
  2. Vai a "Port Forwarding" o "Configurazione Avanzata" (nome varia).
  3. Crea una regola: porta pubblica 12345 → IP privato del server:12345.
  4. Salva e riavvia il router.

Esempio su un router TIM/Alice:

Porta in ingresso: 12345
Porta in uscita: 12345
Indirizzo IP interno: 192.168.1.10
Protocollo: TCP

Su Vodafone, la sezione si chiama spesso "UPnP" o "Port Map". Su Wind (Infostrada), controlla "Applicazioni" nel pannello di controllo.

Dopo il port forwarding, verifica dal tuo PC esterno (o da un cellulare non in WiFi):

telnet IP_PUBBLICO_ROUTER 12345

Se vedi "Connected" o caratteri strani (connessione riuscita), il port forwarding funziona.

Firewall e regole iptables

Se il tuo server gira dietro un firewall Linux (iptables), aggiungi una regola:

sudo iptables -A INPUT -p tcp --dport 12345 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 12345 -j ACCEPT

Per renderla permanente (su Debian/Ubuntu):

sudo apt-get install iptables-persistent
sudo iptables-save | sudo tee /etc/iptables/rules.v4

Su firewall moderni (UFW su Ubuntu), usa:

sudo ufw allow 12345/tcp
sudo ufw allow 8000/tcp

Verifica lo stato:

sudo ufw status
sudo iptables -L | grep 12345

NAT hairpin per accesso locale/remoto

Problema comune in Italia: quando sei in LAN locale e provi a connetterti al tuo server usando IP_PUBBLICO:12345, il router non riesce a routare il traffico di ritorno (NAT hairpin). La soluzione:

  • Opzione 1: Usa IP privato da LAN (192.168.1.10:12345).
  • Opzione 2: Abilita "NAT hairpin" o "Loopback" nel router (se disponibile, spesso nascosto in impostazioni avanzate).
  • Opzione 3: Usa Dynamic DNS + record interno che punta all'IP privato (con split DNS).

La maggior parte dei router TIM e Vodafone non supporta hairpin direttamente. La soluzione più semplice è usare IP privato da casa e IP pubblico da remoto.

Troubleshooting e Monitoraggio

Lettura dei log: /var/log/oscam/oscam.log

Il file di log è la fonte di verità per ogni problema. Accedi via SSH e leggi:

tail -f /var/log/oscam/oscam.log

Questo mostra le ultime righe in tempo reale (premi Ctrl+C per uscire).

Cerca messaggi di errore specifici:

grep -i "error" /var/log/oscam/oscam.log
grep -i "disconn" /var/log/oscam/oscam.log
grep "peer_name" /var/log/oscam/oscam.log

Esempi di messaggi comuni e cosa significano:

  • "cannot connect to 203.0.113.45:12345": il peer è offline o port forwarding non funziona. Testa con telnet.
  • "login failed": username/password sbagliati verso il peer. Verifica credentials in oscam.server.
  • "timeout": il peer è raggiungibile ma non risponde alle richieste. Connessione lenta o peer congestionato.
  • "max_connections reached": troppi client collegati. Aumenta max_connections in [cccam].

Per vedere log dettagliati, abilita debug level in oscam.conf:

[global]
debug = 15
log_file = /var/log/oscam/oscam.log

Debug 15 è il livello massimo (genera log molto grandi). Usa 3-7 in produzione.

Errori comuni di connessione e soluzioni

Problema: Client non riesce a connettersi al server

1. Verifica che oscam sia in esecuzione: ps aux | grep oscam
2. Verifica che la porta sia in ascolto: netstat -tlnp | grep 12345 ss -tlnp | grep 12345 (comando più moderno)
3. Testa la connessione da un'altra macchina: telnet IP_SERVER 12345

Problema: Server si connette al peer, ma poi disconnette

1. Aumenta inactivity_timeout in oscam.server: inactivity_timeout = 60 (invece di 30)
2. Abilita keepalive: keepalive = 1
3. Controlla i firewall tra il tuo server e il peer. Il router potrebbe tagliare connessioni inattive.

Problema: Chiavi arrivano lente, client attende 10+ secondi

1. Verifica latenza verso il peer: ping -c 10 IP_PEER
2. Riduci cccam_max_streams se è troppo alto (causa congestione): cccam_max_streams = 4 (di default)
3. Aggiungi più peer ridondanti per fallback veloce.
4. Verifica se il peer stesso è congestionato (chiedi al provider statistiche di carico).

Diagnostica: controllare porta aperta, latenza, autenticazione

Script di diagnostica rapida:

#!/bin/bash
# Controlla se oscam è in esecuzione
echo "=== Stato oscam ==="
systemctl status oscam
ps aux | grep oscam | grep -v grep
# Controlla se la porta è aperta
echo -e "=== Porta 12345 ==="
netstat -tlnp | grep 12345 || ss -tlnp | grep 12345
# Test connessione locale
echo -e "=== Test connessione locale ==="
timeout 3 bash -c 'exec 3<>/dev/tcp/127.0.0.1/12345; echo "OK"' && echo "Porta raggiungibile" || echo "Porta non raggiungibile"
# Latenza verso peer remoto (sostituisci IP)
echo -e "=== Latenza verso peer ==="
ping -c 5 203.0.113.45
# Ultimi errori di log
echo -e "=== Ultimi errori ==="
tail -20 /var/log/oscam/oscam.log | grep -i "error\|disconnect"

Esegui questo script se il server non funziona per identificare il problema rapidamente.

WebUI di OScam per monitoraggio in tempo reale

OScam ha una interfaccia web per monitoraggio visuale. Accedi a:

http://IP_SERVER:8000

Di default non ha password. Per aggiungere protezione, modifica oscam.conf:

[webinterface]
httpport = 8000
httpskey =
httpcert =
httpuser = admin
httppasswd = mypassword123
httprefresh = 30
httpcss = oscam.css

Nella WebUI puoi:

  • Vedere status dei peer (online/offline)
  • Controllare numero di client connessi
  • Visualizzare statistiche di cache hits
  • Leggere log in tempo reale
  • Modificare configurazione on-the-fly (ma i cambiamenti vengono persi al riavvio se non salvi il file)

Per accedere da remoto, esponi la porta 8000 via port forwarding, ma usa HTTPS e password forte:

httpskey = /etc/oscam/oscam.key
httpcert = /etc/oscam/oscam.crt

Genera certificato autofirmato:

openssl req -x509 -newkey rsa:2048 -keyout /etc/oscam/oscam.key -out /etc/oscam/oscam.crt -days 365 -nodes

Performance: CPU, memoria, cache size

Se il server usa troppa CPU o memoria:

# Controlla CPU e RAM
top -bn1 | grep oscam
# Controlla uso cache
du -sh /tmp/oscam.cache
# Se cache è troppo grande, riduci cache_size in oscam.conf
# oppure aumenta max_cache_time per scadenze più rapide

Su Raspberry Pi (CPU ARM debole), limita cache_size a 50000 entry e max_streams a 2. Su NAS con CPU moderata, 256000 entry e 4 stream vanno bene. Su server x86_64 potente, puoi arrivare a 500000+ entry e 16 stream.

Se CPU è al 100% costantemente, il problema è tipicamente:

  • Troppi client connessi (max_connections troppo alto)
  • Network congestionato (i peer rispondono lentamente e oscam accumula richieste)
  • Cache compressa attiva (disabilita compress se non necessaria)

Sicurezza e Best Practice

Cambio password default e pin

La prima cosa dopo l'installazione: cambia tutte le credenziali di default.

# In oscam.conf, cambia PIN CCcam (da 0000 a qualcosa di unico)
[cccam]
pin = 1234
# Cambia password di ogni account locale
[account]
user = client1
pwd = SupaSecurePass!2024
# Cambia password WebUI
[webinterface]
httppasswd = AltroSecurePass!2024

Usa password forti (almeno 12 caratteri, mix di lettere/numeri/simboli), specialmente se il server è raggiungibile da Internet.

Limitazione del numero di connessioni simultanee

Per evitare abusi, limita connessioni su più livelli:

[cccam]
max_connections = 50 # Totale globale
[account]
user = shared_account
max_connections = 3 # Per questo account (se condiviso)
[account]
user = personal_account
max_connections = 1 # Una sola connessione

Se noti comportamenti anomali (mille richieste al secondo), potrebbe essere un attacco DDoS o un client malfatto. Controlla i log per identificare la sorgente e blocca quella IP.

IP whitelisting per peer trusted

Se il tuo server è pubblico, limita chi può connettersi. Aggiungi IP whitelist in oscam.server:

[reader]
label = peer_trusted
protocol = cccam
hostname = 203.0.113.45
port = 12345
username = user
password = pass
allowed_ip = 192.168.1.0/24,203.0.113.0/25

Solo client da quelle subnet possono richiedere da questo reader. Combina con firewall iptables per protezione aggiuntiva.

Aggiornamento del software OScam/CCcam

OScam viene aggiornato regolarmente. Controlla periodicamente aggiornamenti:

# Su Linux tradizionale (se installato via package manager)
sudo apt update
sudo apt upgrade oscam
# Su Docker, pull l'immagine aggiornata
docker pull oscam:latest
docker-compose down
docker-compose up -d
# Su Kodi/Enigma2, controlla WebUI per disponibilità aggiornamenti

Prima di aggiornare, fai backup della configurazione:

cp -r /etc/oscam /etc/oscam.backup.$(date +%Y%m%d)

Aggiornamenti spesso risolvono bug di sicurezza e stabilità. Non restare troppo indietro, ma testa in laboratorio prima di aggiornare un server di produzione.

Backup della configurazione

I tuoi file di configurazione sono critici. Backup settimanale:

#!/bin/bash
BACKUP_DIR=/home/user/oscam_backups
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/oscam_$(date +%Y%m%d_%H%M%S).tar.gz /etc/oscam/
# Mantieni solo ultimi 10 backup
ls -t $BACKUP_DIR/*.tar.gz | tail -n +11 | xargs rm -f

Aggiungi questo script a crontab per eseguirlo automaticamente:

0 2 * * 0 /home/user/backup_oscam.sh

In caso di crash o corruzione, potrai ripristinare rapidamente.

FAQ

Qual è la differenza tra CCcam e OScam in termini di configurazione?

CCcam è un demone standalone e monolitico: configurazione minimale, niente WebUI, usato principalmente per simple hub o remote card. OScam è un fork modulare e moderno che integra CCcam come uno dei tanti protocolli supportati. OScam aggiunge WebUI per monitoraggio, opzioni di caching granulari, support per smartcard fisiche, proxy, feed locali, e centinaia di flag di configurazione. Entrambi usano file di configurazione simili (oscam.conf, oscam.server), ma OScam ha molte più opzioni. Per una cccam server italia configurazione moderna, OScam è la scelta standard e consigliata.

Come posso testare se il mio server CCcam è raggiungibile da remoto?

Usa il comando telnet da un client esterno (non dalla stessa LAN): telnet IP_PUBBLICO_ROUTER 12345. Se vedi "Connected" o caratteri strani, la connessione è riuscita. Se vedi "Connection refused" o timeout, il port forwarding non è attivo. Per debug più preciso, usa nc -zv IP_PUBBLICO 12345 su sistemi con netcat. Verifica che il port forwarding sia configurato correttamente nel router, che il firewall non blocchi la porta, e che oscam sia effettivamente in ascolto su 12345 (comando: ss -tlnp | grep 12345).

Che cos'è la 'cache' in oscam.conf e come configuro la dimensione?

La cache memorizza le chiavi ECM (Entitlement Control Message) già risolte per evitare di chiedere ripetutamente lo stesso per lo stesso canale/ora. La cache è memorizzata in /tmp/oscam.cache (percorso configurabile con cachedir). La dimensione è controllata da cache_size (numero di entry, non MB). Una cache più grande accelera il servizio ma usa più RAM. Su un server con 4GB RAM, imposta cache_size = 256000 (circa 100-200MB). Su Raspberry Pi, usa cache_size = 50000. Puoi anche configurare max_cache_time (secondi prima di scadenza): 300 (5 min) è standard. Bilanciare la dimensione in base alle risorse hardware disponibili.

Il mio server OScam disconnect continui. Cosa potrebbe essere?

Le cause più comuni sono: timeout di rete (aumenta inactivity_timeout in oscam.server), firewall che taglia connessioni inattive (abilita keepalive = 1), credentials sbagliate verso il peer, peso del server troppo alto (vedi CPU/RAM), lag verso il peer remoto (testa con ping), o il peer stesso è offline. Controlla il log di oscam per messaggi di errore specifici: grep -i "disconnect" /var/log/oscam/oscam.log. Prova a ridurre reconnect_timeout per riconnessioni più rapide. Se il problema persiste, contatta il provider del peer per verificare la stabilità della connessione.

Posso far girare CCcam/OScam su Docker in Italia?

Sì, è una pratica comune e consigliata. Puoi usare immagini ufficiali di OScam dal Docker Hub o immagini community. La configurazione è semplice: esegui il container con port mapping per CCcam (12345) e WebUI (8000): docker run -d -v /percorso/config:/etc/oscam -p 12345:12345 -p 8000:8000 oscam:latest. Monta volumi persistenti per i file di configurazione e log, altrimenti andranno persi al riavvio. Configura le variabili di ambiente per timezone: -e TZ=Europe/Rome. Il vantaggio di Docker è isolamento, aggiornamenti facili, e portabilità tra sistemi. La gestione delle configurazioni è critica: backup regolare del volume /etc/oscam per evitare perdita di dati.

Come aggiungo un nuovo peer remoto al mio server?

Modifica il file /etc/oscam/oscam.server aggiungendo una nuova sezione [reader] con il tipo 'cccam'. Inserisci hostname, porta, username, password forniti dal peer. Configura il numero di gruppo (group assignment) per controllare quali client possono accedere a quel peer, e le priorità (priority) e filtri CAID se necessario. Esempio: [reader] label = nuovo_peer protocol = cccam hostname = 203.0.113.45 port = 12345 username = myuser password = mypass group = 1 priority = 64. Salva il file, poi riavvia oscam o ricarica la configurazione dalla WebUI. Verifica nel log che la connessione sia riuscita: grep "nuovo_peer" /var/log/oscam/oscam.log. Se la connessione fallisce, controlla username/password e porta, e verifica che il peer sia online e raggiungibile.