Referência da CLI

Todos os comandos do kilobat, a saída JSON e os scripts.

Comandos

Monitorar

kilobat status [--watch] [--json]Tráfego ao vivo por app e limite da sessão; um retrato em JSON ou fluxo JSON Lines com --watch
kilobat report [--csv|--json] [--summary] [--days 1…365]Histórico de uso registrado localmente ou totais diários e apps mais ativos; CSV tem uma linha 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]O valor de um roteador ou operadora ao lado do que o Kilobat registrou neste Mac no mesmo período e unidade, com as horas registradas, cada lacuna e os motivos prováveis da diferença
kilobat health-history [--hours 1…720] [--json]Verificações de roteador, internet, jitter e DNS que o app registrou ao longo do tempo
kilobat proxy [routes [--app name] | test] [--json]Apps de proxy, proxy do sistema e seus problemas; regra e nó usados por cada app; velocidade de resposta de cada nó
kilobat vpn [--json]A VPN, se DNS ou IPv6 a contornam e o estado do kill switch da VPN
kilobat vpn leaks [--json]Teste de vazamento: se DNS, IPv6 ou UDP (usado por WebRTC) contornam a VPN, cada um com o ajuste que o corrige; consulta bash.ws, Cloudflare e um servidor STUN
kilobat calls [--limit 1…200] [--json]Após cada chamada: quantas vezes congelou e suas causas, a partir dos relatórios escritos pelo app
kilobat remote [--limit 1…200] [--kind ssh|mosh|desktop] [--json]Após cada sessão de SSH, Mosh ou acesso remoto: por que a digitação atrasou ou a tela congelou e quando Mosh ajudaria
kilobat stream [status|check|reports] [--json]OBS pelo WebSocket local: se está transmitindo e perdendo quadros, uma verificação do upload antes da transmissão em relação à taxa de bits mais 30% (check [--bitrate <kbps>] [--measure|--no-measure]) e os relatórios após cada transmissão (reports [--limit 1…200])
kilobat cloud-gaming [status|reports] [--limit 1…200] [--json]GeForce NOW, Xbox Cloud Gaming, Boosteroid, Amazon Luna e Shadow: a sessão atual (ping, jitter, perda, taxa de bits, dados e o que atrapalha) e o relatório após cada uma, com as interrupções e suas causas
kilobat overlay [--port 7171] [--target internet|router|cs2:fra|host]Uma sobreposição de ping ao vivo para OBS e outros apps de transmissão, servida em localhost até Ctrl-C; uma região de jogo como cs2:fra testa o ping desse centro de dados
kilobat support-report [--hours 1…168] [--host h] [--include-sites] [--markdown|--html] [--output f]Um relatório para sua operadora ou equipe de TI: resultados, latência, quedas e testes de velocidade, sem o nome ou os endereços locais da rede
kilobat plan [--days 7…90] [--json]Testes de velocidade em relação ao plano pago em cada rede: mediana, noites comparadas ao restante do dia e frequência com que um teste ficou abaixo da metade
kilobat credit [--provider id] [--price n] [--month this|last|YYYY-MM] [--draft] [--json]Quedas do mês além do roteador comparadas à regra de crédito publicada pela operadora, possíveis direitos e uma solicitação preparada; <code>credit providers</code> lista as regras
kilobat week [--weeks-ago 0…12] [--json]O resumo semanal: as quedas, chamadas congeladas, problemas do roteador, bloqueios e o uso de dados em redes com limite mais relevantes da semana passada, comparados à semana anterior
kilobat router [--all] [--json]Avaliação do roteador: respostas, perdas e quedas habituais em comparação aos últimos três dias, reinícios e se ajudaram, com base nas verificações do app
kilobat router connect [fritzbox|unifi|mikrotik|openwrt] [--json]Etapas de configuração da conexão Pro com o roteador pelo app; nunca recebe credenciais na linha de comando
kilobat router devices [--json]Clientes do roteador conectado, taxas medidas e totais de hoje pelo app; contadores de toda a casa do FRITZ!Box e de outros roteadores nunca indicam a parcela de um único dispositivo; contadores de clientes podem incluir tráfego LAN
kilobat router disconnect [--json]Esquecer o roteador desta rede; o app remove sua credencial das Chaves ou a remove na próxima inicialização
kilobat service-speed [--all] [--test <service>] [--list] [--json]Seus próprios downloads do GitHub, iCloud, Steam, npm e outros em comparação com a linha, e quando a rota da sua operadora até um deles está lenta; <code>--test</code> baixa até 25 MB de um deles agora
kilobat hotspot [--all] [--carrier <id>] [--detect] [--json]Em um acesso pessoal de celular: se todos os downloads param no limite de acesso pessoal da operadora, as medições que indicam isso e as regras publicadas pela operadora; <code>hotspot carriers</code> lista as operadoras
kilobat networks [forget <name>]Redes vistas, com perfil, limite de dados e custo de dados lembrados para cada uma
kilobat networks cost <metered|unmetered|automatic> [name]Marque esta rede ou uma rede nomeada como tendo ou não limite de dados, ou volte a seguir o macOS
kilobat bandwidth [app] [hour|day|week|month] [--back N] [--json]Bytes enviados e recebidos por um app em uma hora, dia, semana ou mês, com o pico; --back vai a períodos anteriores
kilobat access-policy <bundle-id> [--json]As conexões declaradas pelo desenvolvedor de um app em sua Política de Acesso à Internet e o motivo

