Справочник CLI

Все команды kilobat, вывод в JSON и скрипты.

Команды

Мониторинг

kilobat status [--watch] [--json]Трафик по приложениям и лимит сеанса в реальном времени; снимок в JSON или поток JSON Lines с --watch
kilobat report [--csv|--json] [--summary] [--days 1…365]Локальная история использования или итоги по дням и топ приложений; в CSV по строке на приложение
kilobat report compare --total 40GB [--unit GB|GiB] [--direction both|download|upload] (--from DATE --to DATE | --period last-month) [--network NAME] [--json|--csv]Цифра роутера или провайдера рядом с тем, что Kilobat записал на этом Mac за тот же период и в тех же единицах, с записанными часами, каждым пробелом в данных и вероятными причинами расхождения
kilobat health-history [--hours 1…720] [--json]Проверки роутера, интернета, джиттера и DNS, которые приложение записывало во времени
kilobat proxy [routes [--app name] | test] [--json]Прокси-приложения, системный прокси и их проблемы; какое правило и какой узел использовало каждое приложение; как быстро отвечает каждый узел
kilobat vpn [--json]VPN, идут ли DNS или IPv6 в обход него, и состояние Kill Switch VPN
kilobat vpn leaks [--json]Проверка на утечки: идут ли DNS, IPv6 или UDP (его использует WebRTC) в обход VPN, с настройкой, которая это исправляет; обращается к bash.ws, Cloudflare и STUN-серверу
kilobat calls [--limit 1…200] [--json]После каждого звонка: сколько раз он зависал и почему — по отчётам, которые пишет приложение
kilobat remote [--limit 1…200] [--kind ssh|mosh|desktop] [--json]После каждого сеанса SSH, Mosh или удалённого рабочего стола: почему запаздывал ввод или зависал экран и когда помог бы Mosh
kilobat stream [status|check|reports] [--json]OBS через локальный WebSocket: идёт ли эфир и теряются ли кадры, проверка скорости отдачи перед эфиром относительно битрейта с запасом 30% (check [--bitrate <kbps>] [--measure|--no-measure]) и отчёты после каждой трансляции (reports [--limit 1…200])
kilobat cloud-gaming [status|reports] [--limit 1…200] [--json]GeForce NOW, Xbox Cloud Gaming, Boosteroid, Amazon Luna и Shadow: текущий сеанс (ping, джиттер, потери, битрейт, данные и помехи) и отчёт после каждого с временем и причинами задержек
kilobat overlay [--port 7171] [--target internet|router|cs2:fra|host]Оверлей с пингом в реальном времени для OBS и других приложений для стриминга, работает на localhost до Ctrl-C; игровой регион, например cs2:fra, пингует этот дата-центр
kilobat support-report [--hours 1…168] [--host h] [--include-sites] [--markdown|--html] [--output f]Отчёт для провайдера или ИТ-поддержки: находки, задержка, сбои и тесты скорости — без имени вашей сети и локальных адресов
kilobat plan [--days 7…90] [--json]Тесты скорости в сравнении с оплаченным тарифом в каждой сети: медиана, вечера рядом с остальным временем и как часто тест не дотягивал до половины
kilobat credit [--provider id] [--price n] [--month this|last|YYYY-MM] [--draft] [--json]Сбои за месяц за вашим роутером в сравнении с опубликованным правилом компенсации вашего провайдера, на что они могут дать право, и готовое заявление; <code>credit providers</code> выводит список правил
kilobat week [--weeks-ago 0…12] [--json]Еженедельная сводка: самые заметные сбои, зависшие звонки, роутер, блокировки и трафик в лимитных сетях за прошлую неделю в сравнении с предыдущей
kilobat router [--all] [--json]Проверка роутера: его обычные ответы, потери и обрывы в сравнении с последними тремя днями, перезапуски и помогли ли они — по проверкам, которые хранит приложение
kilobat router connect [fritzbox|unifi|mikrotik|openwrt] [--json]Шаги настройки подключения роутера в Pro; учётные данные никогда не принимаются в командной строке
kilobat router devices [--json]Клиенты подключённого роутера, измеренные скорости и сегодняшние итоги через приложение; FRITZ!Box и другие общедомовые счётчики не показывают долю отдельного устройства; счётчики клиентов могут включать локальный трафик
kilobat router disconnect [--json]Забыть роутер для этой сети; приложение удалит его учётные данные из Связки ключей сразу или при следующем запуске
kilobat service-speed [--all] [--test <service>] [--list] [--json]Ваши загрузки из GitHub, iCloud, Steam, npm и других сервисов в сравнении с линией и медленный маршрут провайдера к ним; <code>--test</code> загружает сейчас до 25 MB из одного сервиса
kilobat hotspot [--all] [--carrier <id>] [--detect] [--json]В точке доступа телефона: ограничиваются ли все загрузки пределом оператора, лежащие в основе измерения и опубликованные правила оператора; <code>hotspot carriers</code> выводит их список
kilobat networks [forget <name>]Встреченные сети с запомненными для каждой профилем, лимитом и стоимостью трафика
kilobat networks cost <metered|unmetered|automatic> [name]Считать эту или указанную сеть лимитной или безлимитной либо снова следовать macOS
kilobat bandwidth [app] [hour|day|week|month] [--back N] [--json]Отправленные и полученные байты одного приложения за час, день, неделю или месяц, с пиком; --back переходит к более ранним периодам
kilobat access-policy <bundle-id> [--json]Подключения, которые разработчик приложения заявил в Internet Access Policy, и зачем они нужны

