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
| Comando | Descripción |
|---|---|
| webrtc | Diagnóstico completo: DNS, TCP, TLS, upgrade WebSocket (sip) y STUN. |
| http | Prueba los endpoints HTTP/WS de soporte de CCC. |
| stun | Solo la prueba de UDP saliente (STUN). |
| all | Ejecuta webrtc + http. |
Opciones
| Opción | Default | Descripción |
|---|---|---|
| -server | https://<host-de-status> | Servidor de status del que se leen los endpoints del cluster. Vacío usa la lista compilada. |
| -out | — | Guarda el reporte en un archivo para adjuntarlo al ticket. |
| -host | del catálogo | Nodo de señalización WebRTC. Si se omite, se toma del catálogo del servidor. |
| -port | 5068 | Puerto de señalización. |
| -stun | stun:stun.l.google.com:19302 | Servidor STUN/TURN para la prueba de UDP. |
| -insecure | false | No verificar el certificado TLS. |
| -timeout | 12 | Timeout por chequeo, en segundos. |
| -no-color | false | Salida sin color. |
4 · Cómo leer el resultado
| Resultado | Significado |
|---|---|
| WS OK + STUN OK | Todo bien; WebRTC debería conectar. |
| TCP falla (timeout) + STUN OK | Señalización TCP bloqueada (firewall hace DROP al puerto); el UDP sí sale. |
| TCP OK pero TLS no valida | Interceptació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 completa | Un proxy intermedio no permite el upgrade WebSocket. |
| WS OK pero STUN falla | UDP saliente bloqueado: WebRTC no tendrá media (usar TURN sobre TCP/443). |
| TCP y STUN fallan | Bloqueo 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.