Loading...
Cómo crear un servidor CCcam en Windows (Guía 2024)

Cómo crear un servidor CCcam en Windows (Guía 2024)

Configurar un servidor CCcam en Windows es totalmente posible, pero requiere algunos pasos adicionales que la mayoría de las guías simplemente omiten. A diferencia de los receptores basados en Linux, donde CCcam se ejecuta de forma nativa, Windows necesita una capa de compatibilidad para ejecutar el binario CCcam. Esta guía le guía a través de cada paso, desde la instalación de esa capa hasta la configuración de las credenciales del cliente, el reenvío de puertos y la corrección de los errores que suelen surgir a la mayoría de las personas en su primer intento.

Aviso legal: esta guía está destinada a usuarios que poseen legalmente una tarjeta inteligente de suscripción y desean compartir el acceso al descifrado dentro de su propio hogar. Compartir las credenciales de su tarjeta con desconocidos, vender líneas C o acceder a redes comerciales de intercambio de tarjetas constituye una violación de los términos de servicio de las emisoras y es ilegal en muchas jurisdicciones. Solo proceda si es propietario y está autorizado a utilizar la tarjeta en cuestión.

¿Qué es un servidor CCcam y cómo funciona en Windows?

Explicación sencilla del protocolo CCcam

CCcam es un protocolo para compartir tarjetas. Cuando su receptor de satélite intercepta una emisión cifrada, necesita una clave de descifrado, una palabra de control (CW), para decodificar la señal. Normalmente, esa CW proviene directamente de su tarjeta inteligente física que se encuentra en la ranura de su receptor. CCcam traslada ese proceso a una red: un servidor central almacena la tarjeta física, genera la CW y la distribuye a los clientes autorizados en tiempo real.

Todo el intercambio se produce en milisegundos. Un cliente envía un mensaje de control de derechos (ECM) al servidor, el servidor lo pasa a la tarjeta física, obtiene la CW y la devuelve al cliente. Desde la perspectiva del espectador, el canal se reproduce con normalidad.

Arquitectura cliente-servidor en CCcam

En una configuración CCcam, las funciones están claramente definidas. El servidor es la máquina con la tarjeta inteligente física conectada a través de un lector de tarjetas. Ejecuta el software CCcam y escucha las conexiones entrantes. Cada cliente es un receptor o dispositivo que se conecta al servidor utilizando credenciales (una línea C) y solicita claves de descifrado bajo demanda.

En teoría, un servidor puede dar servicio a varios clientes, pero su tarjeta física y su suscripción limitarán el número de transmisiones simultáneas posibles; encontrará más información al respecto en las preguntas frecuentes que figuran a continuación.

¿Por qué ejecutar el servidor en un PC con Windows en lugar de en un router o un receptor?

La mayoría de los usuarios avanzados ejecutan CCcam directamente en un receptor de satélite (como Dreambox o VU+) o en un equipo Linux dedicado. Pero hay razones legítimas para utilizar un PC con Windows: es posible que ya tenga uno funcionando las 24 horas del día como servidor doméstico o que simplemente no disponga de un dispositivo Linux. Los PC con Windows también suelen tener una mejor compatibilidad USB con los lectores de tarjetas, más RAM y un acceso remoto más fácil para la gestión.

Sin embargo, la contrapartida es real. CCcam no tiene un binario nativo para Windows. Debe ejecutarlo a través de Cygwin, un entorno de emulación de Linux para Windows. Esto añade complejidad, pero es manejable con la configuración adecuada.

Requisitos previos antes de configurar su servidor CCcam

Requisitos de hardware: especificaciones del PC y lector de tarjetas inteligentes

El PC en sí no tiene por qué ser potente. CCcam es extremadamente ligero: incluso una máquina de 10 años con 2 GB de RAM y una CPU de doble núcleo lo manejará sin problemas. Lo que más importa es el tiempo de actividad: el servidor debe estar encendido siempre que cualquier cliente quiera ver la televisión, por lo que lo ideal es una máquina que ya esté funcionando de forma continua.