Диагностика

kilobat diagnose [--json]Проверки Wi-Fi, роутера, интернета, DNS и страниц авторизации с советами
kilobat radar [--watch] [--json]Оценка сигнала и поиск лучшего места
kilobat scan [--json]Ближайшие сети, каналы, ширина и защита
kilobat channels [--json]Загруженность каждого канала и наименее занятый из них
kilobat speedtest [--json] [--budget-mb 1…80] [--parallel]Скорость до Cloudflare, задержка под нагрузкой и вердикты для звонков и стриминга, не больше 80 MB. По умолчанию одно подключение; --parallel открывает четыре, как большинство сайтов для теста скорости
kilobat speed-compare [<test> <test>] [--json]Чем отличались два сохранённых теста скорости: сеть, время, сервер, подключения, диапазон Wi-Fi и сигнал, VPN, другой трафик
kilobat ip [--public] [--json]Куда уходит трафик: интерфейс и VPN, если он есть, по данным этого Mac; --public также запрашивает у Cloudflare ваш публичный IP и страну его регистрации
kilobat portal [open] [--json]Страницы входа в Wi-Fi: проверка прямо сейчас (доступ открыт, страница входа или нет сети, с адресом страницы, значения параметров запроса скрыты), просит ли эта сеть войти, завершила ли она сеанс или сколько осталось, и обычная длительность входа в каждой сети; open открывает страницу в браузере
kilobat stutter [--seconds 10…60] [--target router|internet|<host>] [--json]Пинг каждые 50 ms, чтобы найти короткие всплески задержки, которые пропускают тесты скорости: когда они случаются и повторяются ли
kilobat starlink [--hours 1…720] [--json]Тарелка Starlink в этой сети, прочитанная локально: состояние, пинг до наземной станции, предупреждения, карта неба и сторона препятствия, а также сбои с разбивкой на ваше оборудование, сеть Starlink и перезапуски тарелки
kilobat games [--game <game> | --all | --match] [--json]Показывает игры, которые Kilobat пингует, и те, которые не может, с причиной; с --game пять раз пингует каждый дата-центр этой игры (ретрансляторы Valve, ping-серверы Epic или регионы AWS и Azure, где она размещена) и называет ближайший; с --match находит и пингует сервер матча, в котором вы играете, в любой игре — готово для оверлея
kilobat airdrop [status|everyone|contacts|off] [--json]Видимость AirDrop, канал AirDrop (AWDL) и то, что его использует; смена видимости открывает Системные настройки
kilobat bluetooth [--json]Устройства Bluetooth и то, делят ли они диапазон 2.4 GHz с вашим Wi-Fi
kilobat bluetooth audio [--json]Пока играют AirPods или другие наушники Bluetooth: из-за чего они могут трещать (2.4 GHz, AirDrop, большая загрузка, слабый сигнал) и что изменить по порядку
kilobat local [check] [--quick] [--json]Можно ли здесь транслировать или печатать? Ответившие Chromecast, приёмники AirPlay и принтеры, возможная изоляция устройств сетью (её нельзя подтвердить только обнаружением), собственная сеть Wi-Fi принтера или камеры и причины прерывания трансляции
kilobat dns [automatic|cloudflare|google|quad9|flush]Показать или задать DNS либо очистить кэш
kilobat dns fastest [--all] [--json]Самый быстрый DNS в этой сети по фоновым проверкам приложения Cloudflare, Quad9 и Google, с указанием оператора и местоположения каждого сервера и ответов на запросы за 14 дней
kilobat dns авто on|off [--network <name>]Pro: переключаться на самый быстрый DNS при подключении — везде или в одной сети
kilobat dns exclude|include <resolver>Никогда не замерять и не выбирать резолвер или добавить свой по IP-адресу
kilobat dns fallback <resolver>|offDNS-сервер для переключения при сбое самого быстрого, до возврата к DNS сети

