explaingit

alixtron0/vscanner

14PythonAudience · ops devopsComplexity · 3/5ActiveLicenseSetup · moderate

TLDR

A dependency-free Python scanner that probes Vercel and CDN IPs with TCP, HTTP, ICMP, DNS, and TLS checks to find the lowest-latency endpoint from a Linux VPS.

Mindmap

mindmap
  root((vscanner))
    Inputs
      Vercel CIDR ranges
      CDN hostnames
      Worker count
    Outputs
      vercel_scan_results.txt
      Status JSON
      Background log
    Use Cases
      Find fastest CDN IP
      Background latency scan
      Iran VPS tuning
    Tech Stack
      Python
      Linux
    Protocols
      TCP
      HTTP
      HTTPS
      ICMP
      DNS
      TLS

Things people build with this

USE CASE 1

Find the lowest-latency Vercel IP from a Linux VPS for a custom routing setup

USE CASE 2

Run a background CDN latency sweep over SSH and check results later

USE CASE 3

Compare TCP, HTTPS, and DNS probe times across Cloudflare, Fastly, and AWS endpoints

Tech stack

PythonLinux

Getting it running

Difficulty · moderate Time to first run · 30min

ICMP probes need root and the README suggests manual scp install for Iran-hosted servers where direct downloads are unreliable.

MIT license lets anyone use, modify, and redistribute the scanner with attribution.

In plain English

vscanner is a Python network scanner that tests Vercel and CDN endpoint IPs to find the ones with the lowest latency from your server. The README pitches it at users running Linux VPS servers, with a particular focus on operators in Iran, and notes that the tool has no external Python dependencies and runs on Ubuntu, Debian, and CentOS without needing a pip install. The program takes Vercel CIDR ranges and expands them into individual IPs, then also tests a list of domain-fronting and CDN hostnames covering providers like Cloudflare, Akamai, AWS CloudFront, Fastly, Azure, Google, and Netlify. Each target can be probed with several protocols at once: a plain TCP connect on port 80 or 443, a full HTTP GET, an HTTPS GET with certificate checks turned off, raw ICMP ping which needs root, a DNS resolution timing test, or a full TLS handshake. Picking more protocols gives a more reliable average latency. The scanner auto-detects RAM and CPU on the host and chooses an appropriate worker count, with the README suggesting 32 to 64 workers on VPS machines with 512 MB of RAM or less. By default the scanner runs in the background so users can close their SSH session and check progress later with python3 scanner.py --status. A foreground mode is available for debugging. Three runtime files are created: a JSON status file under /tmp, a background log under /tmp, and the final sorted results in the user's home directory at vercel_scan_results.txt. The result file lists each host with its average latency and a per-protocol breakdown, sorted from fastest to slowest. Installation is offered in two ways. An automated path downloads an install.sh from the repository and runs it as root. The README also recommends a manual path specifically for servers in Iran, where it suggests downloading scanner.py to a local machine and using scp to copy it to the server, since direct downloads from inside the country can be unreliable. It also suggests starting with TCP and DNS probes when filtering is heavy, since those finish faster and do not depend on full HTTP stacks. The project is MIT licensed, and a Persian-language version of the README is linked at the top of the file.

Copy-paste prompts

Prompt 1
Walk me through installing vscanner on a 512 MB Debian VPS with the recommended worker count
Prompt 2
Explain when to pick TCP plus DNS probes over full HTTPS probes in vscanner
Prompt 3
How do I read vercel_scan_results.txt to pick the best IP for my Vercel project
Prompt 4
Set up vscanner to run in the background and poll its status from an SSH session
Prompt 5
Adapt vscanner to scan a custom list of Cloudflare hostnames I provide
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.