---
title: "Referencia de la CLI | Documentación de Kilobat"
url: "https://kilobat.app/es/docs/cli"
description: "Todos los comandos de kilobat, la salida JSON y los scripts."
---

# Referencia de la CLI

Todos los comandos de kilobat, la salida JSON y los scripts.

## Comandos

### Supervisar

|  |  |
|---|---|
| `kilobat status [--watch] [--json]` | Tráfico por app en directo y límite de datos de la sesión; una instantánea JSON, o un flujo JSON Lines con --watch |
| `kilobat report [--csv\|--json] [--summary] [--days 1…365]` | Historial de uso registrado en local, o totales diarios y apps principales; el CSV tiene una fila por app |
| `kilobat report compare --total 40GB [--unit GB\|GiB] [--direction both\|download\|upload] (--from DATE --to DATE \| --period last-month) [--network NAME] [--json\|--csv]` | La cifra de un router o proveedor junto a lo que Kilobat registró en este Mac para el mismo periodo, en la misma unidad, con las horas registradas, cada hueco y los motivos probables de la diferencia |
| `kilobat health-history [--hours 1…720] [--json]` | Comprobaciones de router, internet, jitter y DNS que la app registró a lo largo del tiempo |
| `kilobat proxy [routes [--app name] \| test] [--json]` | Apps de proxy, el proxy del sistema y sus problemas; qué regla y qué nodo usó cada app; lo rápido que responde cada nodo |
| `kilobat vpn [--json]` | La VPN, si DNS o IPv6 se la saltan, y el estado del interruptor de emergencia de la VPN |
| `kilobat vpn leaks [--json]` | Prueba de fugas: si DNS, IPv6 o UDP (lo que usa WebRTC) se saltan la VPN, cada uno con el ajuste que lo corrige; consulta a bash.ws, Cloudflare y un servidor STUN |
| `kilobat calls [--limit 1…200] [--json]` | Después de cada llamada: cuántas veces se congeló y por qué, a partir de los informes que escribe la app |
| `kilobat remote [--limit 1…200] [--kind ssh\|mosh\|desktop] [--json]` | Después de cada sesión de SSH, Mosh o escritorio remoto: por qué hubo retraso al escribir o se congeló la pantalla, y cuándo ayudaría Mosh |
| `kilobat stream [status\|check\|reports] [--json]` | OBS mediante su WebSocket local: si está transmitiendo y pierde fotogramas, una comprobación previa de tu subida frente a su tasa de bits más un 30 % (check [--bitrate <kbps>] [--measure\|--no-measure]) y los informes de cada transmisión (reports [--limit 1…200]) |
| `kilobat cloud-gaming [status\|reports] [--limit 1…200] [--json]` | GeForce NOW, Xbox Cloud Gaming, Boosteroid, Amazon Luna y Shadow: la sesión actual (ping, jitter, pérdida, tasa de bits, datos y lo que interfiere) y el informe posterior, con los cortes y sus causas |
| `kilobat overlay [--port 7171] [--target internet\|router\|cs2:fra\|host]` | Un overlay de ping en directo para OBS y otras apps de streaming, servido en localhost hasta Ctrl-C; una región de juego como cs2:fra hace ping a ese centro de datos |
| `kilobat support-report [--hours 1…168] [--host h] [--include-sites] [--markdown\|--html] [--output f]` | Un informe para tu proveedor o tu soporte informático: hallazgos, latencia, cortes y pruebas de velocidad, sin el nombre de tu red ni las direcciones locales |
| `kilobat plan [--days 7…90] [--json]` | Pruebas de velocidad frente al plan que pagas en cada red: la mediana, las noches junto al resto del día y con qué frecuencia una prueba quedó por debajo de la mitad |
| `kilobat credit [--provider id] [--price n] [--month this\|last\|YYYY-MM] [--draft] [--json]` | Los cortes del mes más allá de tu router frente a la norma de compensación publicada por tu proveedor, a qué podrían dar derecho y una reclamación redactada; <code>credit providers</code> enumera las normas |
| `kilobat week [--weeks-ago 0…12] [--json]` | El resumen semanal: los cortes, las llamadas congeladas, el router, los bloqueos y los datos en redes con límite más destacados de la semana pasada, comparados con la semana anterior |
| `kilobat router [--all] [--json]` | Revisión del router: sus respuestas, pérdidas y cortes habituales frente a los de los últimos tres días, los reinicios y si sirvieron, a partir de las comprobaciones que guarda la app |
| `kilobat router connect [fritzbox\|unifi\|mikrotik\|openwrt] [--json]` | Pasos para configurar la conexión Pro de la app al router; nunca recibe credenciales en la línea de comandos |
| `kilobat router devices [--json]` | Clientes del router conectado, velocidades medidas y totales de hoy mediante la app; los contadores de toda la casa de FRITZ!Box y otros no indican la parte de un solo dispositivo; los contadores de clientes pueden incluir tráfico LAN |
| `kilobat router disconnect [--json]` | Olvida el router de esta red; la app elimina su credencial del Llavero o lo hace en el próximo inicio |
| `kilobat service-speed [--all] [--test <service>] [--list] [--json]` | Tus descargas de GitHub, iCloud, Steam, npm y otros servicios comparadas con la línea, y cuándo la ruta de tu proveedor a uno de ellos es lenta; <code>--test</code> descarga ahora hasta 25 MB de uno |
| `kilobat hotspot [--all] [--carrier <id>] [--detect] [--json]` | En una zona Wi-Fi de teléfono: si todas las descargas se detienen en un límite de conexión compartida del operador, las mediciones y las reglas publicadas por el operador; <code>hotspot carriers</code> las enumera |
| `kilobat networks [forget <name>]` | Redes vistas, con el perfil, el límite de datos y el coste de datos recordados para cada una |
| `kilobat networks cost <metered\|unmetered\|automatic> [name]` | Trata esta red, o una con nombre, como con límite o sin límite, o vuelve a seguir a macOS |
| `kilobat bandwidth [app] [hour\|day\|week\|month] [--back N] [--json]` | Bytes enviados y recibidos por una app durante una hora, día, semana o mes, con el pico; --back retrocede a periodos anteriores |
| `kilobat access-policy <bundle-id> [--json]` | Las conexiones que declara el desarrollador de una app en su Internet Access Policy, y por qué |

### Diagnosticar

|  |  |
|---|---|
| `kilobat diagnose [--json]` | Comprobaciones de Wi-Fi, router, internet, DNS y portal cautivo, con consejos |
| `kilobat radar [--watch] [--json]` | Puntuación de señal y buscador del mejor sitio |
| `kilobat scan [--json]` | Redes cercanas, canales, anchos y seguridad |
| `kilobat channels [--json]` | Saturación por canal y el canal menos saturado |
| `kilobat speedtest [--json] [--budget-mb 1…80] [--parallel]` | Velocidad con Cloudflare, latencia con carga y veredictos para llamadas y streaming, 80 MB como máximo. Una conexión de forma predeterminada; --parallel abre cuatro, como hacen la mayoría de webs de pruebas de velocidad |
| `kilobat speed-compare [<test> <test>] [--json]` | Qué cambió entre dos pruebas de velocidad guardadas: red, hora, servidor, conexiones, banda y señal Wi-Fi, VPN, otro tráfico |
| `kilobat ip [--public] [--json]` | Por dónde sale el tráfico: la interfaz y cualquier VPN, leídas en este Mac; --public además pide a Cloudflare tu IP pública y el país en el que está registrada |
| `kilobat portal [open] [--json]` | Páginas de inicio de sesión del Wi-Fi: una comprobación al momento (abierta, página de inicio de sesión o sin conexión, con la dirección de la página y los valores de la consulta ocultos), si esta red pide iniciar sesión, te ha cerrado la sesión o cuánto queda, y la duración habitual de la sesión en cada red; open abre la página en tu navegador |
| `kilobat stutter [--seconds 10…60] [--target router\|internet\|<host>] [--json]` | Hace ping cada 50 ms para encontrar los picos breves de latencia que las pruebas de velocidad no ven, cuándo ocurren y si se repiten |
| `kilobat starlink [--hours 1…720] [--json]` | Una antena Starlink en esta red, leída localmente: estado, ping a la estación terrestre, avisos, el mapa del cielo y hacia dónde está tapada, y cortes divididos entre tu instalación, la red de Starlink y los reinicios de la antena |
| `kilobat games [--game <game> \| --all \| --match] [--json]` | Lista los juegos a los que Kilobat hace ping y a los que no puede, con el motivo; con --game, hace cinco pings a cada centro de datos de ese juego (relés de Valve, servidores de ping de Epic o las regiones de AWS y Azure donde se aloja) y nombra el más cercano; con --match, encuentra el servidor de la partida que estás jugando y le hace ping, en cualquier juego, listo para el overlay para streaming |
| `kilobat airdrop [status\|everyone\|contacts\|off] [--json]` | Visibilidad de AirDrop, el enlace de AirDrop (AWDL) y qué lo usa; cambiar la visibilidad abre Ajustes del Sistema |
| `kilobat bluetooth [--json]` | Dispositivos Bluetooth y si comparten los 2.4 GHz con tu Wi-Fi |
| `kilobat bluetooth audio [--json]` | Mientras suenan unos AirPods u otros auriculares Bluetooth: qué puede provocar chasquidos (2.4 GHz, AirDrop, una descarga grande, una señal débil) y qué cambiar, por orden |
| `kilobat local [check] [--quick] [--json]` | ¿Puedo transmitir o imprimir aquí? Los Chromecast, receptores AirPlay e impresoras que responden; si la red puede aislar dispositivos (nunca se confirma solo con la detección); la red Wi-Fi propia de una impresora o cámara; y qué causa cortes al transmitir |
| `kilobat dns [automatic\|cloudflare\|google\|quad9\|flush]` | Consulta o cambia el DNS, o vacía la caché |
| `kilobat dns fastest [--all] [--json]` | El DNS más rápido en esta red, según las pruebas discretas de la app con Cloudflare, Quad9 y Google, quién opera cada uno y dónde, y sus consultas respondidas durante 14 días |
| `kilobat dns auto on\|off [--network <name>]` | Pro: cambiar al DNS más rápido al conectarte, en todas las redes o en una |
| `kilobat dns exclude\|include <resolver>` | No medir ni elegir nunca un resolutor, o añadir uno propio por su dirección IP |
| `kilobat dns fallback <resolver>\|off` | El resolvedor al que cambiar cuando falla el más rápido, antes del propio de la red |

### Wi-Fi

|  |  |
|---|---|
| `kilobat wifi [status]` | Red actual, señal, canal y ancho, velocidad del enlace, estándar Wi-Fi, seguridad y potencia de transmisión |
| `kilobat wifi on\|off\|restart\|disconnect` | Controla el encendido del Wi-Fi y la conexión |
| `kilobat wifi join <name> [--password-stdin]` | Se conecta a una red guardada o a una nueva |
| `kilobat wifi known` | Redes guardadas por orden de preferencia |
| `kilobat wifi password\|share <name>` | Muestra una contraseña guardada, o un código QR para escanear con un teléfono |
| `kilobat wifi nodes [name <node> <name>] [--json]` | Nodos mesh o puntos de acceso de esta red, el nodo al que está conectado el Mac y si hay otro mucho más cercano al alcance; ponle nombre, por ejemplo Oficina |
| `kilobat wifi reconnect [--json]` | Cambiar al nodo más cercano e indicar dónde quedó el Mac |
| `kilobat low-latency on [--for 15m\|1h\|2h] [--until-quit <app>]` | Pausa AirDrop y AWDL durante llamadas y partidas: 15 minutos de forma predeterminada, hasta 4 horas, o hasta que se cierre una app |
| `kilobat low-latency off` | Restaura AirDrop y AWDL, también si la pausa se inició en la app |

### Activo y agentes