Wi-Fi

kilobat wifi [status]Текущая сеть, сигнал, канал и ширина, скорость соединения, стандарт Wi-Fi, защита и мощность передачи
kilobat wifi on|off|restart|disconnectУправление питанием Wi-Fi и подключением
kilobat wifi join <name> [--password-stdin]Подключиться к сохранённой или новой сети
kilobat wifi knownСохранённые сети в порядке приоритета
kilobat wifi password|share <name>Показать сохранённый пароль или QR-код для сканирования телефоном
kilobat wifi nodes [name <node> <name>] [--json]Узлы mesh-сети или точки доступа этой сети, текущий узел Mac и наличие гораздо более близкого; узлу можно дать имя, например «Офис»
kilobat wifi reconnect [--json]Переключиться на более близкий узел и сообщить результат
kilobat low-latency on [--for 15m|1h|2h] [--until-quit <app>]Приостановить AirDrop и AWDL на время звонков и игр: по умолчанию на 15 минут, максимум на 4 часа или до закрытия приложения
kilobat low-latency offВернуть AirDrop и AWDL, в том числе после паузы, включённой в приложении

Без сна и агенты

kilobat awake [--display]Не давать Mac уснуть до Ctrl-C; при закрытии крышки он всё равно уснёт, если не добавить --lid-closed
kilobat awake --lid-closed [--for 2h|--until-quiet|-- <command>]Продолжать работу и с закрытой крышкой, максимум 8 часов, через помощник питания приложения; требуется «Разрешить работу с закрытой крышкой» в настройках
kilobat awake --for 90m|2h|45sНе засыпать какое-то время
kilobat awake --until-quiet [--app <id>] [--quiet 1…60]Не засыпать, пока загрузки или одно приложение не затихнут: по умолчанию ниже 16 KB/s в течение 3 минут
kilobat awake -- <command> [args]Не засыпать, пока выполняется команда, затем сообщить, сколько данных передали её процессы, и выйти с её кодом завершения
kilobat awake --while-frontmost <app> [--display] [--for 2h]Не засыпать, только пока это приложение на переднем плане, — для чтения или презентаций. Если переключиться на другое, Mac может уснуть; режим заканчивается, когда приложение закрыто, при 20% заряда или по истечении --for. --display не даёт погаснуть и экрану
kilobat settings awake-on-power on|offПриложение не даёт Mac уснуть, пока подключён адаптер питания, и снова разрешает сон, когда его отключают
kilobat settings keep-screen-on on|offНе выключать и экран для всего, что приложение не даёт уснуть: таймеры, загрузки, агенты, приложение на переднем плане и питание от сети
kilobat sessions [--days N] [--json]Сеансы без сна и запуски ИИ-агентов, записанные приложением, с расходом данных и сменами сети
kilobat agent-log [--all] [--since 2h|3d|date] [--agent claude] [--flagged] [--json]Все хосты, к которым обращались ИИ-агент и запущенные им команды, с байтами и отметками: последний сеанс или, если команду запускает сам агент, его собственный. Записывает приложение с Pro
kilobat history forget <host> [--subdomains] [--json]Удалить узел из заблокированных попыток, сетевого журнала агентов, адресов запусков агентов и памяти уведомлений защиты
kilobat history clear --hour|--today|--all [--json]Очистить эту историю узлов за последний час, с полуночи или полностью; будущая активность может снова записываться
kilobat agent-log --watch [--agent claude] [--flagged] [--json]Записывает то же самое в реальном времени в этом терминале, без приложения; ничего не сохраняется
kilobat protect [status|on|off|update] [--threats|--trackers|--agents] [--json]Защита: блокировка известных хостов с вредоносным ПО, фишингом и мошенничеством (Pro), трекеров в приложениях (бесплатно, по умолчанию выключено) и контроль агентов (Pro); update сразу загружает списки
kilobat protect check <host> [--json]Есть ли хост в списке угроз или трекеров, в каком именно и блокирует ли его Kilobat; если блокирует, завершается с кодом 1
kilobat protect allow|unallow <host>Пропустить сайт и его поддомены мимо всех списков Защиты или отменить это
kilobat agent-event <start|working|waiting|done|failed> [--agent name] [--stdin-json|--json-arg]Для хуков агента: сообщает приложению, что запуск начался, ждёт вас или завершён. Ничего не выводит, всегда завершается с кодом 0
kilobat why <url|host> [--app <id>] [--proxy <url>] [--context container|vm|remote|provider] [--failed-at <time>] [--error <text>] [--json]Найти уровень, который препятствует подключению: сеть и интерфейс, прокси и собственный прокси приложения, DNS, правила Kilobat, IPv4 и IPv6, TLS, сервер и каждое перенаправление, а также блокирует ли это сеть или сервис отказывает вашему региону. Запрашивает точный URL; в результате скрыты значения параметров запроса. Также kilobat doctor <url|host>
kilobat down [service|host…] [--all] [--list] [--json]Проблема у них или у меня? Что сейчас сообщают публичные страницы состояния Slack, Zoom, GitHub, Claude, OpenAI и примерно семидесяти других сервисов и подключаются ли они отсюда: заблокированы в этой сети или недоступны в вашем регионе; если сервис не указан — проверяются приложения, работающие на этом Mac
kilobat explain <process|host…> [--process name --host name] [--json]Что представляет собой процесс macOS или узел, какой трафик для него обычен, безопасна ли блокировка и что перестанет работать, по собственной базе Kilobat на этом Mac. Для неизвестных объектов показываются имеющиеся у Kilobat сведения
kilobat conditions [--json]Лимитная сеть, экономия данных, VPN, задержка, батарея и нагрев, можно ли закрыть крышку, — с советами для долгих запусков

Управление

kilobat profile [travel|work|unrestricted]Показать профили или выбрать профиль
kilobat allow|block <bundle-id> [--minutes 1…1440] [--profile name]Сохранить правило для приложения — при желании временное или для другого профиля
kilobat reset <bundle-id> [--profile name]Удалить правило приложения, чтобы оно следовало поведению по умолчанию
kilobat rules [--profile name] [--json]Правила профиля
kilobat limit [GB] [--cycle session|daily|weekly|monthly] [--reset-day N] [--alert 50,80,100]Показать или задать лимит трафика этой сети, когда он обнуляется и когда приходят уведомления
kilobat quota <bundle-id> <GB> [--upload] [--all-networks]Ограничить трафик одного приложения за цикл лимита; quota <bundle-id> --remove снимает ограничение
kilobat quota --list [--json]Квоты приложений и расход каждого в этом цикле
kilobat pack [status] [--json]Пакеты данных, например туристическая eSIM, с остатком и датой исчерпания каждого при темпе последних трёх дней
kilobat pack add <GB> <days|YYYY-MM-DD> [--network <name>] [--name <label>] [--start YYYY-MM-DD]Добавить пакет данных в этой сети, в сетях, которые видел Kilobat, или в любой сети, имя которой содержит заданный текст
kilobat pack correct <GB-left> [--pack <name>]Указать остаток из приложения оператора, поскольку Kilobat учитывает только этот Mac
kilobat pack end [--pack <name>]Завершить пакет данных сейчас; он останется в истории
kilobat updaters [--json]Обновления, приостановленные в лимитных сетях, байты обновлений, которые всё же прошли в этой сети, и приложения, обновляющиеся изнутри себя
kilobat updaters on|offПриостанавливать помощники обновления, такие как Google Updater и «Обновление ПО» macOS, пока сеть лимитная (включено по умолчанию); сами приложения продолжают работать
kilobat settings kill-switch on|offPro: блокировать новые подключения, когда VPN отключён; kill-switch-lan on|off оставляет локальную сеть доступной на это время
kilobat uploads [--json]Приложения, которые сейчас много отдают, со скоростью, объёмом уже отправленного и оставшимся временем, если известен общий объём, а также отправки, отложенные на потом
kilobat uploads hold <app> [--until unmetered|fast|fast:<Mbps>|2h|manual]Откладывает отправку данных приложением до безлимитной или более быстрой сети, на время или пока вы её не возобновите (Pro); uploads resume <app> отпускает её
kilobat settings [name [value] ]Показать или изменить настройки, такие как new-apps (allow, ask или block), apple-software, auto-travel, pause-updaters, kill-switch, awake-on-power, public-ip (по умолчанию выключено), speed-streams, alerts и menu-bar
kilobat verdict <host> [--app <id>] [--port N] [--incoming] [--json]Почему Kilobat разрешает или блокирует соединение: все подходящие правила в порядке проверки фильтром, решающее правило и команда изменения каждого; verdict --app <id> показывает собственные правила приложения
kilobat verdict --blocked [1…50] [--json]Правила последних заблокированных попыток, записанные фильтром в момент блокировки
kilobat approvals [--json]Приложения, ожидающие решения, когда для новых приложений включены вопросы, с подписью и адресами назначения
kilobat approve|deny <app-id> [--minutes 1…1440]Сразу заблокировать ожидающее приложение или попросить человека подтвердить разрешение в Kilobat
kilobat block-host|unblock-host <domain|IP|CIDR> [--app <id>]Заблокировать домен (вместе с поддоменами, *.example.com тоже подойдёт), IP или диапазон для всех приложений или для одного
kilobat quit <PID> [--force]Завершить процесс

