Référence de la CLI

Toutes les commandes kilobat, la sortie JSON et les scripts.

Commandes

Surveiller

kilobat status [--watch] [--json]Trafic en direct par app et forfait de la session ; un instantané JSON, ou un flux JSON Lines avec --watch
kilobat report [--csv|--json] [--summary] [--days 1…365]Historique d’utilisation enregistré localement, ou totaux quotidiens et apps les plus actives ; le CSV contient une ligne par app
kilobat report compare --total 40GB [--unit GB|GiB] [--direction both|download|upload] (--from DATE --to DATE | --period last-month) [--network NAME] [--json|--csv]Le chiffre d’un routeur ou d’un opérateur à côté de ce que Kilobat a enregistré sur ce Mac pour la même période, dans la même unité, avec les heures enregistrées, chaque lacune et les raisons probables d’un écart
kilobat health-history [--hours 1…720] [--json]Vérifications du routeur, d’Internet, de la gigue et du DNS enregistrées par l’app au fil du temps
kilobat proxy [routes [--app name] | test] [--json]Apps proxy, proxy système et leurs problèmes ; quelle règle et quel nœud chaque app a empruntés ; à quelle vitesse répond chaque nœud
kilobat vpn [--json]Le VPN, si le DNS ou l’IPv6 le contournent, et l’état du coupe-circuit VPN
kilobat vpn leaks [--json]Test de fuite : si le DNS, l’IPv6 ou l’UDP (qu’utilise WebRTC) contournent le VPN, chacun avec le réglage qui corrige le problème ; interroge bash.ws, Cloudflare et un serveur STUN
kilobat calls [--limit 1…200] [--json]Après chaque appel : combien de fois il s’est bloqué et pourquoi, d’après les rapports de l’app
kilobat remote [--limit 1…200] [--kind ssh|mosh|desktop] [--json]Après chaque session SSH, Mosh ou de bureau à distance : pourquoi la saisie a pris du retard ou l’écran s’est bloqué, et quand Mosh aiderait
kilobat stream [status|check|reports] [--json]OBS via son WebSocket local : état de diffusion et images perdues, vérification du débit d’envoi avant diffusion par rapport au débit binaire plus 30% (check [--bitrate <kbps>] [--measure|--no-measure]) et rapports après chaque diffusion (reports [--limit 1…200])
kilobat cloud-gaming [status|reports] [--limit 1…200] [--json]GeForce NOW, Xbox Cloud Gaming, Boosteroid, Amazon Luna et Shadow : session actuelle (ping, gigue, pertes, débit binaire, données et obstacles) et rapport après chaque session indiquant quand et pourquoi elle a saccadé
kilobat overlay [--port 7171] [--target internet|router|cs2:fra|host]Un overlay de ping en direct pour OBS et les autres apps de streaming, servi sur localhost jusqu’à Ctrl-C ; une région de jeu comme cs2:fra envoie ses pings vers ce centre de données
kilobat support-report [--hours 1…168] [--host h] [--include-sites] [--markdown|--html] [--output f]Un rapport pour votre fournisseur d’accès ou votre support informatique : constats, latence, coupures et tests de débit, sans le nom de votre réseau ni les adresses locales
kilobat plan [--days 7…90] [--json]Tests de débit comparés à l’abonnement payé sur chaque réseau : la médiane, les soirées à côté du reste de la journée, et la fréquence des tests sous la moitié
kilobat credit [--provider id] [--price n] [--month this|last|YYYY-MM] [--draft] [--json]Les coupures du mois au-delà de votre routeur comparées à la règle d’indemnisation publiée par votre fournisseur, ce à quoi elles pourraient donner droit, et une réclamation rédigée ; <code>credit providers</code> liste les règles
kilobat week [--weeks-ago 0…12] [--json]Le bilan hebdomadaire : les coupures, appels bloqués, routeur, blocages et données sur réseaux limités les plus notables de la semaine dernière, comparés à la semaine précédente
kilobat router [--all] [--json]Bilan du routeur : ses réponses, pertes et coupures habituelles comparées aux trois derniers jours, les redémarrages et s’ils ont aidé, à partir des vérifications que l’app conserve
kilobat router connect [fritzbox|unifi|mikrotik|openwrt] [--json]Étapes de configuration de la connexion Pro au routeur ; ne reçoit jamais d’identifiants en ligne de commande
kilobat router devices [--json]Clients du routeur connecté, débits mesurés et totaux du jour via l’app ; les compteurs FRITZ!Box et autres compteurs du foyer entier n’impliquent jamais la part d’un seul appareil ; les compteurs clients peuvent inclure le trafic LAN
kilobat router disconnect [--json]Oublier le routeur de ce réseau ; l’app supprime son identifiant du trousseau, immédiatement ou à son prochain démarrage
kilobat service-speed [--all] [--test <service>] [--list] [--json]Vos téléchargements GitHub, iCloud, Steam, npm et autres comparés à la ligne et les ralentissements de la route de votre fournisseur vers un service ; <code>--test</code> télécharge jusqu’à 25 MB depuis un service
kilobat hotspot [--all] [--carrier <id>] [--detect] [--json]Sur un partage de connexion téléphonique : indique si tous les téléchargements plafonnent à une limite de l’opérateur, les mesures correspondantes et ses règles publiées ; <code>hotspot carriers</code> les liste
kilobat networks [forget <name>]Réseaux rencontrés, avec le profil, le forfait et le coût des données mémorisés pour chacun
kilobat networks cost <metered|unmetered|automatic> [name]Traiter ce réseau, ou celui nommé, comme limité ou illimité, ou suivre de nouveau macOS
kilobat bandwidth [app] [hour|day|week|month] [--back N] [--json]Octets envoyés et reçus par une app sur une heure, un jour, une semaine ou un mois, avec le pic ; --back remonte aux périodes précédentes
kilobat access-policy <bundle-id> [--json]Les connexions que le développeur d’une app déclare dans son Internet Access Policy, et pourquoi