|  |  |
|---|---|
| `kilobat awake [--display]` | Mantiene el Mac activo hasta pulsar Ctrl-C; al cerrar la tapa entra en reposo igualmente, salvo que añadas --lid-closed |
| `kilobat awake --lid-closed [--for 2h\|--until-quiet\|-- <command>]` | Sigue funcionando también con la tapa cerrada, 8 horas como máximo, mediante el asistente de energía de la app; requiere «Permitir funcionar con la tapa cerrada» en Ajustes |
| `kilobat awake --for 90m\|2h\|45s` | Mantiene el Mac activo durante un rato |
| `kilobat awake --until-quiet [--app <id>] [--quiet 1…60]` | Mantiene el Mac activo hasta que las descargas o una app se queden en silencio, por debajo de 16 KB/s durante 3 minutos de forma predeterminada |
| `kilobat awake -- <command> [args]` | Mantiene el Mac activo mientras se ejecuta un comando; luego informa de los datos que movieron sus procesos y sale con su código de estado |
| `kilobat awake --while-frontmost <app> [--display] [--for 2h]` | Mantiene el Mac activo solo mientras esa app esté en primer plano, para leer o presentar. Al cambiar a otra, el Mac puede entrar en reposo; termina cuando la app se cierra, con un 20 % de batería o tras --for. --display también mantiene la pantalla encendida |
| `kilobat settings awake-on-power on\|off` | La app se mantiene activa siempre que el adaptador de corriente esté conectado y deja que el Mac entre en reposo de nuevo cuando lo desconectas |
| `kilobat settings keep-screen-on on\|off` | Mantiene también la pantalla encendida para todo lo que la app mantiene activo: temporizadores, descargas, agentes, la app en primer plano y el adaptador conectado |
| `kilobat sessions [--days N] [--json]` | Sesiones activas y ejecuciones de agentes de IA que registró la app, con los datos usados y los cambios de red |
| `kilobat agent-log [--all] [--since 2h\|3d\|date] [--agent claude] [--flagged] [--json]` | Cada host con el que contactaron un agente de IA y los comandos que inició, con bytes y marcas: la última sesión, o la del propio agente si lo ejecuta él. Lo registra la app con Pro |
| `kilobat history forget <host> [--subdomains] [--json]` | Elimina un host de los intentos bloqueados, el registro de red de agentes, los destinos de ejecuciones de agentes y la memoria de notificaciones de Protección |
| `kilobat history clear --hour\|--today\|--all [--json]` | Borra esos historiales de hosts de la última hora, desde medianoche o por completo; la actividad futura puede volver a registrarse |
| `kilobat agent-log --watch [--agent claude] [--flagged] [--json]` | Registra lo mismo en directo en este terminal, sin la app; no se guarda nada |
| `kilobat protect [status\|on\|off\|update] [--threats\|--trackers\|--agents] [--json]` | Protección: bloquea hosts conocidos de malware, phishing y estafas (Pro), rastreadores en apps (gratis, desactivado por omisión) y el guardián de agentes (Pro); update descarga las listas ahora |
| `kilobat protect check <host> [--json]` | Si un host está en una lista de amenazas o de rastreadores, en cuál, y si Kilobat lo bloquea; sale con 1 si lo bloquea |
| `kilobat protect allow\|unallow <host>` | Deja pasar un sitio y sus subdominios por todas las listas de Protección, o lo deshace |
| `kilobat agent-event <start\|working\|waiting\|done\|failed> [--agent name] [--stdin-json\|--json-arg]` | Para los hooks de un agente: avisa a la app de que una ejecución empezó, te está esperando o terminó. Silencioso, siempre sale con 0 |
| `kilobat why <url\|host> [--app <id>] [--proxy <url>] [--context container\|vm\|remote\|provider] [--failed-at <time>] [--error <text>] [--json]` | Encuentra la capa que impide una conexión: red e interfaz, proxy y proxy propio de la app, DNS, reglas de Kilobat, IPv4 e IPv6, TLS, el servidor y cada redirección, y si esta red bloquea la conexión o el servicio rechaza tu región. Solicita la URL exacta; la salida oculta los valores de consulta. También kilobat doctor <url\|host> |
| `kilobat down [service\|host…] [--all] [--list] [--json]` | ¿Es el servicio o soy yo? Lo que informan ahora las páginas públicas de estado de Slack, Zoom, GitHub, Claude, OpenAI y unos setenta servicios más, y si cada uno se conecta desde aquí: bloqueado en esta red o no disponible en tu región; sin indicar un servicio, comprueba los de las apps activas en este Mac |
| `kilobat explain <process\|host…> [--process name --host name] [--json]` | Qué es un proceso o host de macOS, cuánto tráfico es normal, si es seguro bloquearlo y qué deja de funcionar, según la base de datos de Kilobat en este Mac. Los datos que tiene Kilobat sobre los que no conoce |
| `kilobat conditions [--json]` | Con límite, Modo de datos reducidos, VPN, latencia, batería y temperatura, si se puede cerrar la tapa, con consejos para ejecuciones largas |

