unarr/internal/cmd
Deivid Soto 5d44ee704c
Some checks failed
Release / release (push) Failing after 0s
Release / docker (push) Has been skipped
Release / virustotal (push) Failing after 0s
feat(vpn): unarr vpn command + report/arbitrate the WireGuard slot
Add `unarr vpn` (status/enable/disable, with `status --check`) to manage the
managed WireGuard split-tunnel from the CLI. The daemon now reports its
split-tunnel state (active, mode, exit server) to the web on register and on
every sync, and sends its agent id when fetching the VPN config so the web can
arbitrate the single WireGuard slot (1 VPNResellers account = 1 WG keypair = 1
concurrent connection): the first agent claims it; the rest are told to run
OpenVPN on their own host (1 WireGuard + up to 9 OpenVPN = 10).

`status --check` passes probe=1 so it validates provisioning without claiming
the slot. VPNActive drops omitempty so a downed tunnel reaches the server and
frees the slot. Bumps to 0.9.2 with CHANGELOG + README VPN section.
2026-05-22 08:33:02 +02:00
..
agent_client.go feat(agent): add mirror failover, agent client refactor, status 401 detection 2026-05-15 16:26:43 +02:00
auth_browser.go feat(init): add 60s countdown, skip key, and cancel detection to browser auth 2026-03-30 14:07:57 +02:00
auth_browser_test.go feat(auth): browser-based CLI authentication (like Claude Code) 2026-03-29 17:53:18 +02:00
clean.go fix(lint): use default:none to disable errcheck, fix all gofmt and exhaustive 2026-03-31 00:29:16 +02:00
clean_test.go fix(lint): use default:none to disable errcheck, fix all gofmt and exhaustive 2026-03-31 00:29:16 +02:00
completion.go docs: improve CLI help, shell completion, and README 2026-03-28 21:36:27 +01:00
completion_helpers.go docs: improve CLI help, shell completion, and README 2026-03-28 21:36:27 +01:00
config_menu.go feat(library): add server-driven file deletion with allow_delete config 2026-04-10 16:35:12 +02:00
config_menu_test.go feat(cli): upgrade command, rich status, and version cache 2026-03-31 22:05:43 +02:00
daemon.go feat(vpn): unarr vpn command + report/arbitrate the WireGuard slot 2026-05-22 08:33:02 +02:00
daemon_control.go feat(daemon): enhance service management with start, stop, restart, and status commands for Windows 2026-04-10 19:18:13 +02:00
daemon_install.go feat(daemon): enhance service management with start, stop, restart, and status commands for Windows 2026-04-10 19:18:13 +02:00
daemon_test.go test: add comprehensive test suite for engine, agent and cmd packages 2026-04-08 23:36:00 +02:00
doctor.go chore: rename module from torrentclaw-cli to unarr 2026-03-30 13:06:07 +02:00
doctor_unix.go docs: improve CLI help, shell completion, and README 2026-03-28 21:36:27 +01:00
doctor_windows.go docs: improve CLI help, shell completion, and README 2026-03-28 21:36:27 +01:00
download.go feat(torrent): act as WebTorrent peer for browser ↔ unarr P2P streaming 2026-05-06 08:59:58 +02:00
download_test.go test: add comprehensive test suite for engine, agent and cmd packages 2026-04-08 23:36:00 +02:00
helpers.go fix(security): CORS allowlist, URL scheme guard, state perms, ZIP slip, mirror docs 2026-05-15 18:48:59 +02:00
helpers_test.go fix(security): CORS allowlist, URL scheme guard, state perms, ZIP slip, mirror docs 2026-05-15 18:48:59 +02:00
init.go feat(cli): add login command and refactor shared helpers 2026-04-01 12:20:51 +02:00
inspect.go chore: rename module from torrentclaw-cli to unarr 2026-03-30 13:06:07 +02:00
login.go feat(cli): add login command and refactor shared helpers 2026-04-01 12:20:51 +02:00
migrate.go chore: rename module from torrentclaw-cli to unarr 2026-03-30 13:06:07 +02:00
mirrors.go feat(agent): add mirror failover, agent client refactor, status 401 detection 2026-05-15 16:26:43 +02:00
popular.go chore: rename module from torrentclaw-cli to unarr 2026-03-30 13:06:07 +02:00
probe_hwaccel.go feat(transcode): dynamic H.264 level + HW probe + capability reporting 2026-05-08 15:57:02 +02:00
recent.go chore: rename module from torrentclaw-cli to unarr 2026-03-30 13:06:07 +02:00
reload_unix.go feat(daemon): enhance service management with start, stop, restart, and status commands for Windows 2026-04-10 19:18:13 +02:00
reload_windows.go feat(daemon): enhance service management with start, stop, restart, and status commands for Windows 2026-04-10 19:18:13 +02:00
root.go feat(vpn): unarr vpn command + report/arbitrate the WireGuard slot 2026-05-22 08:33:02 +02:00
scan.go feat(scan): always scan downloads + organize dirs, deduplicate child paths 2026-04-10 11:46:20 +02:00
search.go chore: rename module from torrentclaw-cli to unarr 2026-03-30 13:06:07 +02:00
seed_file_handler.go feat(seed-file): unarr-side handler for browser-on-demand seeding (Fase 4.7.c) 2026-05-06 16:28:01 +02:00
self_update.go fix(security): UPnP opt-in, bounded SSE reader, signed self-update 2026-05-15 17:29:22 +02:00
stats.go chore: rename module from torrentclaw-cli to unarr 2026-03-30 13:06:07 +02:00
status.go feat(agent): add mirror failover, agent client refactor, status 401 detection 2026-05-15 16:26:43 +02:00
stream.go test: add comprehensive test suite for engine, agent and cmd packages 2026-04-08 23:36:00 +02:00
stream_handler.go fix(stream): fix black screen on remote/Tailscale streaming 2026-04-09 16:15:41 +02:00
stream_test.go test: add comprehensive test suite for engine, agent and cmd packages 2026-04-08 23:36:00 +02:00
upgrade.go fix(security): UPnP opt-in, bounded SSE reader, signed self-update 2026-05-15 17:29:22 +02:00
version.go feat(vpn): unarr vpn command + report/arbitrate the WireGuard slot 2026-05-22 08:33:02 +02:00
version_cmd.go docs: improve CLI help, shell completion, and README 2026-03-28 21:36:27 +01:00
vpn.go feat(vpn): unarr vpn command + report/arbitrate the WireGuard slot 2026-05-22 08:33:02 +02:00
watch.go chore: rename module from torrentclaw-cli to unarr 2026-03-30 13:06:07 +02:00
webrtc_session_registry.go feat(stream): real-time transcoding for non-browser-decodable codecs 2026-05-07 09:26:05 +02:00