Diagnostiquer

kilobat diagnose [--json]Vérifications du Wi-Fi, du routeur, d’Internet, du DNS et des portails captifs, avec conseils
kilobat radar [--watch] [--json]Score du signal et recherche du meilleur emplacement
kilobat scan [--json]Réseaux voisins, canaux, largeurs et sécurité
kilobat channels [--json]Encombrement par canal et canal le moins chargé
kilobat speedtest [--json] [--budget-mb 1…80] [--parallel]Débit Cloudflare, latence sous charge et verdicts pour les appels et le streaming, 80 MB au maximum. Une connexion par défaut ; --parallel en ouvre quatre, comme la plupart des sites de test de débit
kilobat speed-compare [<test> <test>] [--json]Ce qui a changé entre deux tests de débit enregistrés : réseau, heure, serveur, connexions, bande Wi-Fi et signal, VPN, autre trafic
kilobat ip [--public] [--json]Par où sort le trafic : l’interface et l’éventuel VPN, lus sur ce Mac ; --public demande aussi à Cloudflare votre IP publique et son pays d’enregistrement
kilobat portal [open] [--json]Pages de connexion Wi-Fi : une vérification immédiate (ouvert, page de connexion ou hors ligne, avec l’adresse de la page, valeurs de requête masquées), si ce réseau demande une connexion, a mis fin à votre session ou combien de temps il reste, et la durée de session habituelle de chaque réseau ; open ouvre la page dans votre navigateur
kilobat stutter [--seconds 10…60] [--target router|internet|<host>] [--json]Un ping toutes les 50 ms pour repérer les brefs pics de latence que les tests de débit ratent, quand ils surviennent et s’ils se répètent
kilobat starlink [--hours 1…720] [--json]Une antenne Starlink sur ce réseau, lue localement : état, ping vers la station au sol, alertes, carte du ciel et côté masqué, et coupures réparties entre votre installation, le réseau Starlink et les redémarrages de l’antenne
kilobat games [--game <game> | --all | --match] [--json]Liste les jeux que Kilobat pingue et ceux qu’il ne peut pas pinguer, avec la raison ; avec --game, envoie cinq pings à chaque centre de données de ce jeu (relais Valve, serveurs de ping d’Epic, ou les régions AWS et Azure où il est hébergé) et nomme le plus proche ; avec --match, trouve le serveur de la partie que vous jouez et lui envoie un ping, pour n’importe quel jeu, prêt pour l’overlay de streaming
kilobat airdrop [status|everyone|contacts|off] [--json]Visibilité AirDrop, le lien AirDrop (AWDL) et ce qui l’utilise ; changer la visibilité ouvre les Réglages Système
kilobat bluetooth [--json]Appareils Bluetooth et s’ils partagent la bande 2,4 GHz avec votre Wi-Fi
kilobat bluetooth audio [--json]Pendant la lecture sur des AirPods ou d’autres écouteurs Bluetooth : ce qui peut les faire grésiller (2,4 GHz, AirDrop, un gros téléchargement, un signal faible) et ce qu’il faut changer, dans l’ordre
kilobat local [check] [--quick] [--json]Puis-je diffuser ou imprimer ici ? Les Chromecast, récepteurs AirPlay et imprimantes qui répondent, l’éventuelle isolation des appareils par le réseau (jamais confirmée par la seule découverte), le Wi-Fi propre d’une imprimante ou d’une caméra et les causes possibles de saccades pendant une diffusion
kilobat dns [automatic|cloudflare|google|quad9|flush]Lire ou définir le DNS, ou vider le cache
kilobat dns fastest [--all] [--json]Le DNS le plus rapide sur ce réseau d’après les tests discrets de l’app auprès de Cloudflare, Quad9 et Google, avec l’opérateur et son pays, ainsi que les requêtes ayant reçu une réponse sur 14 jours
kilobat dns auto on|off [--network <name>]Pro : basculer sur le DNS le plus rapide à la connexion, partout ou sur un réseau
kilobat dns exclude|include <resolver>Ne jamais mesurer ni choisir un résolveur, ou ajouter le vôtre par son adresse IP
kilobat dns fallback <resolver>|offRésolveur de secours utilisé en cas d’échec du plus rapide, avant celui du réseau