### Controlar

|  |  |
|---|---|
| `kilobat profile [travel\|work\|unrestricted]` | Lista o selecciona un perfil |
| `kilobat allow\|block <bundle-id> [--minutes 1…1440] [--profile name]` | Guarda una regla de app, opcionalmente temporal o para otro perfil |
| `kilobat reset <bundle-id> [--profile name]` | Quita la regla de una app para que siga la opción predeterminada |
| `kilobat rules [--profile name] [--json]` | Las reglas de un perfil |
| `kilobat limit [GB] [--cycle session\|daily\|weekly\|monthly] [--reset-day N] [--alert 50,80,100]` | Consulta o fija el límite de datos de esta red, cuándo se reinicia y cuándo avisa |
| `kilobat quota <bundle-id> <GB> [--upload] [--all-networks]` | Limita los datos de una app por ciclo; quota <bundle-id> --remove la quita |
| `kilobat quota --list [--json]` | Cuotas de apps con lo que ha usado cada una en este ciclo |
| `kilobat pack [status] [--json]` | Paquetes de datos como una eSIM de viaje, con lo que queda y el día en que se agota cada uno al ritmo de los últimos tres días |
| `kilobat pack add <GB> <days\|YYYY-MM-DD> [--network <name>] [--name <label>] [--start YYYY-MM-DD]` | Añade un paquete de datos en esta red, en redes que Kilobat ha visto o en cualquier red cuyo nombre contenga un texto |
| `kilobat pack correct <GB-left> [--pack <name>]` | Introduce lo que indica la app del operador que queda, pues Kilobat solo cuenta este Mac |
| `kilobat pack end [--pack <name>]` | Finaliza ahora un paquete de datos; permanece en el historial |
| `kilobat updaters [--json]` | Actualizadores en pausa en redes con límite, los bytes de actualización que aun así pasaron en esta red y las apps que se actualizan desde dentro |
| `kilobat updaters on\|off` | Pausa asistentes de actualización como Google Updater y Actualización de software de macOS mientras la red tiene límite (activado de forma predeterminada); las apps siguen funcionando |
| `kilobat settings kill-switch on\|off` | Pro: bloquea las conexiones nuevas cuando la VPN está caída; kill-switch-lan on\|off mantiene accesible la red local mientras tanto |
| `kilobat uploads [--json]` | Apps que están subiendo mucho ahora mismo, con la velocidad, lo que llevan enviado y el tiempo restante cuando se conoce el total, y las subidas retenidas para más tarde |
| `kilobat uploads hold <app> [--until unmetered\|fast\|fast:<Mbps>\|2h\|manual]` | Retiene la subida de una app hasta una red sin límite o más rápida, durante un rato o hasta que la reanudes (Pro); uploads resume <app> la deja ir |
| `kilobat settings [name [value] ]` | Consulta o cambia ajustes como new-apps (allow, ask o block), apple-software, auto-travel, pause-updaters, kill-switch, awake-on-power, public-ip (desactivado de forma predeterminada), speed-streams, alerts y menu-bar |
| `kilobat verdict <host> [--app <id>] [--port N] [--incoming] [--json]` | Por qué Kilobat permite o bloquea una conexión: todas las reglas que coinciden, en el orden en que las comprueba el filtro, la que decide y el comando que cambia cada una; verdict --app <id> muestra las reglas de una app |
| `kilobat verdict --blocked [1…50] [--json]` | Las reglas detrás de los últimos intentos bloqueados, tal como las registró el filtro al bloquearlos |
| `kilobat approvals [--json]` | Apps que esperan aprobación mientras se pregunta por las apps nuevas, con firmante y destinos |
| `kilobat approve\|deny <app-id> [--minutes 1…1440]` | Bloquea al instante una app en espera, o pide a la persona que confirme en Kilobat si la permite |
| `kilobat block-host\|unblock-host <domain\|IP\|CIDR> [--app <id>]` | Bloquea un dominio (subdominios incluidos, se admite *.example.com), una IP o un rango para todas las apps o para una sola |
| `kilobat quit <PID> [--force]` | Cierra un proceso |

