Skip to content
 
 

Repository files navigation

argo-ip-radar

A high-precision, adaptive network diagnostic and Cloudflare IP optimization suite designed for filtered and low-bandwidth environments. argo-ip-radar utilizes weighted subnet analysis, multi-worker concurrency, and real-time performance feedback to find the best Cloudflare entry points for WebSocket (WS) and SplitHTTP (XHTTP) Argo Tunnel configurations.


Table of Contents


Description

In regions with aggressive internet filtering, deep packet inspection (DPI), and unstable connections, simple TCP or ping scanners fail because:

  1. Low ping does not guarantee actual upload or download bandwidth.
  2. Standard TLS handshakes without browser emulation (uTLS fingerprints) are easily detected and blocked.
  3. Suboptimal ALPN negotiation (e.g. failing to negotiate HTTP/2 or HTTP/3) can throttle connections.

argo-ip-radar solves these challenges by running actual end-to-end VLESS connections through the anti-censorship Xray core. It performs a multi-stage benchmark: rapid reachability screening across configurable workers, true download and upload throughput measurement, ALPN combination testing, and best-practice TLS fingerprint optimization.


Key Features

  • Full WS & XHTTP (SplitHTTP) Support Seamlessly supports both type=ws and type=xhttp (with mode=packet-up, x_padding_bytes, etc.).
  • Real Download & Upload Speed Benchmarking Measures true throughput (kbps and Mbps) via Cloudflare speed test CDN endpoints over the live proxy tunnel—not just ping or handshake latency.
  • Relevant ALPN Combination Matrix Tests relevant ALPN combinations (h3,h2,http/1.1, h2,http/1.1, http/1.1, h2, h3) to identify which combination yields maximum speed and minimum latency.
  • Best-Practice Browser Fingerprints (uTLS) Tests top browser ClientHello profiles (chrome, firefox, safari, ios, edge) to resist DPI filtering.
  • Configurable Concurrency & IP Count Easily customize the number of concurrent worker threads (-w / --workers) and the number of randomly generated IPs (-n / --count).
  • Instant Ready-to-Use VLESS Link Automatically prints the updated vless:// link containing the best IP, optimal ALPN, and recommended fingerprint.
  • Weighted Subnet Intelligence (subnets.json) Uses historical performance weights to prioritize high-performing Cloudflare CIDR blocks.

Requirements

  • Python 3.8+
  • Xray Core 1.8+ / 26.x+ (/usr/local/bin/xray or in system $PATH)
  • subnets.json (Included Cloudflare CIDR performance tracking database)

Usage

1. Quick Scan with Custom VLESS URL

Run a complete scan by passing your vless:// configuration URL directly:

# Scan an XHTTP configuration with 16 workers and 50 random IPs
python3 web-check.py 'vless://00000000-0000-0000-0000-000000000000@example.com:443?alpn=h3%2Ch2%2Chttp%2F1.1&encryption=none&extra=%7B%22mode%22%3A%22packet-up%22%2C%22xPaddingBytes%22%3A%22100-1000%22%7D&fp=chrome&host=your-argo-domain.com&mode=packet-up&path=%2Fxhttp-path&security=tls&sni=your-argo-domain.com&type=xhttp&x_padding_bytes=100-1000#Argo-XHTTP-Example' --count 50 --workers 16
# Scan a WebSocket configuration with 16 workers and 50 random IPs
python3 web-check.py 'vless://00000000-0000-0000-0000-000000000000@example.com:443?alpn=http%2F1.1&encryption=none&fp=chrome&host=your-argo-domain.com&path=%2Fws-path%3Fed%3D2560&security=tls&sni=your-argo-domain.com&type=ws#Argo-WS-Example' --count 50 --workers 16

Available CLI Options for web-check.py:

Flag Default Description
config $ARGO_IP_RADAR_CONFIG VLESS URL (ws or xhttp).
-w, --workers 16 Number of concurrent workers for parallel testing.
-n, --count 100 Number of Cloudflare IPs to randomly generate from subnets.json.
--ips ips.txt Path to custom candidate IPs file.
--subnets subnets.json Path to subnets database.
--top 5 Number of top alive candidates to test for full speed, ALPN, and FP.
--skip-speed False Skip throughput speed test (only test ping).
--skip-alpn False Skip testing ALPN combinations.
--skip-fp False Skip testing browser fingerprints.
--dl-bytes 250000 Download test payload size in bytes (~250 KB).
--ul-bytes 100000 Upload test payload size in bytes (~100 KB).
--ping-timeout 2.5 Timeout in seconds for initial reachability probe.
--no-color False Disable terminal color formatting.

2. Generate Weighted Candidate IPs

To generate candidate IPs into ips.txt without scanning immediately:

# Generate 500 candidate IPs
python3 ip-gen.py --count 500 --output ips.txt

3. Sort and Rank Results

After scanning, detailed results are saved to results/. Use sorter.py to filter and sort candidates:

# Sort by balanced performance score (default)
python3 sorter.py

# Sort by download throughput
python3 sorter.py --by download

# Sort by upload throughput
python3 sorter.py --by upload

# Sort by latency
python3 sorter.py --by latency --top 10

Benchmarking Matrix

ALPN Combinations

  • For XHTTP: Tests ["h3", "h2", "http/1.1"], ["h2", "http/1.1"], ["http/1.1"], ["h2"], and ["h3"].
  • For WS: Tests ["http/1.1"] and ["h2", "http/1.1"].

TLS Fingerprints (uTLS)

Tests best-practice browser fingerprints: chrome, firefox, safari, ios, edge.

Real Throughput Speed Testing

  • Download Speed: Fetches chunk data directly from https://speed.cloudflare.com/__down through the VLESS tunnel and computes throughput in kbps and Mbps.
  • Upload Speed: Transmits test payloads to https://speed.cloudflare.com/__up through the VLESS tunnel and computes upload throughput in kbps and Mbps.
  • Balanced Score: $$\text{Score} = (\text{Download}{\text{kbps}} \times 0.5) + (\text{Upload}{\text{kbps}} \times 0.3) - (\text{Latency}_{\text{ms}} \times 0.2)$$

How it Works

                     ┌───────────────────────────────┐
                     │ 1. ip-gen (Weighted Subnets)  │
                     └───────────────┬───────────────┘
                                     ▼
                     ┌───────────────────────────────┐
                     │  Candidate Cloudflare IPs     │
                     └───────────────┬───────────────┘
                                     ▼
                     ┌───────────────────────────────┐
                     │ Phase 1: Rapid Pre-Filter     │
                     │ (W Workers, Handshake & Ping) │
                     └───────────────┬───────────────┘
                                     ▼
                     ┌───────────────────────────────┐
                     │ Phase 2: Real Speed Benchmark │
                     │ (True Download & Upload kbps) │
                     └───────────────┬───────────────┘
                                     ▼
                     ┌───────────────────────────────┐
                     │ Phase 3: ALPN & FP Matrix     │
                     │ (Optimal ALPN + Best uTLS FP) │
                     └───────────────┬───────────────┘
                                     ▼
                     ┌───────────────────────────────┐
                     │ Phase 4: Output & Link Gen    │
                     │ Best IP, ALPN, ready VLESS URL│
                     └───────────────────────────────┘

License

This project is licensed under the MIT License.

About

a high-precision, adaptive network diagnostic suite designed for low-bandwidth and filtered environments.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages