RedVPN

RedVPN for Linux

A small command-line client. It runs without root and gives every program on the machine a local proxy on 127.0.0.1:1080.

Install

curl -fsSL https://vpn.red/dist/cli/install.sh | sh

x86_64 and aarch64, one static binary each, nothing else installed. As root it goes to /usr/local/bin; as a user to ~/.local/bin. Remove it with rm $(command -v redvpn).

Use

redvpn up                 # connect; prints the proxy address when ready
curl --socks5-hostname 127.0.0.1:1080 https://ip-geo.redvpn.workers.dev/   # prints: ok
redvpn status             # or: redvpn status --json
redvpn down

Point a browser, a terminal (ALL_PROXY=socks5h://127.0.0.1:1080) or any application that speaks SOCKS5 at the proxy. Use the hostname variant (socks5h, --socks5-hostname) so names are resolved on the far side.

Your plan

A new machine starts on the free plan, like a new phone. To use the plan you bought on vpn.red or in the app, sign in with the same e-mail address:

redvpn login              # e-mail, then the 6-digit code we send you
redvpn account            # plan, remaining free data, account code

Already have a device id from another install? redvpn login --cid <id> adopts it. The id and the session live in ~/.config/redvpn, readable by you only; redvpn logout drops the session.

Run it as a service

A user unit keeps the proxy up across logins without root:

mkdir -p ~/.config/systemd/user
curl -fsSL https://vpn.red/dist/cli/redvpn.service -o ~/.config/systemd/user/redvpn.service
systemctl --user enable --now redvpn
loginctl enable-linger $USER      # keep it running when you log out

The unit runs redvpn up --foreground. Global options: --state-dir, --log-level.

Whole machine (experimental)

sudo redvpn up --tun --resolvconf routes all traffic from the machine through RedVPN instead of only what you point at the proxy. It needs root, iproute2 and a hev-socks5-tunnel binary on PATH (the same bridge the phones use; build it from its source). The proxy mode above is the supported one; treat this as a preview and read redvpn --help.

Verify the download

The installer checks the binary against /dist/cli/SHA256SUMS before it installs anything. To do it by hand:

curl -fsSLO https://vpn.red/dist/cli/redvpn-linux-x86_64     # or redvpn-linux-aarch64
curl -fsSLO https://vpn.red/dist/cli/SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS
install -m 755 redvpn-linux-x86_64 ~/.local/bin/redvpn

Version 0.1.0:

805fae219dd6ffb67cd07d0b0110cc901105d3e637ce85660f6937fc703489d0  redvpn-linux-x86_64
29e681bfa878b701eadabfb2354723a9b64420262f410cc164b85e56cd3b1d8b  redvpn-linux-aarch64

Older releases stay at /dist/cli/<version>/.

Exit codes

0ok (status: connected)
1error (status: not connected)
2usage
3not entitled: free data used up, get Premium or sign in
4could not reach any server from this network
5already running
6missing privilege or tool (--tun)