Every terminal can be somewhere else. Open a proxied shell or route one command, then run your terminal workflow normally. Learn more at shellroute.com.

npm install -g shellrouteOr via Homebrew:

brew install shellroute/tap/shellrouteOr via Go:

go install github.com/shellroute/shellroute-cli/cmd/shellroute@latestOr download binaries from GitHub Releases.

Supports macOS and Linux.

# Log in. A new account is created automatically.

shellroute login

# Shellroute opens after login. Run these inside it:

/connect US

curl https://ipinfo.io/jsonshellroute run DE -- curl https://ipinfo.io/jsonFor tools configured with an explicit proxy URL:

shellroute proxy --country US

# In another terminal

curl -x http://127.0.0.1:41900 https://ipinfo.io/ipAll info commands support --format json.

git clone https://github.com/shellroute/shellroute-cli.git

cd shellroute-cli

./scripts/rebuild-cli.sh

./shellroute versionRun all checks (lint, tests, audit, cross-compile): ./scripts/run-tests.sh. Requires Go 1.22+.

Your terminal -> shellroute CLI (local proxy) -> shellroute API -> Gateway -> Exit IP -> Internet

Shellroute implements each active route as a local HTTP proxy and provides standard proxy environment variables to the shell or child process. Clients that use those variables send requests through the selected proxy. Each session remains independent, while shellroute manages credentials, rotation, usage, and cleanup.

The shellroute CLI is open source and connects to the shellroute service. The service uses prepaid credits. See pricing and the acceptable use policy.

- Config stored in ~/.shellroute/config.toml(mode 600)

- API key generated locally, only the hash is sent to the server

- No analytics or telemetry collected

- Health probe sends a CONNECT to httpbin.org:443through the proxy to verify upstream connectivity

See CONTRIBUTING.md.

Apache 2.0. See LICENSE.

"shellroute" is a trademark. This license covers the code, not the brand. See NOTICE.