Skip to content

NetLights 1.9.0

Choose a tag to compare

@willowhawk-k willowhawk-k released this 04 Aug 14:47
· 73 commits to main since this release
99119e3

NetLights 1.9.0

NetLights now has a command line — the same on macOS and Linux.

netlights tui — a live terminal dashboard

A full-screen view in the spirit of top, refreshing about once a second. Switch views with
graph / routes / interfaces / devices / dns (or 1–5); h hides
inactive interfaces, p masks addresses, s re-sorts routes, SPACE pauses, q quits.
It works over SSH, adapts to your terminal's width and colour support, and tui --once prints
a single frame for pipes, cron jobs and CI.

netlights serve — the web UI, anywhere

The browser view that shipped on Linux now works on macOS too: the same live graph plus
/snapshot.json, with a configurable --port and --bind.

It listens on 127.0.0.1 by default. It has no authentication and publishes your
interfaces, addresses, routes and DNS servers, so reaching it from the network is an explicit
--bind all that prints a warning. It also refuses requests with an unrecognised Host, so a
hostile web page can't read it out of your browser. See PRIVACY.md.

Install the command

brew tap willowhawk-k/tap
brew install --cask netlights

Already have NetLights from the Mac App Store? brew install netlights-cli adds just the
command (tui and --dump-json; the sandbox means serve needs this build).

Also fixed

  • The web UI reported throughput eight times too slow — it derived rates in bytes/sec while
    the app uses bits/sec. Rate derivation now lives in one shared place.
  • --bind never worked on Linux: the server hardcoded "all interfaces" and ignored the address
    it was given. It now honours the setting, and defaults to loopback.
  • A crash when launched from a terminal. macOS attributes privacy requests to the responsible
    process, so reading Bluetooth from a shell-launched NetLights was killed by the system. Every
    command-line path now avoids that; typing netlights hands the window off to LaunchServices
    so it opens as a normal app with the full device list.
  • The terminal dashboard's status line was never visible (one line terminator too many).
  • Device names, Wi-Fi network names and DNS search domains are supplied by other parties, so
    they're now neutered before being drawn and escaped before reaching the browser. serve
    gained connection timeouts and snapshot caching.

NetLights is free and open source (MIT). On the GitHub build the Sponsor link is on the
repo; the Mac App Store build omits it per App Store guideline 3.1.1.