Diagnosticar

kilobat diagnose [--json]Verificações de Wi-Fi, roteador, internet, DNS e portal cativo com orientações
kilobat radar [--watch] [--json]Pontuação do sinal e busca do melhor local
kilobat scan [--json]Redes próximas, canais, larguras e segurança
kilobat channels [--json]Congestionamento por canal e o menos congestionado
kilobat speedtest [--json] [--budget-mb 1…80] [--parallel]Velocidade Cloudflare, latência sob carga e avaliações para chamadas e streaming, no máximo 80 MB. Uma conexão por padrão; --parallel abre quatro, como a maioria dos sites de teste de velocidade
kilobat speed-compare [<test> <test>] [--json]O que mudou entre dois testes de velocidade salvos: rede, hora, servidor, conexões, faixa e sinal Wi-Fi, VPN e outro tráfego
kilobat ip [--public] [--json]Por onde sai o tráfego: a interface e qualquer VPN, lidas neste Mac; --public também consulta a Cloudflare para seu IP público e país de registro
kilobat portal [open] [--json]Páginas de login do Wi-Fi: uma verificação agora (aberto, página de login ou offline, com endereço da página e valores de consulta ocultados), se esta rede exige login, encerrou sua sessão ou quanto tempo resta, e a duração habitual do login em cada rede; open abre a página no navegador
kilobat stutter [--seconds 10…60] [--target router|internet|<host>] [--json]Ping a cada 50 ms para encontrar os picos curtos de latência que testes de velocidade perdem, quando ocorrem e se se repetem
kilobat starlink [--hours 1…720] [--json]Uma antena Starlink nesta rede, lida localmente: estado, ping da estação terrestre, alertas, mapa do céu e direção da obstrução, e quedas divididas entre sua instalação, rede Starlink e reinícios da antena
kilobat games [--game <game> | --all | --match] [--json]Liste os jogos cujo ping o Kilobat testa e os que não consegue testar, com o motivo; com --game, teste cinco vezes cada centro de dados do jogo (relays Valve, servidores de ping Epic ou regiões AWS e Azure onde está hospedado) e identifique o mais próximo; com --match, encontre e teste o servidor da partida atual, para qualquer jogo, pronto para a sobreposição de transmissão
kilobat airdrop [status|everyone|contacts|off] [--json]Visibilidade do AirDrop, enlace AirDrop (AWDL) e o que o usa; alterar a visibilidade abre Ajustes do Sistema
kilobat bluetooth [--json]Dispositivos Bluetooth e se compartilham 2,4 GHz com seu Wi-Fi
kilobat bluetooth audio [--json]Enquanto AirPods ou outros fones Bluetooth reproduzem áudio: o que pode causar estalos (2,4 GHz, AirDrop, download grande, sinal fraco) e o que mudar, em ordem
kilobat local [check] [--quick] [--json]Posso transmitir ou imprimir aqui? Os Chromecasts, receptores AirPlay e impressoras que respondem; se a rede pode manter dispositivos isolados (nunca confirmado apenas pela descoberta); o Wi-Fi próprio de uma impressora ou câmera; e o que causa interrupções na transmissão
kilobat dns [automatic|cloudflare|google|quad9|flush]Leia ou defina DNS, ou limpe o cache
kilobat dns fastest [--all] [--json]O DNS mais rápido nesta rede, medido pelos testes discretos do app contra Cloudflare, Quad9 e Google, com o operador e sua localização, e as consultas respondidas nos últimos 14 dias
kilobat dns auto on|off [--network <name>]Pro: mude para o DNS mais rápido ao conectar, em todas as redes ou em uma rede
kilobat dns exclude|include <resolver>Nunca teste nem escolha um resolvedor, ou adicione o seu pelo endereço IP
kilobat dns fallback <resolver>|offO resolvedor para usar quando o mais rápido falhar, antes do DNS da própria rede

