Files
tsunagi/dist/arch
Aleksandr BogomiakovandClaude 2e178a6f9d
Release / tsunagi-linux-aarch64 (push) Successful in 2m19s
Release / tsunagi-linux-x86_64 (push) Successful in 3m56s
Release / tsunagi-macos-aarch64 (push) Canceled after 0s
Release / tsunagi-windows-x86_64 (push) Canceled after 0s
Release / Publish release (push) Canceled after 0s
Tray: About window, fixed-width device table with totals; WTFPL
Add an About window (client and agent details, protocol versions), pin the
device table's column widths and add a total row, show the version in the
header and drop the refresh button. Relicense under WTFPL.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 20:16:01 +01:00
..

Running tsunagi on Arch Linux

Install the package built for your architecture:

sudo pacman -U tsunagi-*-x86_64.pkg.tar.zst

It drops a static, dependency-free binary at /usr/bin/tsunagi, a systemd service, and a polkit rule, and creates a dedicated system user tsunagi the service runs as.

Start it:

sudo systemctl enable --now tsunagi

Control it with sudo (the agent's control socket is private to the service user; sudo reaches it with no extra flags, because the CLI finds the running service's socket at /run/tsunagi/agent.sock):

sudo tsunagi status
sudo tsunagi join <network-name> <tsn1…secret>

How it runs

The service runs as the unprivileged tsunagi user with just two capabilities (CAP_NET_ADMIN, CAP_NET_BIND_SERVICE) granted by systemd — no root. systemd creates and owns its directories:

what path
state /var/lib/tsunagi
cache /var/cache/tsunagi
control socket /run/tsunagi/agent.sock

The polkit rule lets anyone in the tsunagi group configure systemd-resolved for the overlay zones (the service user is in that group). To run the agent as your own user as well, add yourself to the group: sudo usermod -aG tsunagi "$USER".

Removal

sudo pacman -R tsunagi

stops and disables the service. The tsunagi user and /var/lib/tsunagi are left in place; remove them by hand if you want them gone.