macOS & Linux · powered by xray

Your VPN, in the terminal.

Paste a vless:// link, give it a name, flip it on. A big on/off toggle, a live dashboard with flags, ping and traffic, and routing you don't have to memorize. The only dependency is xray.

$ brew install vpncli/tap/vpn

Homebrew · apt · curl — self-contained binary, no Node, no jq.

~ — vpn
macOS & Ubuntu Only needs xray Self-contained binary EN / RU MIT licensed

Everything, a few keystrokes away

The whole app is a power button and a handful of cards. No xray syntax to learn.

One-tap on/off

A big focusable toggle is selected by default — press Enter to connect. Off, you see just the toggle; on, the full dashboard.

Live dashboard

The active server with its country flag, live ping, and per-channel traffic — VPN vs. direct — updating in real time.

Server profiles

Paste a vless:// share link, name it, switch instantly. Each card shows a flag and an availability ping.

Intuitive routing

A guided wizard sends a site, service, country, or subnet to direct, proxy, or block — plus ready-made presets.

Bilingual UI

Switch the whole interface between English and Русский on the fly, without restarting.

Self-contained binary

No Node, no jq — a single cross-compiled binary. The one runtime dependency is xray.

Routing without the xray syntax

The Add rule wizard walks you through it — a website, a known service (OpenAI, Netflix, Telegram…), a whole country, or an IP/subnet. Every rule lands in one of three buckets.

direct

Bypass the VPN — local sites, corporate hosts.

proxy

Force through the VPN — a service blocked in your region.

block

Drop it entirely — ads and trackers.

Precedence

block → proxy → direct. Then private and localhost always go direct, and anything unmatched goes through the VPN.

Or just toggle a preset
ru-direct Russian sites stay direct ai-via-vpn Route AI services through the VPN streaming-via-vpn Streaming through the VPN ads-block Drop ads and trackers dev-direct Dev hosts bypass the VPN

Every generated config is validated with xray -test before anything is applied.

The guided routing rule wizard in the vpncli app

See it move

Real recordings of the app — no real server is ever shown.

The main screen and one-tap toggle.
Overview — vpncli

Install in one line

Pick your platform. Homebrew pulls in xray automatically.

Pulls in xray automatically.
brew install vpncli/tap/vpn
Then
$ vpn add vless://… # add & activate a server
$ vpn on # connect
$ vpn # open the interactive app
$ vpn off # disconnect

Everything is also a command

Every action in the app is a plain command, too.

vpn interactive app
vpn on · off · restart connect / disconnect / reconnect
vpn status · ip · log [N] live status · IPs · last log lines
vpn add <vless://…> [name] add a server
vpn ls · use · show · rm [name] manage servers
vpn route add|rm direct|proxy|block <rule> edit routing
vpn preset ls · on|off [name…] toggle presets
vpn lang en|ru set language
vpn init auto-source the proxy env in new terminals