ccc-netcheck · diagnóstico por terminal

Herramienta de línea de comandos para Windows, Linux y macOS que diagnostica con precisión por qué falla WebRTC detrás de un firewall. A diferencia del navegador —que oculta el error y solo reporta 1006— este binario obtiene el error real de red, el detalle del certificado TLS y prueba el UDP saliente con STUN.

1 · Descarga

¿No sabes cuál? Windows → windows-amd64.exe. Mac con chip M1/M2/M3 → darwin-arm64. Mac Intel → darwin-amd64.

2 · Cómo se usa

Linux / macOS

# 1. Descarga (ajusta el archivo a tu plataforma)
curl -LO https://<host-de-status>/downloads/ccc-netcheck-linux-amd64

# 2. Da permiso de ejecución
chmod +x ccc-netcheck-linux-amd64

# 3. Diagnóstico completo y reporte para soporte
./ccc-netcheck-linux-amd64 all -server https://<host-de-status> -out reporte.txt

En macOS, si Gatekeeper lo bloquea: xattr -d com.apple.quarantine ./ccc-netcheck-darwin-arm64

Windows

# Lo más simple: doble clic en el .exe. Corre el diagnóstico completo
# y guarda ccc-netcheck-report.txt junto al ejecutable.

# O desde PowerShell / CMD, en la carpeta de descargas:
.\ccc-netcheck-windows-amd64.exe all -server https://<host-de-status> -out reporte.txt

Al ser un binario sin firmar, Windows puede mostrar "Windows protegió su PC": abrir con Más información → Ejecutar de todas formas. La salida va sin color a propósito, porque el cmd.exe clásico no interpreta las secuencias ANSI.

3 · Comandos y opciones

Comandos

ComandoDescripción
webrtcDiagnóstico completo: DNS, TCP, TLS, upgrade WebSocket (sip) y STUN.
httpPrueba los endpoints HTTP/WS de soporte de CCC.
stunSolo la prueba de UDP saliente (STUN).
allEjecuta webrtc + http.

Opciones

OpciónDefaultDescripción
-serverhttps://<host-de-status>Servidor de status del que se leen los endpoints del cluster. Vacío usa la lista compilada.
-outGuarda el reporte en un archivo para adjuntarlo al ticket.
-hostdel catálogoNodo de señalización WebRTC. Si se omite, se toma del catálogo del servidor.
-port5068Puerto de señalización.
-stunstun:stun.l.google.com:19302Servidor STUN/TURN para la prueba de UDP.
-insecurefalseNo verificar el certificado TLS.
-timeout12Timeout por chequeo, en segundos.
-no-colorfalseSalida sin color.

4 · Cómo leer el resultado

ResultadoSignificado
WS OK + STUN OKTodo bien; WebRTC debería conectar.
TCP falla (timeout) + STUN OKSeñalización TCP bloqueada (firewall hace DROP al puerto); el UDP sí sale.
TCP OK pero TLS no validaInterceptación TLS: el firewall (o un antivirus con inspección HTTPS) entrega su propio certificado. La línea WARN indica el emisor y, si se reconoce, el producto.
TCP OK pero WS no completaUn proxy intermedio no permite el upgrade WebSocket.
WS OK pero STUN fallaUDP saliente bloqueado: WebRTC no tendrá media (usar TURN sobre TCP/443).
TCP y STUN fallanBloqueo de red amplio o sin ruta.

Para una validación fiel a producción, usa el TURN de CCC en -stun (con sus credenciales) en lugar del STUN público.