Simple tool to test VLESS and VMess proxy links from a file and print the ones that work. Output is ready to copy into V2Ray clients (v2rayN, Nekoray, etc.).
Includes a CLI and an optional desktop GUI (v2c gui).
- Go 1.22+
- Xray-core or V2Ray binary on
PATH, or placed next to the built binary - GUI only: CGO enabled and OS graphics development packages (see Fyne getting started)
Install Xray (macOS with Homebrew):
brew install xrayOr download a release from XTLS/Xray-core releases and put the xray binary on your PATH.
Fyne needs X11/Wayland and OpenGL development packages. On Fedora, for example:
sudo dnf install libX11-devel libXcursor-devel libXrandr-devel libXinerama-devel \
libXi-devel libXxf86vm-devel libglvnd-devel mesa-libGL-develOn Debian/Ubuntu, see the packages listed in the Fyne Linux docs.
CLI (default — no Fyne / no X11 devel packages):
go build -o v2c .CLI + GUI (requires CGO and the Linux packages above):
go build -tags gui -o v2c .If linking fails with cannot find -lXxf86vm, install the runtime package (libXxf86vm on Fedora). The project includes a small linker helper so the -devel package is usually not required.
v2c [flags] <proxy-file>Build with -tags gui first, then:
v2c guiOpens a window to pick a proxy file, set timeout/workers/core/URL, start/stop checks, view results, and save working proxies.
| Flag | Default | Description |
|---|---|---|
-t, --timeout |
15 |
Timeout in seconds per proxy |
-w, --workers |
5 |
Concurrent tests |
--core |
auto | Path to xray/v2ray binary |
--url |
https://www.google.com/generate_204 |
URL for connectivity check |
-o, --output |
Save working proxies to a file | |
-v, --verbose |
false |
Show pass/fail for each proxy |
--sort-speed |
false |
Sort working proxies by connection speed (fastest first) |
One proxy URI per line. Blank lines and lines starting with # are ignored.
# my servers
vless://uuid@host:443?security=tls&type=ws&path=/&host=host#Server1
vmess://base64-encoded-json
See examples/proxies.txt.
# Test proxies and print working ones to stdout
./v2c proxies.txt
# Verbose output with per-proxy status
./v2c -v proxies.txt
# Save working proxies to a file
./v2c -o working.txt proxies.txt
# Use 10 workers and 20s timeout
./v2c -w 10 -t 20 proxies.txt
# Sort working proxies by speed (fastest first)
./v2c --sort-speed -o working.txt proxies.txt
# Open the desktop GUI
./v2c guiWorking proxy URIs are printed to stdout (one per line), so you can pipe or copy them directly into your V2Ray client.
- Reads VLESS/VMess URIs from the input file
- For each proxy, starts a local Xray instance with a SOCKS inbound
- Sends an HTTP request through the proxy to verify connectivity
- Prints (and optionally saves) the URIs that succeed
MIT