Getting warmer. Keep going.
DNS lookups are slow. Compare Cloudflare or Google DNS, then restore Automatic if it does not help.

Fix slow internet
Weak Wi-Fi, a busy router, your provider, slow DNS or a backup in the background all feel the same. Kilobat checks each link in the chain and tells you which one is the problem, in plain English.
brew install seifip/kilobat/kilobatGetting warmer. Keep going.
DNS lookups are slow. Compare Cloudflare or Google DNS, then restore Automatic if it does not help.
A page loads only as fast as the slowest step between your Mac and the site. Kilobat measures each one.
Kilobat doesn’t stop at “slow”. With Pro, Health says where, and what to do about it, like: “DNS lookups are slow. Compare Cloudflare or Google DNS, then restore Automatic if it does not help.”
Slow DNS lookups.
Times your resolver, then switch to Cloudflare, Google or Quad9 in one click and back to Automatic. Pro
Wi-Fi signal or a crowded channel.
Signal radar walks you to a stronger spot; channel crowding names a quieter channel for your router. Pro
The router or the line is saturated.
Router and internet latency side by side, and latency under load in the speed test. Free
Short spikes and loss that averages hide.
The stutter test pings every 50 ms and draws every spike. Free
A proxy, VPN, DNS or the server itself.
Why can’t it connect? tests the path that app uses and names the layer that broke. Free
Your provider.
Health records outages and latency over time; the report button turns them into a summary for your provider. Pro
Diagnosis
Name a site or an app and Kilobat checks Wi-Fi, VPN and proxy, DNS, its own rules, the connection and the server’s answer, using the same request and path the app itself uses. Then it names the layer that broke and what to do next.
# Find the layer that stops a connection
$ kilobat why example.com
# Wi-Fi, router, internet, DNS and login-page checks with advice
$ kilobat diagnose
# DNS, connect, TLS and first-byte timing for one URL
$ kilobat http-check https://example.comThe app’s proxy isn’t answering.
Why can’t it connect? Kilobat tests the request and path the app itself uses, its own proxy, IPv6 and tunnels included, and names the layer that broke.
Speed test
Each result records the server it reached, how many connections it used, and the network, Wi-Fi band, signal and VPN at the time. Compare any two tests and Kilobat says what differed, so “it was faster yesterday” gets an answer. Ping under load shows bufferbloat as a number, and a verdict says whether calls, video and streaming will hold up.
Free, capped at 80 MB per test, and skipped on metered networks unless you start it.
Will this call hold up? A speed test for capacity, and a stutter test for the short spikes that speed tests average away.
Provider report
The report button in Health covers what Kilobat measured on this network over 24 hours or 7 days: outages, latency at the router and beyond, ping loss, speed tests against your plan and a check of the site that fails. Copy it as text or save it as a PDF. It leaves out your network’s name, every local address, device names and which apps used the network, and says so.
Your provider says more? Put their figure beside Kilobat’s for the same period, with the hours Kilobat recorded and the likely reasons for a difference.
kilobat diagnose, why, trace and the rest of the CLIPro is $19 once for two Macs, with a 7-day free trial and 14-day refunds. Free for students.
Speed and stutter tests, Why can’t it connect?, the provider report and the CLI’s diagnose are free. Findings with a fix in the app, radar and history are part of Pro, $19 once, with a 7-day free trial.
Yes. kilobat diagnose --json and the MCP server give agents the same measurements and advice. See the docs.
Only when you ask, such as switching DNS, and it puts Automatic back with one click. Diagnosis only reads.
Speed tests measure how much fits through the line. Browsing feels slow when lookups, the first byte or short spikes are slow, which a big download hides. Kilobat measures those separately.
brew install seifip/kilobat/kilobat