En cuanto al lector de tarjetas inteligentes, la opción más fiable es un Smargo SmartReader (o Smargo+ para tarjetas Phoenix). Estos utilizan una interfaz USB estándar y tienen compatibilidad constante con los controladores de Windows. Los lectores de tarjetas USB genéricos más baratos a veces funcionan, pero causan más problemas de lo que valen. El lector de tarjetas debe ser compatible con el protocolo utilizado por su tarjeta de suscripción específica; los lectores PC/SC funcionan con la mayoría de las tarjetas modernas.

Si utiliza un dispositivo Windows 11 ARM (como un Surface Pro X o un portátil ARM más reciente), tenga en cuenta que la compatibilidad con Cygwin es limitada en la arquitectura ARM. En ese caso, OScam, que se trata en la sección 6, es una opción mucho mejor.

Software que deberá descargar

  • Cygwin: una capa de compatibilidad con Linux para Windows. Descárguelo de cygwin.com (solo del sitio web oficial).
  • Binario CCcam para Linux: el binario CCcam estándar se ejecuta dentro de Cygwin. Obtenga la fuente de foros de satélite de confianza; verifique los hash de los archivos antes de ejecutarlos.
  • Controlador USB Smargo: necesario si utiliza un lector de tarjetas Smargo. Disponible en la página oficial del fabricante.
  • Un editor de texto: se recomienda Notepad++ para editar archivos de configuración, ya que el Bloc de notas de Windows puede introducir problemas de fin de línea que rompen el analizador de configuración de CCcam.

Advertencia importante: las herramientas antivirus, incluido Windows Defender, suelen marcar los binarios CCcam como amenazas. Se trata de un falso positivo causado por la asociación del software con casos de uso pirata, no porque el binario en sí sea malware. Deberá incluir su directorio CCcam en la lista blanca antes de que el binario se ejecute. Los pasos para hacerlo se describen en la sección de resolución de problemas.

Requisitos de red: IP estática y reenvío de puertos

Para los clientes que se encuentran en la misma red doméstica (LAN), técnicamente solo es necesario conocer la dirección IP local de su PC con Windows (por ejemplo, 192.168.1.50). El reenvío de puertos no es necesario para las configuraciones que solo utilizan LAN.

Para los clientes que se conectan a través de Internet (WAN), se necesitan dos cosas: un puerto reenviado en el router (el puerto CCcam predeterminado es 12000) y una IP pública estática o un servicio DNS dinámico como No-IP o DuckDNS para mantener el nombre de host constante. Asigne a su PC con Windows una IP local estática a través de la reserva DHCP de su router; esto evita que la dirección local del PC cambie después de reiniciar el router.

Un caso extremo importante: si su ISP utiliza NAT de grado carrier (CGNAT), no tendrá ninguna dirección IP enrutable públicamente y el reenvío de puertos estándar no funcionará. La solución es establecer un túnel VPN (WireGuard es eficiente y funciona bien) a través de un VPS que tenga una IP pública. Se trata de un escenario avanzado, pero vale la pena conocerlo de antemano.

Consideraciones legales: comparte solo las tarjetas que te pertenecen

Antes de continuar: confirme que es el propietario legal de la tarjeta de suscripción. Compartir el acceso dentro de su hogar, por ejemplo, permitir que un segundo receptor en su sala de estar utilice la misma tarjeta que el receptor de su dormitorio, es el caso de uso previsto aquí. Compartir credenciales con personas ajenas a su hogar, cobrar a otros por el acceso o conectarse a redes comerciales de intercambio queda fuera de los límites legales en la mayoría de los países y viola los términos de servicio de todas las principales emisoras sin excepción.

Paso a paso: instalación y configuración del servidor CCcam en Windows

Paso 1: Instalar Cygwin para ejecutar CCcam en Windows