Wi-Fi

kilobat wifi [status]Rede atual, sinal, canal e largura, taxa do enlace, padrão Wi-Fi, segurança e potência de transmissão
kilobat wifi on|off|restart|disconnectControle a ativação do Wi-Fi e a conexão
kilobat wifi join <name> [--password-stdin]Conecte-se a uma rede salva ou nova
kilobat wifi knownRedes salvas em ordem de preferência
kilobat wifi password|share <name>Mostre uma senha salva ou um código QR para escanear com um celular
kilobat wifi nodes [name <node> <name>] [--json]Nós mesh ou pontos de acesso desta rede, o nó usado pelo Mac e se há um muito mais próximo ao alcance; nomeie um deles, como Escritório
kilobat wifi reconnect [--json]Mudar para o nó mais próximo e informar onde o Mac ficou
kilobat low-latency on [--for 15m|1h|2h] [--until-quit <app>]Pause AirDrop e AWDL durante chamadas e jogos: 15 minutos por padrão, até 4 horas ou até um app encerrar
kilobat low-latency offRestaure AirDrop e AWDL, inclusive após uma pausa iniciada no app

Manter ativo e agentes

kilobat awake [--display]Mantenha o Mac ativo até Ctrl-C; fechar a tampa ainda o coloca em repouso, a menos que você adicione --lid-closed
kilobat awake --lid-closed [--for 2h|--until-quiet|-- <command>]Continue ativo também com a tampa fechada, por no máximo 8 horas, por meio do auxiliar de energia do app; exige Permitir execução com a tampa fechada em Ajustes
kilobat awake --for 90m|2h|45sMantenha ativo por um tempo
kilobat awake --until-quiet [--app <id>] [--quiet 1…60]Mantenha o Mac ativo até downloads ou um app ficarem inativos, com tráfego abaixo de 16 KB/s por 3 minutos por padrão
kilobat awake -- <command> [args]Mantenha o Mac ativo enquanto um comando é executado, depois informe os dados transferidos por seus processos e termine com o código de saída dele
kilobat awake --while-frontmost <app> [--display] [--for 2h]Mantenha ativo apenas enquanto esse app estiver em primeiro plano, para leitura ou apresentação. Mudar de app permite o repouso do Mac; termina quando o app encerra, com 20% de bateria ou após --for. --display também mantém a tela ligada
kilobat settings awake-on-power on|offO app mantém o Mac ativo sempre que o adaptador de energia está conectado e permite o repouso quando é desconectado
kilobat settings keep-screen-on on|offMantenha também a tela ligada para tudo que o app mantém ativo: temporizadores, downloads, agentes, app em primeiro plano e conexão à tomada
kilobat sessions [--days N] [--json]Sessões ativas e execuções de agentes de IA registradas pelo app, com dados usados e mudanças de rede
kilobat agent-log [--all] [--since 2h|3d|date] [--agent claude] [--flagged] [--json]Cada host contatado por um agente de IA e pelos comandos que ele iniciou, com bytes e sinalizações: a sessão mais recente ou a do próprio agente quando executado por ele. Registrado pelo app com Pro
kilobat history forget <host> [--subdomains] [--json]Remover um host das tentativas bloqueadas, do registro de rede dos agentes, dos destinos de execuções de agentes e da memória de notificações da Proteção
kilobat history clear --hour|--today|--all [--json]Limpar esses históricos de hosts da última hora, desde a meia-noite ou de todo o período; atividades futuras podem voltar a ser registradas
kilobat agent-log --watch [--agent claude] [--flagged] [--json]Registra o mesmo ao vivo neste Terminal, sem o app; nada é salvo
kilobat protect [status|on|off|update] [--threats|--trackers|--agents] [--json]Proteção: bloqueie hosts conhecidos de malware, phishing e golpes (Pro) e rastreadores em apps (grátis, desativado por padrão), e use a proteção de agentes (Pro); update baixa as listas agora
kilobat protect check <host> [--json]Se um host está em uma lista de ameaças ou rastreadores, qual lista e se o Kilobat o bloqueia; retorna 1 se bloquear
kilobat protect allow|unallow <host>Permita que um site e seus subdomínios passem por todas as listas de Proteção ou desfaça isso
kilobat agent-event <start|working|waiting|done|failed> [--agent name] [--stdin-json|--json-arg]Para hooks de um agente: informa ao app que uma execução começou, aguarda você ou terminou. Silencioso, sempre retorna 0
kilobat why <url|host> [--app <id>] [--proxy <url>] [--context container|vm|remote|provider] [--failed-at <time>] [--error <text>] [--json]Encontre a camada que impede uma conexão: rede e interface, proxy e proxy do próprio app, DNS, regras do Kilobat, IPv4 e IPv6, TLS, servidor e cada redirecionamento, e se esta rede bloqueia o acesso ou o serviço recusa sua região. Solicita a URL exata; a saída oculta os valores da consulta. Também kilobat doctor <url|host>
kilobat down [service|host…] [--all] [--list] [--json]O problema é deles ou meu? O que as páginas públicas de status de Slack, Zoom, GitHub, Claude, OpenAI e cerca de setenta outros serviços informam agora, e se cada um se conecta daqui: bloqueado nesta rede ou indisponível na sua região; sem indicar um serviço, verifica os apps em execução neste Mac
kilobat explain <process|host…> [--process name --host name] [--json]O que é um processo do macOS ou host, quanto tráfego é normal, se bloqueá-lo é seguro e o que deixa de funcionar, a partir do banco de dados do próprio Kilobat neste Mac. As informações que o Kilobat tem sobre aquilo que não conhece
kilobat conditions [--json]Limite de dados, Modo de Economia de Dados, VPN, latência, bateria e aquecimento, se a tampa pode fechar, com orientações para execuções longas

Controlar

kilobat profile [travel|work|unrestricted]Liste ou selecione um perfil
kilobat allow|block <bundle-id> [--minutes 1…1440] [--profile name]Salve uma regra de app, opcionalmente temporária ou para outro perfil
kilobat reset <bundle-id> [--profile name]Remova a regra de um app para seguir o padrão
kilobat rules [--profile name] [--json]Regras de um perfil
kilobat limit [GB] [--cycle session|daily|weekly|monthly] [--reset-day N] [--alert 50,80,100]Leia ou defina o limite de dados desta rede, quando reinicia e quando notifica
kilobat quota <bundle-id> <GB> [--upload] [--all-networks]Limite os dados de um app por ciclo do limite; quota <bundle-id> --remove remove a cota
kilobat quota --list [--json]Cotas de apps com o uso de cada um neste ciclo
kilobat pack [status] [--json]Pacotes de dados como um eSIM de viagem, com o saldo e o dia em que cada um acabará no ritmo dos últimos três dias
kilobat pack add <GB> <days|YYYY-MM-DD> [--network <name>] [--name <label>] [--start YYYY-MM-DD]Adicionar um pacote de dados nesta rede, em redes que o Kilobat já viu ou em qualquer rede cujo nome contenha um texto
kilobat pack correct <GB-left> [--pack <name>]Definir o saldo informado pelo app da operadora, pois o Kilobat conta apenas este Mac
kilobat pack end [--pack <name>]Encerrar um pacote de dados agora; ele permanece no histórico
kilobat updaters [--json]Atualizadores pausados em redes com limite, bytes de atualização que ainda passaram nesta rede e apps que se atualizam por conta própria
kilobat updaters on|offPause auxiliares de atualização como Google Updater e Atualização de Software do macOS enquanto a rede tiver limite de dados (ativo por padrão); os apps continuam funcionando
kilobat settings kill-switch on|offPro: bloqueie novas conexões sempre que a VPN estiver inativa; kill-switch-lan on|off mantém a rede local acessível nesse período
kilobat uploads [--json]Apps enviando muito agora, com taxa, volume já enviado e tempo restante quando o total é conhecido, e uploads retidos para depois
kilobat uploads hold <app> [--until unmetered|fast|fast:<Mbps>|2h|manual]Retenha o upload de um app até uma rede sem limite ou mais rápida, por um tempo ou até você retomá-lo (Pro); uploads resume <app> o libera
kilobat settings [name [value] ]Leia ou altere ajustes como new-apps (allow, ask ou block), apple-software, auto-travel, pause-updaters, kill-switch, awake-on-power, public-ip (desativado por padrão), speed-streams, alerts e menu-bar
kilobat verdict <host> [--app <id>] [--port N] [--incoming] [--json]Por que o Kilobat permite ou bloqueia uma conexão: todas as regras correspondentes, na ordem em que o filtro as verifica, a que decide e o comando que altera cada uma; verdict --app <id> para as regras do próprio app
kilobat verdict --blocked [1…50] [--json]As regras por trás das últimas tentativas bloqueadas, conforme registradas pelo filtro no momento do bloqueio
kilobat approvals [--json]Apps aguardando aprovação quando a pergunta sobre novos apps está ativa, com signatário e destinos
kilobat approve|deny <app-id> [--minutes 1…1440]Bloqueie um app em espera imediatamente ou peça à pessoa que confirme a permissão no Kilobat
kilobat block-host|unblock-host <domain|IP|CIDR> [--app <id>]Bloqueie um domínio (incluindo subdomínios, *.example.com aceito), IP ou intervalo para todos os apps ou para um app
kilobat quit <PID> [--force]Encerre um processo

