Skip to content

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

proxybench banner

proxybench

Proxy checker and health monitor CLI — validate and benchmark HTTP, SOCKS5, and Shadowsocks proxies.

Go

Features

  • Protocol support: HTTP, HTTPS, SOCKS5, Shadowsocks (ss://)
  • Auto-detection: bare host:port is probed automatically
  • Speed benchmarks: latency min/avg/p50/p95/max + loss rate
  • Throughput measurement: optional large-file download speed test
  • Geo-location: IP → country via embedded local database (no API)
  • Output formats: human table, JSON, CSV
  • No external runtime dependencies — single static binary

Installation

Download a pre-built binary (recommended)

Download the latest release for your platform from the Releases page.

Platform File
Linux x86-64 proxybench_linux_amd64.tar.gz
Linux ARM64 proxybench_linux_arm64.tar.gz
macOS Intel proxybench_darwin_amd64.tar.gz
macOS Apple Silicon proxybench_darwin_arm64.tar.gz
Windows x86-64 proxybench_windows_amd64.zip

Linux / macOS one-liner:

curl -sSL https://github.com/drsoft-oss/proxybench/releases/latest/download/proxybench_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz \
  | tar -xz proxybench && sudo mv proxybench /usr/local/bin/

Build from source

Requires Go 1.21+:

git clone https://github.com/drsoft-oss/proxybench
cd proxybench
go build -o proxybench .

Usage

Check proxies

# Single proxy
proxybench check http://1.2.3.4:8080

# Multiple proxies
proxybench check socks5://10.0.0.1:1080 http://10.0.0.2:3128

# From a file (one proxy per line)
cat proxies.txt | proxybench check

# JSON output
proxybench check socks5://host:1080 --format json

# CSV output (for spreadsheets / pipelines)
proxybench check socks5://host:1080 --format csv

# Custom test URL and timeout
proxybench check http://host:8080 --test-url http://ifconfig.me --timeout 5

Flags:

Flag Default Description
--format, -f table Output format: table, json, csv
--timeout, -t 10 Per-proxy timeout (seconds)
--test-url http://www.google.com URL for forward-check requests
--concurrency, -c 10 Max parallel checks
--geo true Show country info
--db auto Path to ip2country.csv

Benchmark proxies

proxybench bench http://1.2.3.4:8080
proxybench bench socks5://10.0.0.1:1080 --samples 10 --format json

# With throughput measurement
proxybench bench http://host:8080 --payload-url http://ipv4.download.thinkbroadband.com/10MB.zip

Flags:

Flag Default Description
--format, -f table Output format: table, json, csv
--timeout, -t 15 Per-request timeout (seconds)
--samples, -n 5 Requests per proxy
--test-url http://www.google.com Latency measurement URL
--payload-url (none) Large file URL for speed test
--concurrency, -c 5 Max parallel proxies

Geo database management

The check command uses a local IP-to-country CSV database for geo lookups. A minimal seed file is bundled; download the full database with:

proxybench db update

Subcommands:

Command Description
proxybench db update Download latest database from db-ip.com
proxybench db info Show current database path, size, and entry count

Update flags:

Flag Default Description
--dest, -d auto Destination path for the database file
--timeout, -t 120 Download timeout (seconds)

The database is sourced from db-ip.com (CC BY 4.0, free tier) and updated monthly. No API key required.


Output examples

Table (default)

ADDRESS                                        PROTO    ALIVE   LAT(ms)  COUNTRY          ERROR
──────────────────────────────────────────────────────────────────────────────────────────────
http://1.2.3.4:8080                            http     ✓           243  US United States
socks5://5.6.7.8:1080                          socks5   ✗             0                   dial tcp: connection refused

JSON

[
  {
    "address": "http://1.2.3.4:8080",
    "protocol": "http",
    "alive": true,
    "latency_ms": 243,
    "country": "US United States"
  }
]

CSV

address,protocol,alive,latency_ms,country,error
http://1.2.3.4:8080,http,true,243,US United States,
socks5://5.6.7.8:1080,socks5,false,0,,dial tcp: connection refused

Architecture

proxybench/
├── cmd/            # Cobra CLI commands (check, bench, db)
├── internal/
│   ├── checker/    # Liveness checks (HTTP, SOCKS5, Shadowsocks)
│   ├── bench/      # Latency + throughput benchmarks
│   ├── geo/        # IP→country lookup + DB update
│   └── output/     # JSON / CSV / table formatters
├── data/
│   └── ip2country.csv   # Bundled seed database
└── main.go

License

MIT


proxybench is brought to you by Anonymous-Proxies.net — a trusted proxy provider since 2008, delivering premium HTTP, SOCKS5, and residential proxies to thousands of clients worldwide.

Need reliable proxies? Browse our plans →

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages