v0.3.0
Changelog
Features
- 5c5dfcb: feat(feed): bind the status socket and hand it to the real user (@nledez)
- 3ceb2a3: feat(feed): declare the messages that travel on the status socket (@nledez)
- c717c88: feat(feed): greet clients, fan views out, say goodbye (@nledez)
- b388636: feat(feed): let a client ask for a fresh view, at most every 2s (@nledez)
- 0ce4539: feat(feed): sample a tunnel only while somebody is watching it (@nledez)
- fb3df0d: feat(tui): publish every view to the feed, and honour a refresh (@nledez)
- 47114e2: feat: add
backupto archive the configuration and every tunnel (@nledez) - 0db61d0: feat: add
importto take a .conf into the managed set (@nledez) - fc94880: feat: switch the status feed on, diagnose it and document it (@nledez)
Fixes
- c70a3c6: fix(feed): close a stalled writer, reject a client mid-shutdown, cancel the ctx watcher on every return (@nledez)
- 4b3bb3e: fix(feed): close the six gaps from the whole-branch review (@nledez)
- d1d7663: fix(feed): protect s.ln with mutex, skip test when root, remove dead nolint directives (@nledez)
- a622627: fix(feed): stop t.TempDir() from overflowing the socket path limit (@nledez)
- 32ecad5: fix(tui): make the feed-wiring test assert the wiring (@nledez)
Other
- 7559b2b: refactor: give status --json and the coming feed one JSON vocabulary (@nledez)
- 9b7b575: test(feed): add tests for helper methods to meet coverage floor (@nledez)
- b6d38c3: test(feed): cover filesystem error paths in Listen and Close (@nledez)
- a3d3062: test(feed): fix TestDroppingOneClientLeavesTheOthersServed flakiness (@nledez)
- 92b7831: test(feed): pin the policy that a slow client is dropped (@nledez)
- c92e3b8: test(feed): replace sleep with proper synchronization in TestDroppingOneClientLeavesTheOthersServed (@nledez)
- 6e2ea89: test(feed): wait for backpressure connections to register before publishing (@nledez)
Install
tar xzf tun-manager_0.3.0_darwin_universal.tar.gz
sudo install -m 0755 tun-manager /usr/local/bin/tun-manager
tun-manager doctorThe binaries are not notarized, so macOS quarantines them on first run.
Clear it with xattr -d com.apple.quarantine ./tun-manager, or build from
source with make build.
tun-manager runs as root: the WireGuard control sockets are root-only.