Skip to main content

anyhop

CI PyPI Homebrew ghcr.io License

anyhop

A universal VPN client that manages multiple VPN connections with rule-based routing, with interfaces for human (Web UI and CLI) and programs (REST API and Docker image). Works with commercial VPN services and with your own self-hosted WireGuard servers.

Platforms

Supported


Docker

macOS/Linux CLI

Web UI

Planned — native apps


macOS app

Linux GUI

Windows app

OpenWrt (LuCI)

VPN Providers

Supported


NordVPN

Proton VPN

customized

Not only commercial VPNs: the customized provider takes any WireGuard server — one you host yourself, or a provider not listed here. Import its standard .conf under a name you choose (optionally with a country/city), and it becomes a channel like any other:

anyhop providers add customized
anyhop channels add customized --name home --config ~/wg/home.conf --country Germany

Planned


ExpressVPN

Surfshark

CyberGhost

PIA

Windscribe

IPVanish

Mullvad

PureVPN

VyprVPN

HideMyAss

VPN Unlimited

PrivadoVPN

TorGuard

PrivateVPN

FastestVPN

IVPN

AirVPN

VPN.ac

VPNSecure.me

SlickVPN

See VPN provider research for setup archetypes, provider-specific constraints, and excluded providers.

anyhop Web UI dashboard
Web UI

Why anyhop

For people

You already pay for a commercial VPN (or run your own WireGuard servers) — but a VPN client connects to one location at a time. Switching countries means disconnecting, reconnecting, and breaking whatever was using the old exit. Two locations at once is not on offer.

anyhop keeps several exits live simultaneously, from one provider or mixed across providers and your own servers. Different traffic leaves through different VPN servers, decided by anyhop's routing rules:

Three apps routed through anyhop to three different VPN exits at the same time

For programs

Every action the CLI performs is also a REST call, and each exit is a stable 127.0.0.1:<port> proxy. So another program can drive the whole lifecycle of many VPN connections — create, probe, rotate, retire — on its own schedule, with no human clicking a client. That is what makes proxy rotation across regions, and reaching geofenced resources from wherever they are served, something you can script.

It also ships as a container image (ghcr.io/anyhop/anyhop) so a compose stack can add it as one service and let sibling containers reach the internet through whichever exit the rules pick.

You may also have heard of gluetun or vopono — anyhop and gluetun and anyhop and vopono compare anyhop to each.

What anyhop does

anyhop runs multiple VPN exits side by side, each its own local HTTP+SOCKS proxy. One router entrypoint sends traffic by rule to an exit, straight out, or nowhere at all — see Rule-based routing. For a whole-machine VPN through those same rules there is an optional TUN mode (anyhop tun on, one-time privilege grant): CLI reference, runbook.

The runtime model — one sing-box process, state, ports, probes — is in How it works. What is supported today is in Current status.

For AI Coding Agents

anyhop for agents — copy-paste to your coding agent to teach them how to use anyhop. It carries the model, the facts that change how the code is written, and links it can fetch on demand.

Quick Start

For macOS + Linux: installs anyhop and its user-level login service

curl -LsSf https://github.com/anyhop/anyhop/releases/latest/download/install.sh | sh

Then add a VPN provider (use NordVPN as example) and create a connection ("channel").

anyhop providers add nordvpn      # will ask you for NordVPN token
anyhop channels add nordvpn --country "United States"
anyhop start
anyhop channels ls                # prints each channel's local proxy port

Homebrew, uv, pipx, Docker, the checksum-verified manual install, and the uninstaller are all in Getting started; container deployments are in Docker.

Documentation

Using anyhop

  • Getting started — install, quick start, provider setup, everyday commands, channel enable/disable.
  • Rule-based routing — the router entrypoint: rulesets, first-match priority, kill-switch, built-in LAN bypass.
  • Web UI — the browser dashboard (anyhop ui): pages, sign-in, remote access over SSH.
  • CLI reference — every command, flag, and environment variable.

Automating anyhop

  • anyhop for agents — the entry point to hand a coding agent: model, minimal call set, failure modes, progressive links.
  • REST API — the /api/v1 contract: everything the CLI can do, over HTTP with Bearer auth. Loopback by default; opt-in network exposure for compose siblings. Machine-readable spec: openapi.yaml.
  • Declarative setup and the bundle format — the whole setup (providers, channels, rules) as one YAML file: backup/restore, startup config, secret indirection.

Deploying anyhop

  • Docker — image design, proxy hub, VPN gateway container (tun), trust boundaries.
  • Docker Compose walkthrough — bundle authoring, secrets, managing anyhop from a sibling container, day-2 operations, troubleshooting.
  • TUN runbook — whole-machine capture: privilege models per platform, verification, rollback.

Understanding anyhop

  • How it works — the runtime model: one sing-box, state, ports, probes.
  • Current status — supported providers and platforms, feature matrix, what is planned, and the non-goals.
  • Security model — trust boundaries, credential handling, Web UI/API hardening, fail-closed routing.
  • VPN provider research — which providers can be supported next, and why some can't.
  • anyhop and gluetun — how the two differ, and how to choose between them.
  • anyhop and vopono — request-level routing vs. per-process network-namespace isolation.

Security and privacy

See the Security model.

License

MIT

Metadata

Release files for anyhop 0.1.22

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for anyhop 0.1.22
File Size Uploaded
anyhop-0.1.22.tar.gz 1.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for anyhop 0.1.22
File Interpreter ABI Platform
anyhop-0.1.22-py3-none-any.whl Python 3 none any Details

Total release size: 1.9 MB

Release files / anyhop-0.1.22.tar.gz

Download URL anyhop-0.1.22.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
7e6d3e35c48e4917a03a56f5c73c1b2c1dbc2abba445c1518eace2946cb6d3e1
BLAKE2b-256 checksum
How to use checksums
d7c1cee26f723400979aadf0ba39d93eda04d3fdd209d5ef8a02598802728892
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / anyhop-0.1.22-py3-none-any.whl

Download URL anyhop-0.1.22-py3-none-any.whl
Size 347.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
defce1951e193a0cfa5bfeae7c8b3f19c596019072a6f17502d0ef95a794053b
BLAKE2b-256 checksum
How to use checksums
4540a2afb6b782693cbe63e351b3625dd64e7c8bdf61911814e556b1d1fb0e18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.23

2 release files

This release

0.1.22 This release

2 release files

0.1.19

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page