Настройка

kilobat openОткрыть приложение для Mac
kilobat doctorПроверить приложение, сетевой фильтр и мониторинг
kilobat completion [zsh|bash|fish]Вывести скрипт автодополнения для оболочки
kilobat mcpЗапустить сервер MCP для ИИ-агентов через stdio
kilobat updateОбновить установку из Homebrew

Для экспертов

kilobat destinations [--pid PID] [--json]Наблюдаемые сокеты процессов
kilobat devices [--all] [--bonjour] [--json]Устройства сети с состоянием «новое», «известное», «неизвестное» или «игнорируемое», их типом и уверенностью Kilobat; --all добавляет устройства, которых сейчас нет в сети
kilobat devices name <MAC> <name>Назвать устройство
kilobat devices mark <MAC> mine|unknown|ignoredОтветить про новое устройство, как в уведомлении приложения
kilobat devices type <MAC> <type>|autoЗадать тип устройства (camera, doorbell, tv, speaker, printer, plug, hub, console, phone, computer, drone, router, nas…); auto возвращает определение Kilobat
kilobat household [--json]Mac, связанные в приложении, и сколько данных каждый передаёт сейчас; связывание — только в приложении
kilobat smarthome [--json]Сети Thread и пограничные маршрутизаторы, устройства Matter и HomeKit и готовность сети к Matter; только чтение
kilobat trace <host> [--rounds 2…10] [--json]Ограниченная трассировка маршрута до 12 узлов; --rounds трассирует несколько раз и показывает потери и задержку каждого узла
kilobat route-history --host <host> [--json]Все сохранённые трассировки до хоста, узел за узлом, как mtr: потери, лучшая, средняя и худшая задержка, смены маршрута и место, где начинается задержка
kilobat http-check <URL> [--json]Тайминги DNS, подключения, TLS и первого байта
kilobat dns-benchmarkВремя ответа DNS-серверов
kilobat lan-test <server> [--reverse] [--json]Пятисекундный тест iperf3 до устройства, на котором запущен iperf3 -s; нужен iperf3, который Kilobat никогда не устанавливает
kilobat interfaces [--json]Счётчики физических интерфейсов и VPN по отдельности
kilobat capture <interface> <file.pcap>Ограниченный захват пакетов
kilobat connection-rule allow|block <app> <host> [port]Сохранить правило для адреса назначения
kilobat blocklist status|import <path>|clearУправление списком блокировки доменов
kilobat wake <MAC-address>Отправить пакет Wake-on-LAN
kilobat spots [save <name>|remove <id>]Сохранённые точки Wi-Fi
kilobat outages / speed-history [--days N]Записанные обрывы и тесты скорости в JSON

Скрипты и JSON

Когда вывод идёт в конвейер, он автоматически переключается на JSON, поэтому скриптам не нужно разбирать вывод для людей. Чтобы указать это явно, передайте --json.

kilobat diagnose | jq .health            # "good", "degraded", "poor" или "unknown"
kilobat status --watch --json             # один объект JSON в строке каждую секунду
kilobat report --summary --days 7 --json  # итоги по дням и приложения с наибольшим расходом
kilobat report compare --total 40GB --period last-month --csv  # рядом с показателем провайдера

Задайте NO_COLOR, чтобы отключить цвета. Изменение DNS требует подтверждения администратора.