Loading...
Come creare un server CCcam su Windows (Guida 2024)

Come creare un server CCcam su Windows (Guida 2024)

Configurare un server CCcam su Windows è assolutamente possibile, ma richiede alcuni passaggi aggiuntivi che la maggior parte delle guide semplicemente tralascia. A differenza dei ricevitori basati su Linux, dove CCcam funziona in modo nativo, Windows necessita di un livello di compatibilità per eseguire il binario CCcam. Questa guida ti accompagna in ogni passaggio, dall'installazione di tale livello alla configurazione delle credenziali client, all'inoltro delle porte e alla correzione degli errori che bloccano la maggior parte delle persone al primo tentativo.

Dichiarazione di non responsabilità legale: questa guida è destinata agli utenti che possiedono legalmente una smart card in abbonamento e desiderano condividere l'accesso alla decodifica all'interno della propria famiglia. Condividere le credenziali della propria carta con estranei, vendere C-line o accedere a reti commerciali di condivisione di carte costituisce una violazione dei termini di servizio dell'emittente ed è illegale in molte giurisdizioni. Procedere solo se si possiede e si è autorizzati a utilizzare la carta in questione.

Che cos'è un server CCcam e come funziona su Windows

Il protocollo CCcam spiegato in modo semplice

CCcam è un protocollo di condivisione delle carte. Quando il ricevitore satellitare intercetta una trasmissione crittografata, ha bisogno di una chiave di decodifica, un Control Word (CW), per decodificare il segnale. Normalmente, il CW proviene direttamente dalla smart card fisica inserita nello slot del ricevitore. CCcam trasferisce questo processo su una rete: un server centrale detiene la carta fisica, genera il CW e lo distribuisce ai clienti autorizzati in tempo reale.

L'intero scambio avviene in pochi millisecondi. Un cliente invia un messaggio di controllo dell'autorizzazione (ECM) al server, il server lo trasmette alla scheda fisica, riceve la CW e la restituisce al cliente. Dal punto di vista dello spettatore, il canale viene riprodotto normalmente.

Architettura client-server in CCcam

In una configurazione CCcam, i ruoli sono chiaramente definiti. Il server è la macchina con la smart card fisica collegata tramite un lettore di schede. Esegue il software CCcam e ascolta le connessioni in entrata. Ogni cliente è un ricevitore o un dispositivo che si connette al server utilizzando credenziali (una C-line) e richiede chiavi di decrittazione su richiesta.

Un server può teoricamente servire più client, ma la tua scheda fisica e l'abbonamento limiteranno il numero di flussi simultanei possibili - maggiori informazioni al riguardo nelle FAQ qui sotto.

Perché eseguire il server su un PC Windows invece che su un router o un ricevitore

La maggior parte degli utenti avanzati esegue CCcam direttamente su un ricevitore satellitare (come Dreambox o VU+) o su un box Linux dedicato. Tuttavia, esistono validi motivi per utilizzare un PC Windows: potresti già averne uno in funzione 24 ore su 24, 7 giorni su 7, come server domestico, oppure semplicemente non avere a disposizione un dispositivo Linux. I PC Windows tendono inoltre ad avere una migliore compatibilità USB con i lettori di schede, più RAM e un accesso remoto al desktop più semplice per la gestione.

Il compromesso è però reale. CCcam non ha un binario nativo per Windows. Devi eseguirlo tramite Cygwin, un ambiente di emulazione Linux per Windows. Questo aggiunge complessità, ma è gestibile con la giusta configurazione.

Prerequisiti prima di configurare il tuo server CCcam

Requisiti hardware: specifiche del PC e lettore di smart card

Il PC in sé non deve essere potente. CCcam è estremamente leggero: anche un computer di 10 anni fa con 2 GB di RAM e una CPU dual-core lo gestirà senza problemi. Ciò che conta di più è il tempo di attività: il server deve essere acceso ogni volta che un cliente desidera guardare la TV, quindi un computer che è già in funzione continuamente è l'ideale.