Configuração

kilobat openAbra o app para Mac
kilobat doctorVerifique o app, o filtro de rede e o monitoramento
kilobat completion [zsh|bash|fish]Imprima um script de preenchimento para o shell
kilobat mcpExecute o servidor MCP para agentes de IA por stdio
kilobat updateAtualize uma instalação Homebrew

Avançado

kilobat destinations [--pid PID] [--json]Sockets de processos observados
kilobat devices [--all] [--bonjour] [--json]Dispositivos na rede, cada um novo, conhecido, desconhecido ou ignorado, com seu tipo e o grau de certeza do Kilobat; --all inclui os que não estão presentes agora
kilobat devices name <MAC> <name>Nomeie um dispositivo
kilobat devices mark <MAC> mine|unknown|ignoredResponda sobre um novo dispositivo, como no alerta do app
kilobat devices type <MAC> <type>|autoDefinir o tipo de um dispositivo (camera, doorbell, tv, speaker, printer, plug, hub, console, phone, computer, drone, router, nas…); auto volta à identificação do Kilobat
kilobat household [--json]Macs emparelhados no app e o que cada um transfere agora; o emparelhamento continua no app
kilobat smarthome [--json]Redes Thread e roteadores de borda, dispositivos Matter e HomeKit e se a rede está pronta para Matter; somente leitura
kilobat trace <host> [--rounds 2…10] [--json]Sondagem de rota limitada a 12 saltos; --rounds rastreia várias vezes e mostra perda e atraso de cada salto
kilobat route-history --host <host> [--json]Cada rastreamento salvo para um host, salto a salto como mtr: perda, melhor, média, pior, mudanças de rota e onde começa o atraso
kilobat http-check <URL> [--json]Tempos de DNS, conexão, TLS e primeiro byte
kilobat dns-benchmarkTempos dos resolvedores
kilobat lan-test <server> [--reverse] [--json]Teste iperf3 de cinco segundos para um dispositivo executando iperf3 -s; requer iperf3, que o Kilobat nunca instala
kilobat interfaces [--json]Contadores físicos e de VPN, separadamente
kilobat capture <interface> <file.pcap>Captura limitada de pacotes
kilobat connection-rule allow|block <app> <host> [port]Salve uma regra de destino
kilobat blocklist status|import <path>|clearGerencie uma lista de bloqueio de domínios
kilobat wake <MAC-address>Envie um pacote Wake-on-LAN
kilobat spots [save <name>|remove <id>]Locais Wi-Fi salvos
kilobat outages / speed-history [--days N]Quedas e testes de velocidade registrados em JSON

Scripts e JSON

A saída muda para JSON automaticamente em pipes, para que scripts nunca precisem analisar o formato humano. Passe --json para ser explícito.

kilobat diagnose | jq .health            # "good", "degraded", "poor" ou "unknown"
kilobat status --watch --json             # um objeto JSON por linha, a cada segundo
kilobat report --summary --days 7 --json  # totais diários e apps que mais usam dados
kilobat report compare --total 40GB --period last-month --csv  # ao lado do valor informado pelo provedor

Defina NO_COLOR para desativar cores. Alterações de DNS exigem aprovação de administrador.