Skip to content

Current status

What works today, what is planned. anyhop is usable now as a CLI-first client for per-app and per-workflow VPN exits.

Providers

Provider Support
NordVPN Token/API setup, location selection, automatic WireGuard channel creation
Proton VPN WireGuard .conf import

Which providers can come next, and why some cannot, is in VPN provider research.

Platforms

Platform Support
macOS Supported
Linux Supported
Docker Supported — ghcr.io/anyhop/anyhop
Windows Planned

Features

Area Status
Core CLI Providers, channels, per-channel proxies, status, tests (probe + speed + traffic), logs
Routing Ruleset-based router entrypoint with domain/CIDR/all matchers, kill-switch, CLI shadow lint, built-in LAN bypass
Web UI Dashboard (channels, probe/speed, routes, kill-switch) + Bundle + Logs pages
REST API Everything the CLI does over /api/v1 (Bearer auth) — for scripts and compose siblings
Docker Container profile: proxy hub for compose networks, VPN gateway container (tun), declarative boot config
Distribution PyPI, one-command uv bootstrap, Homebrew, GHCR

Planned next

  • More VPN providers: WireGuard now, and OpenVPN-only providers once anyhop adds an OpenVPN provider archetype (sing-box 1.14.0 has shipped the OpenVPN client this was waiting on) — see VPN provider research.
  • A macOS native app, built as an independent project on top of the public REST API — not bundled with this CLI core or the Web UI.
  • Windows support and broader distribution.

Non-goals

  • IKEv2/IPsec support.
  • VPN providers without a usable WireGuard or (once anyhop ships the OpenVPN path) OpenVPN credential path — the excluded list and the reasoning for each is in VPN provider research.
  • SOCKS5-only or unencrypted proxy providers.
  • Bundling sing-box inside the Python package.