Descargue el instalador de Cygwin desde el sitio web oficial de Cygwin. Durante la instalación, seleccione un servidor de descarga y, cuando se le pida que elija los paquetes, asegúrese de incluir los siguientes: bash, coreutils, libpcsc-lite, y cygrunsrv (el último es necesario si desea ejecutar CCcam como un servicio de Windows más adelante).

Instale Cygwin en la ruta predeterminada: C:\cygwin64\ para sistemas de 64 bits. Su directorio de inicio de estilo Linux dentro de Cygwin se asignará a C:\cygwin64\home\YourUsername\. Recuerde esta ruta, ya que es donde se almacenarán sus archivos CCcam.

Paso 2: Descargar y colocar el binario CCcam en el directorio Cygwin

Coloque el binario CCcam dentro de su directorio de inicio de Cygwin:

C:\cygwin64\home\YourUsername\CCcam\

Cree esa carpeta manualmente. Dentro de ella, tendrá el ejecutable CCcam y todos los archivos de configuración relacionados. Abra el terminal de Cygwin y haga que el binario sea ejecutable:

chmod +x /home/YourUsername/CCcam/CCcam

Antes de hacer nada más, añada una exclusión en Windows Defender. Vaya a Seguridad de Windows → Protección contra virus y amenazas → Administrar configuración → Agregar o quitar exclusiones, y añada toda la C:\cygwin64\home\YourUsername\CCcam\ carpeta. Hazlo antes de extraer el binario, ya que, de lo contrario, Defender podría ponerlo en cuarentena inmediatamente tras la extracción.

Paso 3: Crear y editar el archivo de configuración CCcam.cfg

El archivo CCcam.cfg lo controla todo: qué puerto escuchar, qué clientes se permiten y cómo se configura el lector de tarjetas. Cree este archivo en su directorio CCcam utilizando Notepad++ y guárdelo con finales de línea al estilo Unix (solo LF, no CRLF).

Aquí tiene un ejemplo de configuración con comentarios:

# 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 línea le dice a CCcam dónde está su lector de tarjetas. Dentro de Cygwin, los dispositivos serie USB suelen asignarse a /dev/ttyS0, /dev/ttyS1, etc. Compruebe el número de puerto COM en el Administrador de dispositivos, reste 1 y asígnelo. Así, COM3 en Windows se convierte en /dev/ttyS2 en Cygwin. Los lectores Smargo que utilizan su controlador nativo suelen aparecer de forma diferente: compruébelo en el Administrador de dispositivos, en «Puertos (COM y LPT)».

Paso 4: Añadir cuentas de usuario para el acceso de clientes (líneas C y líneas F)

Aquí es donde se definen las credenciales de los clientes. Es importante comprender la diferencia:

  • Línea C: define un cliente al que se le permite conectarse a su servidor. Se crean en el lado del servidor y, a continuación, se proporciona la cadena de credenciales al dispositivo cliente para que la pegue en la configuración de su softcam.
  • Línea F: define un servidor ascendente al que su instancia CCcam se conecta como cliente. Para una configuración de servidor puro, normalmente no utilizará líneas F a menos que también esté conectado en cascada desde otra fuente.

Añada líneas C a su CCcam.cfg de esta manera:

# 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

El dispositivo cliente necesita una línea coincidente en su propia configuración; la línea C que recibe tiene este aspecto (con la IP real de su servidor):

C: 192.168.1.50 12000 client1 password123 1 1 1

Para los clientes en Internet, sustituya la IP local por su IP pública o el nombre de host DynDNS.

Configuraciones con varias tarjetas: si tiene varias tarjetas físicas conectadas, CCcam las gestiona automáticamente a través de varias líneas DEVICE. Puede restringir clientes específicos a tarjetas específicas utilizando el número de grupo al final de la línea C, haciendo que coincida con la asignación de grupo de una tarjeta en la configuración.

Paso 5: Inicie el servidor CCcam y compruebe que está funcionando

Abra el terminal Cygwin y navegue hasta su directorio CCcam:

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

El & lo ejecuta en segundo plano. Compruebe el archivo de registro inmediatamente:

tail -f CCcam.log