### Configurar

|  |  |
|---|---|
| `kilobat open` | Abre la app para Mac |
| `kilobat doctor` | Comprueba la app, el filtro de red y la supervisión |
| `kilobat completion [zsh\|bash\|fish]` | Imprime un script de autocompletado para el shell |
| `kilobat mcp` | Ejecuta el servidor MCP para agentes de IA por stdio |
| `kilobat update` | Actualiza una instalación de Homebrew |

### Avanzado

|  |  |
|---|---|
| `kilobat destinations [--pid PID] [--json]` | Sockets de procesos observados |
| `kilobat devices [--all] [--bonjour] [--json]` | Dispositivos de tu red, cada uno nuevo, conocido, desconocido o ignorado, con su tipo y el grado de certeza de Kilobat; --all añade los que no están ahora |
| `kilobat devices name <MAC> <name>` | Pone nombre a un dispositivo |
| `kilobat devices mark <MAC> mine\|unknown\|ignored` | Responde por un dispositivo nuevo, como en el aviso de la app |
| `kilobat devices type <MAC> <type>\|auto` | Define el tipo de un dispositivo (camera, doorbell, tv, speaker, printer, plug, hub, console, phone, computer, drone, router, nas…); auto vuelve a la identificación de Kilobat |
| `kilobat household [--json]` | Mac enlazados en la app y lo que mueve cada uno ahora; el enlace solo se hace en la app |
| `kilobat smarthome [--json]` | Redes Thread y routers de borde, dispositivos Matter y HomeKit, y si la red está preparada para Matter; solo lectura |
| `kilobat trace <host> [--rounds 2…10] [--json]` | Sondeo de ruta limitado a 12 saltos; --rounds traza varias veces y muestra la pérdida y el retardo de cada salto |
| `kilobat route-history --host <host> [--json]` | Cada traza guardada hacia un host, salto a salto como mtr: pérdida, mejor, media, peor, cambios de ruta y dónde empieza el retardo |
| `kilobat http-check <URL> [--json]` | Tiempos de DNS, conexión, TLS y primer byte |
| `kilobat dns-benchmark` | Tiempos de los resolvedores |
| `kilobat lan-test <server> [--reverse] [--json]` | Prueba iperf3 de cinco segundos contra un dispositivo que ejecute iperf3 -s; requiere iperf3, que Kilobat nunca instala |
| `kilobat interfaces [--json]` | Contadores físicos y de VPN, por separado |
| `kilobat capture <interface> <file.pcap>` | Captura de paquetes limitada |
| `kilobat connection-rule allow\|block <app> <host> [port]` | Guarda una regla de destino |
| `kilobat blocklist status\|import <path>\|clear` | Gestiona una lista de bloqueo de dominios |
| `kilobat wake <MAC-address>` | Envía un paquete Wake-on-LAN |
| `kilobat spots [save <name>\|remove <id>]` | Lugares Wi-Fi guardados |
| `kilobat outages / speed-history [--days N]` | Cortes y pruebas de velocidad registrados, en JSON |

## Scripts y JSON

La salida cambia a JSON automáticamente al usar tuberías, así los scripts nunca tienen que interpretar el formato para personas. Pasa `--json` para indicarlo de forma explícita.

```
kilobat diagnose | jq .health            # "good", "degraded", "poor" o "unknown"
kilobat status --watch --json             # un objeto JSON por línea, cada segundo
kilobat report --summary --days 7 --json  # totales diarios y apps con mayor consumo
kilobat report compare --total 40GB --period last-month --csv  # junto a la cifra de tu proveedor
```

Define `NO_COLOR` para desactivar los colores. Los cambios de DNS requieren la aprobación de un administrador.