Per il lettore di smart card, l'opzione più affidabile è uno Smargo SmartReader (o Smargo+ per le schede Phoenix). Questi utilizzano un'interfaccia USB standard e hanno un supporto driver coerente su Windows. I lettori di schede USB generici più economici a volte funzionano, ma causano più problemi di quanto valgano. Il lettore di schede deve supportare il protocollo utilizzato dalla tua scheda di abbonamento specifica: i lettori PC/SC funzionano con la maggior parte delle schede moderne.

Se si utilizza un dispositivo Windows 11 ARM (come un Surface Pro X o un laptop più recente basato su ARM), tenere presente che la compatibilità con Cygwin è limitata sull'architettura ARM. In tal caso, OScam, descritto nella Sezione 6, è una soluzione decisamente migliore.

Software da scaricare

  • Cygwin: un livello di compatibilità Linux per Windows. Scaricalo da cygwin.com (solo dal sito ufficiale).
  • Binario CCcam per Linux: il binario CCcam standard funziona all'interno di Cygwin. Proveniente da forum satellitari affidabili; verificare gli hash dei file prima dell'esecuzione.
  • Driver USB Smargo: necessario se si utilizza un lettore di schede Smargo. Disponibile dalla pagina ufficiale del produttore.
  • Un editor di testo: Notepad++ è consigliato per la modifica dei file di configurazione, poiché Windows Notepad può introdurre problemi di fine riga che compromettono il parser di configurazione di CCcam.

Avviso importante: gli strumenti antivirus, incluso Windows Defender, segnalano spesso i binari CCcam come minacce. Si tratta di un falso positivo causato dall'associazione del software con casi di pirateria, non perché il binario stesso sia un malware. Sarà necessario inserire la directory CCcam nella whitelist prima che il binario possa essere eseguito. I passaggi per farlo sono descritti nella sezione dedicata alla risoluzione dei problemi.

Requisiti di rete: IP statico e port forwarding

Per i client sulla stessa rete domestica (LAN), tecnicamente è sufficiente conoscere l'indirizzo IP locale del PC Windows (ad esempio, 192.168.1.50). Il port forwarding non è necessario per le configurazioni solo LAN.

Per i client che si connettono tramite Internet (WAN), sono necessari due elementi: una porta inoltrata sul router (la porta CCcam predefinita è 12000) e un IP pubblico statico o un servizio DNS dinamico come No-IP o DuckDNS per mantenere coerente il nome host. Assegnare al PC Windows un IP locale statico tramite la prenotazione DHCP del router: ciò impedisce che l'indirizzo locale del PC cambi dopo il riavvio del router.

Un caso limite importante: se il tuo ISP utilizza Carrier-Grade NAT (CGNAT), non avrai affatto un indirizzo IP pubblicamente instradabile e il port forwarding standard non funzionerà. La soluzione è stabilire un tunnel VPN (WireGuard è efficiente e funziona bene) attraverso un VPS che ha un IP pubblico. Si tratta di uno scenario avanzato, ma vale la pena conoscerlo in anticipo.

Considerazioni legali: condividi solo le carte di tua proprietà

Prima di procedere: confermate di essere i legittimi proprietari della scheda di abbonamento. La condivisione dell'accesso all'interno della vostra famiglia, ad esempio consentendo a un secondo ricevitore nel vostro salotto di utilizzare la stessa scheda del ricevitore della vostra camera da letto, è il caso d'uso previsto in questo caso. La condivisione delle credenziali con persone al di fuori della vostra casa, l'addebito di costi di accesso ad altri o la connessione a reti di condivisione commerciali non rientrano nei limiti legali nella maggior parte dei paesi e violano senza eccezioni i termini di servizio di tutte le principali emittenti.

Passo dopo passo: installazione e configurazione del server CCcam su Windows

Passaggio 1: installare Cygwin per eseguire CCcam su Windows

Scaricare il programma di installazione di Cygwin dal sito web ufficiale di Cygwin. Durante l'installazione, selezionare un mirror di download e, quando viene richiesto di scegliere i pacchetti, assicurarsi di includere quanto segue: bash, coreutils, libpcsc-litee cygrunsrv (l'ultimo è necessario se si desidera eseguire CCcam come servizio Windows in un secondo momento).

