Skip to content

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 21 Aug 10:50
· 9 commits to main since this release

Changelog

Features

  • a99f061: feat(cli): feed-key, and a rotation that says what it costs (@nledez)
  • 004c751: feat(cli): init-privileged lays out the half that belongs to root (@nledez)
  • 7cc1a5e: feat(cli): show a configuration before importing it, and ask (@nledez)
  • 2adb6e9: feat(cli): the modes stop being advice (@nledez)
  • e78f714: feat(config)!: what root runs comes from a file only root can write (@nledez)
  • cfef68e: feat(feed): the publisher asks the kernel who is connecting (@nledez)
  • a94cdaa: feat(feed): the publisher can be made to prove which one it is (@nledez)
  • f74fa8b: feat(macos): a panel for a key that changed, and one way out of it (@nledez)
  • dfbb7e4: feat(macos): a way into the table, a window that closes, and the key in About (@nledez)
  • 4ea3740: feat(macos): ask the kernel who is answering, not only what it signs (@nledez)
  • 7aed4b5: feat(macos): double-clicking a row opens that tunnel (@nledez)
  • fdeef7d: feat(macos): the application checks the proof, and remembers the key (@nledez)
  • c5932b6: feat(wg): check the binary root is about to run, in the code that runs it (@nledez)
  • abbaa35: feat(wg): let an installation that root owns be held to it (@nledez)
  • 9e04cea: feat: the button that posts a notification lives where it can say what happened (@nledez)

Fixes

  • ff24b5f: fix(cli): the archive of every private key lands where root says (@nledez)
  • 821a6cc: fix(feed): bound what one client can cost the publisher (@nledez)
  • 05d280b: fix(feed): stop refusing /var/run, and say it where somebody reads it (@nledez)
  • dac1d9b: fix(feed): the floor on signatures belongs to the client, not the publisher (@nledez)
  • 4a08be1: fix(feed): the publisher unlinks a stale socket, and nothing else (@nledez)
  • b0dfac8: fix(feed): the socket is 0600 from the moment it exists (@nledez)
  • d0ecad3: fix(macos): the real socket is not root's, and that is by design (@nledez)
  • f7a0ba8: fix(macos): what an abandoned connection says is not about the next one (@nledez)
  • 7c93c43: fix(privdrop): root stops writing wherever it was pointed (@nledez)
  • 6d5f347: fix(profile): a refresh interval below a second is raised, and said (@nledez)
  • 11933c5: fix(profile): reading the user's configuration has to end, and say nothing (@nledez)
  • 6501df4: fix(wgconf): what a tunnel may be called is a fact about tunnels, not about import (@nledez)
  • 5932062: fix: a hard link is not a symbolic link, and O_NOFOLLOW knows nothing about it (@nledez)
  • 780e68c: fix: a terminal runs what it is handed, and a menu draws it (@nledez)
  • daa1303: fix: the feed never got the key it was supposed to publish under (@nledez)

Other

  • 9016f62: ci: a linter older than the toolchain cannot read the standard library (@nledez)
  • 8afbb20: ci: the release waits for the application it ships alongside (@nledez)
  • 0fdc0a6: refactor(notify): one absolute path, and no PATH at all (@nledez)
  • b9321e5: refactor: tun-manager posts no notifications, and starts no process for one (@nledez)

Install

tar xzf tun-manager_0.7.0_darwin_universal.tar.gz
sudo install -m 0755 tun-manager /usr/local/bin/tun-manager
tun-manager doctor

The 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.