Busque las líneas que confirman que se ha encontrado la tarjeta y que el servidor ha comenzado a escuchar en el puerto 12000. Si ve errores del lector de tarjetas o fallos de enlace del puerto, la sección de resolución de problemas que aparece a continuación cubre cada uno de estos casos.

Ejecución como servicio de Windows: Si desea que CCcam se inicie automáticamente al arrancar el sistema, sin que nadie haya iniciado sesión, utilice cygrunsrv. En la terminal Cygwin:

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

A continuación, en Windows, abra Servicios (services.msc), busque el servicio CCcam y establezca su tipo de inicio en Automático. Esto garantiza que su servidor sobreviva a los reinicios sin intervención manual.

Paso 6: Configure el reenvío de puertos en su router (puerto 12000)

Inicie sesión en el panel de administración de su router (normalmente en 192.168.1.1 o 192.168.0.1). Busque la sección de reenvío de puertos, que puede aparecer como «Servidor virtual», «NAT» o «Reenvío de puertos», dependiendo de la marca de su router. Cree una regla que reenvíe el tráfico TCP del puerto externo 12000 a la IP local de su PC con Windows en el puerto interno 12000.

Si su proveedor de servicios de Internet bloquea los puertos no estándar (algunos lo hacen), puede cambiar el puerto de escucha de CCcam a algo como 443 u 8080 modificando la SERVER LISTEN PORT línea en CCcam.cfg y actualizando la regla de su router en consecuencia. Actualice las líneas C del cliente para que coincidan con el nuevo número de puerto.

Conexión de clientes CCcam a su servidor Windows

Añadir una línea C a un receptor de satélite

En receptores basados en Enigma2 (Dreambox, VU+, etc.), navegue hasta la configuración de softcam. Si utiliza CCcam como softcam en el receptor, localice el archivo CCcam.cfg archivo en /etc/CCcam.cfg en el receptor y añada la línea C que ha generado en el paso 4. El receptor se conectará a su servidor Windows y enrutará todas las solicitudes de descifrado a través de él.

Para los receptores que ejecutan OScam como cliente, deberá añadir una entrada de «servidor» en la configuración del lector OScam que apunte a su servidor CCcam de Windows; la sintaxis es diferente, pero las credenciales son las mismas.

Conexión de un cliente Softcam en otro PC o dispositivo

Cualquier dispositivo que ejecute un softcam compatible (CCcam, OScam, OSCAM-emu) puede conectarse como cliente. El formato C-line es universal. En un segundo PC con Windows, puede ejecutar OScam como una instancia solo para clientes que apunte a su servidor CCcam, lo que resulta útil para ver contenido satelital en una tarjeta sintonizadora de PC.

Probar la conexión con el panel de información de CCcam o Telnet

CCcam incluye una interfaz web integrada accesible en http://your-server-ip:16001. Abra esa dirección en cualquier navegador de su red local. Verá los clientes conectados, los detalles de las tarjetas activas y las estadísticas de descifrado. Si un cliente aparece como conectado pero los canales no se descifran, el uso compartido de tarjetas funciona, pero puede haber un problema de suscripción o de autorización de canales.

Para realizar una prueba rápida de conectividad, conecte por telnet al puerto 12000 desde un equipo cliente. Una conexión que se abre (incluso con salida distorsionada) confirma que se puede acceder al puerto y que CCcam está respondiendo.

Uso de DynDNS para el acceso remoto de clientes fuera de la red local

Es probable que su conexión a Internet doméstica tenga una IP pública dinámica que cambia periódicamente. Servicios como No-IP (noip.com) o DuckDNS (duckdns.org) proporcionan un nombre de host gratuito (por ejemplo, myhome.ddns.net) que se actualiza automáticamente para apuntar a su IP actual. Instale el cliente DNS dinámico en su PC con Windows y configúrelo con las credenciales de su cuenta. A continuación, distribuya su nombre de host DynDNS en líneas C en lugar de una dirección IP: los clientes siempre encontrarán su servidor, incluso cuando cambie su IP.