Wi-Fi

kilobat wifi [status]Réseau actuel, signal, canal et largeur, débit de liaison, norme Wi-Fi, sécurité et puissance d’émission
kilobat wifi on|off|restart|disconnectContrôler l’alimentation Wi-Fi et la connexion
kilobat wifi join <name> [--password-stdin]Rejoindre un réseau enregistré ou un nouveau réseau
kilobat wifi knownRéseaux enregistrés par ordre de préférence
kilobat wifi password|share <name>Afficher un mot de passe enregistré, ou un QR code à scanner avec un téléphone
kilobat wifi nodes [name <node> <name>] [--json]Bornes maillées ou points d’accès de ce réseau, borne utilisée par le Mac et présence d’une borne beaucoup plus proche à portée ; nommez-en une, par exemple Bureau
kilobat wifi reconnect [--json]Passer à la borne la plus proche, puis indiquer à laquelle le Mac s’est connecté
kilobat low-latency on [--for 15m|1h|2h] [--until-quit <app>]Mettre en pause AirDrop et AWDL pendant les appels et les jeux : 15 minutes par défaut, jusqu’à 4 heures, ou jusqu’à ce qu’une app quitte
kilobat low-latency offRétablir AirDrop et AWDL, y compris après une pause lancée dans l’app

Éveil et agents