Installa Cygwin nel percorso predefinito: C:\cygwin64\ per i sistemi a 64 bit. La tua directory home in stile Linux all'interno di Cygwin verrà mappata su C:\cygwin64\home\YourUsername\. Tieni a mente questo percorso: è lì che risiederanno i tuoi file CCcam.

Passaggio 2: scaricare e posizionare il binario CCcam nella directory Cygwin

Inserisci il file binario CCcam nella tua directory home Cygwin:

C:\cygwin64\home\YourUsername\CCcam\

Crea manualmente quella cartella. Al suo interno troverai l'eseguibile CCcam e tutti i file di configurazione correlati. Apri il terminale di Cygwin e rendi eseguibile il file binario:

chmod +x /home/YourUsername/CCcam/CCcam

Prima di fare qualsiasi altra cosa, aggiungi un'esclusione in Windows Defender. Vai su Sicurezza di Windows → Protezione da virus e minacce → Gestisci impostazioni → Aggiungi o rimuovi esclusioni e aggiungi l'intera C:\cygwin64\home\YourUsername\CCcam\ cartella. Fallo prima di estrarre il file binario, altrimenti Defender potrebbe metterlo immediatamente in quarantena al momento dell'estrazione.

Passaggio 3: crea e modifica il file di configurazione CCcam.cfg

Il file CCcam.cfg controlla tutto: quale porta ascoltare, quali client sono autorizzati ad accedere e come è configurato il lettore di schede. Crea questo file nella directory CCcam utilizzando Notepad++ e salvalo con terminazioni di riga in stile Unix (solo LF, non CRLF).

Ecco un esempio di configurazione annotato:

# CCcam.cfg - Server Configuration Example
# The port this server listens on for client connections
SERVER LISTEN PORT : 12000
# Log file location (inside Cygwin path)
LOG FILE : /home/YourUsername/CCcam/CCcam.log
# Maximum number of connected clients
MAX CLIENTS : 3
# Card reader configuration
DEVICE : /dev/ttyUSB0 {smargo}
# How many hops to share cards (1 = local card only, recommended)
SHARE LIMIT : 1
# Keep-alive interval in seconds
KEEPALIVE TIMEOUT : 30

La DEVICE linea indica a CCcam dove si trova il lettore di schede. All'interno di Cygwin, i dispositivi seriali USB sono in genere mappati su /dev/ttyS0, /dev/ttyS1, ecc. — controlla il numero della porta COM in Gestione dispositivi, quindi sottrai 1 e mappalo. Quindi COM3 in Windows diventa /dev/ttyS2 in Cygwin. I lettori Smargo che utilizzano il loro driver nativo in genere appaiono in modo diverso: verifica in Gestione dispositivi sotto "Porte (COM e LPT)".

Passaggio 4: aggiungi account utente per l'accesso client (linee C e linee F)

Qui è dove vengono definite le credenziali del cliente. È importante comprendere la differenza:

  • C-line: definisce un client autorizzato a connettersi al tuo server. Questi vengono creati sul lato server, quindi fornisci la stringa di credenziali al dispositivo client per incollarla nelle impostazioni softcam.
  • Linea F: definisce un server upstream a cui l'istanza CCcam si connette come client. Per una configurazione server pura, in genere non si utilizzano le linee F a meno che non si stia effettuando anche un collegamento a cascata da un'altra fonte.

Aggiungete le linee C al vostro CCcam.cfg in questo modo:

# C-lines: define authorized clients
# Format: C: hostname port username password allow_emm share_limit group
C: localhost 12000 client1 password123 1 1 1
C: localhost 12000 client2 securepass456 1 1 1