Recuerde: si su ISP utiliza CGNAT, este método no funcionará. Pruebe primero comprobando si la IP WAN de su router coincide con la que muestra un sitio como «whatismyip.com». Si difieren, significa que está detrás de CGNAT y necesita una solución de túnel VPN.

Solución de problemas comunes del servidor CCcam en Windows

CCcam no se inicia: errores de DLL o Cygwin

El error de inicio más común es la falta de un archivo DLL de Cygwin. CCcam, que se ejecuta en Cygwin, depende de que haya determinadas bibliotecas de tiempo de ejecución en la instalación de Cygwin. Si ve un error como error while loading shared libraries: cygwin1.dll, la solución es sencilla: abra de nuevo el instalador de Cygwin y ejecútelo en modo «Actualizar» para asegurarse de que todos los paquetes básicos están correctamente instalados. Confirme también que está ejecutando el binario CCcam de 32 bits con Cygwin de 32 bits, o el binario de 64 bits con Cygwin de 64 bits; mezclar arquitecturas provoca fallos inmediatos.

Compruebe el Visor de eventos de Windows (eventvwr.msc) en Registros de Windows → Aplicación para obtener detalles adicionales sobre el error que el registro de CCcam podría no capturar.

No se encuentra la tarjeta o no se detecta el lector

Si los registros de CCcam muestran «no se ha encontrado ninguna tarjeta» o el lector de tarjetas no aparece en el panel de información de CCcam, siga esta lista de comprobación: En primer lugar, abra el Administrador de dispositivos y confirme que el lector de tarjetas aparece sin un icono de advertencia amarillo. Si hay un error de controlador, vuelva a instalar el controlador Smargo. En segundo lugar, compruebe la asignación del puerto COM; recuerde la diferencia en la ruta del dispositivo Cygwin del paso 3. En tercer lugar, pruebe con otro puerto USB, ya que algunos controladores USB tienen problemas de suministro de energía. Por último, confirme que la tarjeta funciona probándola en una ranura de receptor físico, si es posible. Algunas tarjetas de suscripción tienen bloqueo de IP o bloqueo de dispositivo que impide físicamente que funcionen en cualquier lector que no sea el receptor original; si este es el caso, no será posible compartir la tarjeta independientemente de la configuración del software.

Las tarjetas inteligentes basadas en software (tarjetas virtuales sin lector físico) no suelen ser compatibles con CCcam. El protocolo asume que hay una tarjeta física presente.

Los clientes no pueden conectarse: problemas con el cortafuegos y los puertos

El cortafuegos de Windows es casi siempre el culpable cuando los clientes no pueden conectarse a un servidor CCcam que está realmente en funcionamiento. Abra el Cortafuegos de Windows con seguridad avanzada (búsquelo en el menú Inicio), vaya a Reglas de entrada y cree una nueva regla que permita el tráfico TCP en el puerto 12000. Asegúrese de que la regla se aplica a los tres perfiles de red (dominio, privado, público) o, como mínimo, al privado si solo utiliza LAN.

Si los clientes se conectan a la LAN pero no a Internet, es casi seguro que el problema sea el reenvío de puertos. Compruebe la regla del router y confirme que la IP reenviada coincide con la IP local actual de su PC. Utilice una herramienta como portchecker.co para verificar que el puerto 12000 es visible desde el exterior.

Compruebe también si hay una VPN en funcionamiento en su PC servidor. Muchos clientes VPN redirigen todo el tráfico a través del túnel VPN, lo que significa que los clientes locales que intentan acceder a su dirección IP LAN ven su tráfico desviado. Desconecte la VPN o configure el túnel dividido para excluir el tráfico CCcam.

Canales congelados o entrecortados en el lado del cliente