kilobat awake [--display]Garder le Mac éveillé jusqu’à Ctrl-C ; rabattre l’écran le met tout de même en veille, sauf si vous ajoutez --lid-closed
kilobat awake --lid-closed [--for 2h|--until-quiet|-- <command>]Continuer aussi écran rabattu, 8 heures au maximum, grâce à l’assistant d’alimentation de l’app ; nécessite Autoriser le fonctionnement écran rabattu dans les Réglages
kilobat awake --for 90m|2h|45sRester éveillé un moment
kilobat awake --until-quiet [--app <id>] [--quiet 1…60]Rester éveillé jusqu’à ce que les téléchargements ou une app deviennent silencieux, sous 16 KB/s pendant 3 minutes par défaut
kilobat awake -- <command> [args]Rester éveillé pendant l’exécution d’une commande, puis indiquer les données échangées par ses processus et se terminer avec son code de sortie
kilobat awake --while-frontmost <app> [--display] [--for 2h]Rester éveillé seulement tant que cette app est au premier plan, pour lire ou présenter. Passer à une autre app laisse le Mac se mettre en veille ; s’arrête quand l’app quitte, à 20 % de batterie ou après --for. --display garde aussi l’écran allumé
kilobat settings awake-on-power on|offL’app reste éveillée dès que l’adaptateur secteur est branché et laisse le Mac se remettre en veille quand il est débranché
kilobat settings keep-screen-on on|offGarder aussi l’écran allumé pour tout ce que l’app garde éveillé : minuteurs, téléchargements, agents, app au premier plan et secteur
kilobat sessions [--days N] [--json]Sessions d’éveil et exécutions d’agents IA enregistrées par l’app, avec les données consommées et les changements de réseau
kilobat agent-log [--all] [--since 2h|3d|date] [--agent claude] [--flagged] [--json]Chaque hôte contacté par un agent IA et les commandes qu’il a lancées, avec octets et signalements : la dernière session, ou celle de l’agent quand il la lance lui-même. Enregistré par l’app avec Pro
kilobat history forget <host> [--subdomains] [--json]Supprimer un hôte des tentatives bloquées, du journal réseau des agents, des destinations d’exécutions d’agents et de la mémoire des notifications de Protection
kilobat history clear --hour|--today|--all [--json]Effacer ces historiques d’hôtes pour la dernière heure, depuis minuit ou entièrement ; les activités futures pourront être enregistrées à nouveau
kilobat agent-log --watch [--agent claude] [--flagged] [--json]Enregistre la même chose en direct dans ce terminal, sans l’app ; rien n’est conservé
kilobat protect [status|on|off|update] [--threats|--trackers|--agents] [--json]Protection : bloquer les hôtes connus de logiciels malveillants, d’hameçonnage et d’arnaque (Pro), les traqueurs dans les apps (gratuit, désactivé par défaut) et le garde-fou des agents (Pro) ; update télécharge les listes tout de suite
kilobat protect check <host> [--json]Si un hôte figure sur une liste de menaces ou de traqueurs, laquelle, et si Kilobat le bloque ; renvoie 1 dans ce cas
kilobat protect allow|unallow <host>Laisser passer un site et ses sous-domaines malgré toutes les listes de Protection, ou annuler
kilobat agent-event <start|working|waiting|done|failed> [--agent name] [--stdin-json|--json-arg]Pour les hooks d’un agent : indique à l’app qu’une exécution a commencé, attend votre action ou est terminée. Silencieux, se termine toujours avec 0
kilobat why <url|host> [--app <id>] [--proxy <url>] [--context container|vm|remote|provider] [--failed-at <time>] [--error <text>] [--json]Trouver la couche qui empêche une connexion : réseau et interface, proxy et proxy propre à l’app, DNS, règles Kilobat, IPv4 et IPv6, TLS, serveur et chaque redirection, ainsi que blocage éventuel par ce réseau ou refus du service dans votre région. La requête utilise l’URL exacte ; les valeurs des paramètres sont masquées dans le résultat. Aussi kilobat doctor <url|host>
kilobat down [service|host…] [--all] [--list] [--json]Le problème vient-il du service ou de moi ? Informations publiées actuellement sur les pages d’état publiques de Slack, Zoom, GitHub, Claude, OpenAI et environ soixante-dix autres services, et possibilité de joindre chacun depuis ici : blocage sur ce réseau ou indisponibilité dans votre région ; sans service indiqué, vérifie ceux des apps en cours sur ce Mac.
kilobat explain <process|host…> [--process name --host name] [--json]Ce qu’est un processus macOS ou un hôte, son trafic habituel, les risques et conséquences de son blocage, d’après la base de données de Kilobat sur ce Mac. Pour les éléments inconnus, les informations dont Kilobat dispose
kilobat conditions [--json]Réseau limité, Mode Faibles données, VPN, latence, batterie et chaleur, possibilité de rabattre l’écran, avec des conseils pour les longues exécutions