Il dispositivo client necessita di una linea corrispondente nella propria configurazione: la linea C che riceve è simile a questa (con l'IP effettivo del tuo server):

C: 192.168.1.50 12000 client1 password123 1 1 1

Per i client su Internet, sostituire l'IP locale con l'IP pubblico o il nome host DynDNS.

Configurazioni multi-scheda: se sono collegate più schede fisiche, CCcam le gestisce automaticamente tramite più linee DEVICE. È possibile limitare client specifici a schede specifiche utilizzando il numero di gruppo alla fine della linea C, abbinandolo all'assegnazione di gruppo di una scheda nella configurazione.

Passaggio 5: avvia il server CCcam e verifica che sia in esecuzione

Aprire il terminale Cygwin e navigare fino alla directory CCcam:

cd /home/YourUsername/CCcam/
./CCcam &

Il & lo esegue in background. Controlla immediatamente il file di log:

tail -f CCcam.log

Cercate le righe che confermano che la scheda è stata trovata e che il server ha iniziato ad ascoltare sulla porta 12000. Se vedete errori del lettore di schede o errori di binding della porta, la sezione di risoluzione dei problemi qui sotto copre ogni scenario.

Esecuzione come servizio Windows: se si desidera che CCcam si avvii automaticamente all'avvio, senza che nessuno effettui l'accesso, utilizzare cygrunsrv. Nel terminale Cygwin:

cygrunsrv --install CCcam --path /home/YourUsername/CCcam/CCcam --chdir /home/YourUsername/CCcam/
cygrunsrv --start CCcam

Quindi in Windows, apri Servizi (services.msc), trova il servizio CCcam e imposta il tipo di avvio su Automatico. Ciò garantisce che il tuo server sopravviva ai riavvii senza intervento manuale.

Passaggio 6: configurare il port forwarding sul router (porta 12000)

Accedi al pannello di amministrazione del router (in genere all'indirizzo 192.168.1.1 o 192.168.0.1). Trova la sezione relativa al port forwarding, che potrebbe essere denominata "Server virtuale", "NAT" o "Port Forwarding" a seconda della marca del router. Crea una regola che inoltri il traffico TCP sulla porta esterna 12000 all'IP locale del tuo PC Windows sulla porta interna 12000.

Se il tuo ISP blocca le porte non standard (alcuni lo fanno), puoi cambiare la porta di ascolto di CCcam in qualcosa come 443 o 8080 modificando la SERVER LISTEN PORT in CCcam.cfg e aggiornando la regola del router di conseguenza. Aggiorna le linee C del client in modo che corrispondano al nuovo numero di porta.

Collegamento dei client CCcam al tuo server Windows

Aggiunta di una linea C a un ricevitore satellitare

Sui ricevitori basati su Enigma2 (Dreambox, VU+, ecc.), vai alle impostazioni softcam. Se utilizzi CCcam come softcam sul ricevitore, individua il file CCcam.cfg file in /etc/CCcam.cfg sul ricevitore e aggiungi la C-line generata nel passaggio 4. Il ricevitore si connetterà al tuo server Windows e instraderà tutte le richieste di decodifica attraverso di esso.

Per i ricevitori che eseguono OScam come client, aggiungerai una voce "server" nella configurazione del lettore OScam che punta al tuo server CCcam Windows: la sintassi è diversa, ma le credenziali sono le stesse.

Connessione di un client Softcam su un altro PC o dispositivo

Qualsiasi dispositivo che esegue una softcam compatibile (CCcam, OScam, OSCAM-emu) può connettersi come client. Il formato C-line è universale. Su un secondo PC Windows, è possibile eseguire OScam come istanza solo client che punta al server CCcam, utile per guardare contenuti satellitari su una scheda sintonizzatore per PC.

Verifica della connessione con il pannello informativo CCcam o Telnet

CCcam include un'interfaccia web integrata accessibile all'indirizzo http://your-server-ip:16001. Aprire tale indirizzo in qualsiasi browser sulla rete locale. Verranno visualizzati i client connessi, i dettagli delle schede attive e le statistiche di decrittografia. Se un client risulta connesso ma i canali non vengono decrittografati, la condivisione della scheda funziona ma potrebbe esserci un problema di abbonamento o di autorizzazione del canale.

Per un rapido test di connettività, eseguire il telnet alla porta 12000 da un computer client. Una connessione che si apre (anche con output distorto) conferma che la porta è raggiungibile e che CCcam sta rispondendo.

Utilizzo di DynDNS per l'accesso remoto dei client al di fuori della rete locale

La connessione Internet domestica ha probabilmente un IP pubblico dinamico che cambia periodicamente. Servizi come No-IP (noip.com) o DuckDNS (duckdns.org) forniscono un nome host gratuito (ad es. myhome.ddns.net) che si aggiorna automaticamente per puntare al tuo IP attuale. Installa il client DNS dinamico sul tuo PC Windows e configuralo con le credenziali del tuo account. Quindi distribuisci il tuo nome host DynDNS nelle righe C invece di un indirizzo IP: i client troveranno sempre il tuo server anche quando il tuo IP cambia.

Ricorda: se il tuo ISP utilizza CGNAT, questo approccio non funzionerà. Verifica prima se l'IP WAN del tuo router corrisponde a quello mostrato da un sito come "whatismyip.com". Se sono diversi, sei dietro CGNAT e hai bisogno di una soluzione con tunnel VPN.

Risoluzione dei problemi comuni del server CCcam su Windows

CCcam non si avvia: errori DLL o Cygwin mancanti

L'errore di avvio più comune è una DLL Cygwin mancante. CCcam in esecuzione su Cygwin dipende dalla presenza di librerie di runtime specifiche nell'installazione di Cygwin. Se viene visualizzato un errore come error while loading shared libraries: cygwin1.dll, la soluzione è semplice: apri nuovamente il programma di installazione di Cygwin ed eseguilo in modalità "Aggiorna" per assicurarti che tutti i pacchetti di base siano installati correttamente. Verifica inoltre di eseguire il binario CCcam a 32 bit con Cygwin a 32 bit o il binario a 64 bit con Cygwin a 64 bit: l'uso di architetture miste causa crash immediati.

Controlla il Visualizzatore eventi di Windows (eventvwr.msc) in Registri di Windows → Applicazione per ulteriori dettagli sull'errore che il log di CCcam potrebbe non rilevare.

Scheda non trovata o lettore non rilevato

Se i log CCcam mostrano "nessuna scheda trovata" o il lettore di schede non appare nel pannello informativo CCcam, segui questa lista di controllo: In primo luogo, apri Gestione dispositivi e verifica che il lettore di schede appaia senza un'icona di avviso gialla. Se c'è un errore del driver, reinstalla il driver Smargo. In secondo luogo, verifica la mappatura della porta COM: ricorda la differenza nel percorso del dispositivo Cygwin dal passaggio 3. In terzo luogo, prova una porta USB diversa, poiché alcuni controller USB hanno problemi di alimentazione. Infine, verifica che la scheda stessa funzioni testandola in uno slot del ricevitore fisico, se possibile. Alcune schede di abbonamento hanno un blocco IP o un blocco del dispositivo che impedisce fisicamente loro di funzionare in qualsiasi lettore diverso dal ricevitore originale: in questo caso, la condivisione della scheda non sarà possibile indipendentemente dalla configurazione del software.

Le smart card basate su software (schede virtuali senza lettore fisico) non sono generalmente supportate da CCcam. Il protocollo presuppone la presenza di una scheda fisica.

I client non riescono a connettersi: problemi con il firewall e le porte

Windows Firewall è quasi sempre il responsabile quando i clienti non riescono a raggiungere un server CCcam effettivamente in esecuzione. Apri Windows Defender Firewall con sicurezza avanzata (cercalo nel menu Start), vai su Regole in entrata e crea una nuova regola che consenta il traffico TCP sulla porta 12000. Assicurati che la regola si applichi a tutti e tre i profili di rete (Dominio, Privato, Pubblico) o almeno a Privato se utilizzi solo la LAN.

Se i client si connettono sulla LAN ma non riescono a connettersi su Internet, il problema è quasi certamente il port forwarding. Ricontrolla la regola del router e verifica che l'IP inoltrato corrisponda all'IP locale corrente del tuo PC. Utilizza uno strumento come portchecker.co per verificare che la porta 12000 sia visibile dall'esterno.

Controlla anche se sul tuo PC server è in esecuzione una VPN. Molti client VPN reindirizzano tutto il traffico attraverso il tunnel VPN, il che significa che i client locali che cercano di raggiungere il tuo indirizzo IP LAN vedono il loro traffico reindirizzato in modo errato. Disconnetti la VPN o configura lo split tunneling per escludere il traffico CCcam.

Blocco o interruzione dei canali sul lato client

Il congelamento di solito significa che le richieste ECM richiedono troppo tempo: la chiave di decrittazione non arriva al client prima che quella precedente scada. Le cause più comuni includono: latenza di rete (soprattutto su Wi-Fi), la scheda è sovraccarica a causa di troppe richieste simultanee da parte dei client o l' KEEPALIVE TIMEOUT impostato in modo troppo aggressivo. Inizia riducendo il numero di client attivi. Se è connesso un solo client e continua a bloccarsi, il problema potrebbe essere sul lato del ricevitore o nella scheda stessa che risponde lentamente alle richieste ECM.

Errori di sintassi CCcam.cfg e come convalidarli

CCcam è molto severo riguardo alla sintassi dei file di configurazione. Utilizza sempre Notepad++ e imposta esplicitamente le terminazioni di riga su Unix (LF) in Modifica → Conversione EOL → Unix. Gli spazi finali dopo i valori, le terminazioni di riga in stile Windows e i caratteri BOM (byte order mark) sono invisibili ma causano errori di analisi. Se CCcam si avvia ma la scheda non è condivisa o i client non riescono ad autenticarsi, la prima cosa da controllare è la sintassi del file di configurazione. Il file di log di solito riporta "errore di configurazione" o semplicemente smette di leggere il file a metà senza fornire spiegazioni.

OScam come alternativa migliore a CCcam su Windows

Perché OScam è più stabile su Windows rispetto a CCcam

OScam ha una build nativa per Windows, senza bisogno di Cygwin. È sufficiente scaricare un file .exe compilato, creare una directory di configurazione ed eseguirlo direttamente. Questo elimina l'intera categoria di errori DLL, incompatibilità di architettura e problemi di configurazione di Cygwin che causano il fallimento di molti tentativi di CCcam su Windows.

OScam è anche attivamente mantenuto, mentre lo sviluppo di CCcam è stato in gran parte inattivo per anni. L'interfaccia web di OScam (tipicamente sulla porta 8888) è più informativa, mostrando la temporizzazione ECM dettagliata, le statistiche del lettore e le connessioni client in tempo reale. Per le nuove configurazioni nel 2024, OScam è la scelta più pratica: utilizzate CCcam solo se avete requisiti di compatibilità specifici con dispositivi client più vecchi.

Installazione di OScam su Windows: panoramica rapida

Scaricare la versione ufficiale di OScam per Windows dal repository ufficiale OScam SVN build. Estrarla in una cartella come C:\OScam\. OScam utilizza tre file di configurazione principali: oscam.conf (impostazioni globali), oscam.server (definizioni lettore/scheda) e oscam.user (credenziali client). Esegui oscam.exe dal prompt dei comandi per avviare. Come CCcam, è possibile installarlo come servizio Windows utilizzando NSSM (Non-Sucking Service Manager), un'utilità gratuita progettata appositamente per questo scopo.

Conversione della configurazione CCcam nel formato OScam

La logica delle credenziali viene tradotta direttamente. Le linee C di CCcam diventano voci utente nel file oscam.user . Il nome utente e la password di ogni C-line vengono mappati su un account utente OScam con cccam protocollo abilitato. La definizione del lettore di schede in CCcam.cfg diventa un blocco lettore in oscam.server con lo stesso riferimento alla porta COM. OScam ha anche una modalità proxy CCcam integrata che consente ai client CCcam di connettersi direttamente, rendendo la transizione trasparente ai dispositivi client.

Posso eseguire un server CCcam su Windows 10 o Windows 11?

Sì, CCcam funziona sia su Windows 10 che su Windows 11 tramite Cygwin. Non esiste una build nativa di Windows per CCcam, quindi Cygwin è obbligatorio per creare l'ambiente Linux di cui ha bisogno. Funzionano entrambe le versioni Cygwin a 32 bit e 64 bit, ma è necessario abbinare l'architettura al binario CCcam: un binario a 32 bit richiede Cygwin a 32 bit. Sui dispositivi basati su Windows 11 ARM (Surface Pro X, laptop ARM più recenti), la compatibilità con Cygwin è limitata e inaffidabile. OScam con la sua build nativa per Windows è l'alternativa fortemente raccomandata per l'hardware ARM.