La congelación suele significar que las solicitudes ECM tardan demasiado en llegar: la clave de descifrado no llega al cliente antes de que expire la anterior. Las causas más comunes son: latencia de la red (especialmente en Wi-Fi), la tarjeta se ve desbordada por demasiadas solicitudes simultáneas de los clientes o el KEEPALIVE TIMEOUT esté configurado de forma demasiado agresiva. Empiece por reducir el número de clientes activos. Si solo hay un cliente conectado y sigue congelándose, el problema puede estar en el lado del receptor o en la propia tarjeta, que responde lentamente a las solicitudes ECM.

Errores de sintaxis en CCcam.cfg y cómo validarlos

CCcam es muy estricto con la sintaxis de los archivos de configuración. Utilice siempre Notepad++ y establezca explícitamente los finales de línea en Unix (LF) en Editar → Conversión EOL → Unix. Los espacios al final de los valores, los finales de línea al estilo Windows y los caracteres BOM (marca de orden de bytes) son invisibles, pero provocan errores de análisis. Si CCcam se inicia pero su tarjeta no se comparte o los clientes no pueden autenticarse, lo primero que debe comprobar es la sintaxis del archivo de configuración. El archivo de registro suele indicar «error de configuración» o simplemente deja de leer el archivo a mitad sin dar ninguna explicación.

OScam como mejor alternativa a CCcam en Windows

Por qué OScam es más estable en Windows que CCcam

OScam tiene una versión nativa para Windows, sin necesidad de Cygwin. Se descarga un archivo .exe compilado, se crea un directorio de configuración y se ejecuta directamente. Esto elimina toda la categoría de errores DLL, incompatibilidades de arquitectura y problemas de configuración de Cygwin que provocan que tantos intentos de CCcam en Windows fracasen.

OScam también se mantiene activamente, mientras que el desarrollo de CCcam ha estado prácticamente inactivo durante años. La interfaz web de OScam (normalmente en el puerto 8888) es más informativa, ya que muestra la sincronización ECM detallada, las estadísticas del lector y las conexiones de los clientes en tiempo real. Para las nuevas configuraciones en 2024, OScam es la opción más práctica: utilice CCcam solo si tiene requisitos de compatibilidad específicos con dispositivos cliente más antiguos.

Instalación de OScam en Windows: descripción general rápida

Descargue la versión oficial de OScam para Windows desde el repositorio oficial de compilaciones SVN de OScam. Extráigala a una carpeta como C:\OScam\. OScam utiliza tres archivos de configuración principales: oscam.conf (configuración global), oscam.server (definiciones de lector/tarjeta) y oscam.user (credenciales de cliente). Ejecute oscam.exe desde el símbolo del sistema para iniciar. Al igual que CCcam, puede instalarlo como un servicio de Windows utilizando NSSM (Non-Sucking Service Manager), una utilidad gratuita diseñada precisamente para este fin.

Conversión de la configuración de CCcam al formato OScam

La lógica de las credenciales se traduce directamente. Las líneas C de CCcam se convierten en entradas de usuario en el archivo oscam.user . El nombre de usuario y la contraseña de cada línea C se asignan a una cuenta de usuario de OScam con cccam protocolo habilitado. La definición de su lector de tarjetas en CCcam.cfg se convierte en un bloque de lector en oscam.server con la misma referencia de puerto COM. OScam incluso tiene un modo proxy CCcam integrado que permite a los clientes CCcam conectarse directamente, lo que hace que la transición sea transparente para los dispositivos cliente.

¿Puedo ejecutar un servidor CCcam en Windows 10 o Windows 11?

Sí, CCcam se ejecuta tanto en Windows 10 como en Windows 11 a través de Cygwin. No existe una versión nativa de Windows para CCcam, por lo que Cygwin es obligatorio para crear el entorno Linux que necesita. Funcionan tanto las versiones de Cygwin de 32 bits como las de 64 bits, pero debe hacer coincidir la arquitectura con su binario CCcam: un binario de 32 bits requiere Cygwin de 32 bits. En dispositivos basados en ARM con Windows 11 (Surface Pro X, portátiles ARM más recientes), la compatibilidad con Cygwin es limitada y poco fiable. OScam, con su versión nativa para Windows, es la alternativa más recomendada para el hardware ARM.