Contrôler

kilobat profile [travel|work|unrestricted]Lister ou choisir un profil
kilobat allow|block <bundle-id> [--minutes 1…1440] [--profile name]Enregistrer une règle d’app, éventuellement temporaire ou pour un autre profil
kilobat reset <bundle-id> [--profile name]Supprimer la règle d’une app pour qu’elle suive le comportement par défaut
kilobat rules [--profile name] [--json]Les règles d’un profil
kilobat limit [GB] [--cycle session|daily|weekly|monthly] [--reset-day N] [--alert 50,80,100]Lire ou définir le forfait de données de ce réseau, quand il repart à zéro et quand il envoie une notification
kilobat quota <bundle-id> <GB> [--upload] [--all-networks]Limiter les données d’une app par cycle de forfait ; quota <bundle-id> --remove retire la limite
kilobat quota --list [--json]Quotas des apps, avec ce que chacune a consommé pendant ce cycle
kilobat pack [status] [--json]Forfaits de données comme une eSIM de voyage, avec le volume restant et la date d’épuisement au rythme des trois derniers jours
kilobat pack add <GB> <days|YYYY-MM-DD> [--network <name>] [--name <label>] [--start YYYY-MM-DD]Ajouter un forfait de données sur ce réseau, sur des réseaux connus de Kilobat ou sur tout réseau dont le nom contient un texte donné
kilobat pack correct <GB-left> [--pack <name>]Indiquer le solde affiché par l’app de l’opérateur, puisque Kilobat ne comptabilise que ce Mac
kilobat pack end [--pack <name>]Terminer un forfait de données maintenant ; il reste dans l’historique
kilobat updaters [--json]Outils de mise à jour en pause sur les réseaux limités, les octets de mise à jour passés malgré tout sur ce réseau, et les apps qui se mettent à jour d’elles-mêmes
kilobat updaters on|offMettre en pause les assistants de mise à jour comme Google Updater et la mise à jour de logiciels de macOS tant que le réseau est limité (activé par défaut) ; les apps continuent de fonctionner
kilobat settings kill-switch on|offPro : bloque les nouvelles connexions dès que le VPN est coupé ; kill-switch-lan on|off garde le réseau local accessible pendant ce temps
kilobat uploads [--json]Les apps qui envoient beaucoup en ce moment, avec le débit, ce qu’elles ont envoyé jusqu’ici et le temps restant quand le total est connu, ainsi que les envois retenus pour plus tard
kilobat uploads hold <app> [--until unmetered|fast|fast:<Mbps>|2h|manual]Retenir l’envoi d’une app jusqu’à un réseau illimité ou plus rapide, pendant un moment, ou jusqu’à ce que vous le repreniez (Pro) ; uploads resume <app> le laisse partir
kilobat settings [name [value] ]Lire ou modifier des réglages comme new-apps (allow, ask ou block), apple-software, auto-travel, pause-updaters, kill-switch, awake-on-power, public-ip (désactivé par défaut), speed-streams, alerts et menu-bar
kilobat verdict <host> [--app <id>] [--port N] [--incoming] [--json]Pourquoi Kilobat autorise ou bloque une connexion : toutes les règles correspondantes dans l’ordre de vérification du filtre, celle qui décide et la commande pour modifier chacune ; verdict --app <id> pour les règles propres à une app
kilobat verdict --blocked [1…50] [--json]Règles derrière les dernières tentatives bloquées, telles que le filtre les a enregistrées au moment du blocage
kilobat approvals [--json]Apps en attente d’approbation quand les nouvelles apps sont soumises à confirmation, avec leur signataire et leurs destinations
kilobat approve|deny <app-id> [--minutes 1…1440]Bloquer immédiatement une app en attente, ou demander à l’utilisateur de confirmer son autorisation dans Kilobat
kilobat block-host|unblock-host <domain|IP|CIDR> [--app <id>]Bloquer un domaine (sous-domaines compris, *.example.com accepté), une IP ou une plage pour toutes les apps, ou pour une seule
kilobat quit <PID> [--force]Quitter un processus

Configuration

kilobat openOuvrir l’app Mac
kilobat doctorVérifier l’app, le filtre réseau et la surveillance
kilobat completion [zsh|bash|fish]Afficher un script de complétion pour le shell
kilobat mcpLancer le serveur MCP pour les agents IA via stdio
kilobat updateMettre à jour une installation Homebrew

Avancé

kilobat destinations [--pid PID] [--json]Sockets observés par processus
kilobat devices [--all] [--bonjour] [--json]Appareils sur votre réseau, chacun nouveau, connu, inconnu ou ignoré, avec son type et le degré de certitude de Kilobat ; --all ajoute ceux qui ne sont pas présents actuellement
kilobat devices name <MAC> <name>Nommer un appareil
kilobat devices mark <MAC> mine|unknown|ignoredRépondre pour un nouvel appareil, comme dans l’alerte de l’app
kilobat devices type <MAC> <type>|autoDéfinir le type d’un appareil (camera, doorbell, tv, speaker, printer, plug, hub, console, phone, computer, drone, router, nas…) ; auto revient à la détection de Kilobat
kilobat household [--json]Mac jumelés dans l’app et ce que chacun transfère en ce moment ; le jumelage se fait uniquement dans l’app
kilobat smarthome [--json]Réseaux Thread et routeurs de bordure, appareils Matter et HomeKit, et compatibilité du réseau avec Matter ; lecture seule
kilobat trace <host> [--rounds 2…10] [--json]Sondage de route limité à 12 sauts ; --rounds trace plusieurs fois et affiche la perte et le délai de chaque saut
kilobat route-history --host <host> [--json]Chaque trace enregistrée vers un hôte, saut par saut comme mtr : perte, meilleur, moyenne, pire, changements de route et point où le délai commence
kilobat http-check <URL> [--json]Temps DNS, de connexion, TLS et du premier octet
kilobat dns-benchmarkTemps de réponse des résolveurs
kilobat lan-test <server> [--reverse] [--json]Test iperf3 de cinq secondes vers un appareil qui exécute iperf3 -s ; nécessite iperf3, que Kilobat n’installe jamais
kilobat interfaces [--json]Compteurs physiques et VPN, séparément
kilobat capture <interface> <file.pcap>Capture de paquets limitée
kilobat connection-rule allow|block <app> <host> [port]Enregistrer une règle de destination
kilobat blocklist status|import <path>|clearGérer une liste de blocage de domaines
kilobat wake <MAC-address>Envoyer un paquet Wake-on-LAN
kilobat spots [save <name>|remove <id>]Emplacements Wi-Fi enregistrés
kilobat outages / speed-history [--days N]Coupures et tests de débit enregistrés, au format JSON

Scripts et JSON

La sortie passe automatiquement en JSON dans un pipe, pour que les scripts n’aient jamais à analyser la présentation destinée aux humains. Passez --json pour être explicite.

kilobat diagnose | jq .health            # "good", "degraded", "poor" ou "unknown"
kilobat status --watch --json             # un objet JSON par ligne, chaque seconde
kilobat report --summary --days 7 --json  # totaux quotidiens et apps les plus gourmandes
kilobat report compare --total 40GB --period last-month --csv  # à côté du chiffre de ton fournisseur

Définissez NO_COLOR pour désactiver les couleurs. Les changements de DNS nécessitent l’approbation d’un administrateur.