npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@santhoshse7en/proxy-rank

v1.0.0

Published

ProxyRank — Rank Proxy Providers with Real-World Benchmarks.

Downloads

81

Readme

ProxyRank

Rank proxy providers with real-world benchmarks — not synthetic lab tests.

ProxyRank runs actual HTTP traffic through your proxy against your target URL, measures full network timing (DNS → TCP → TLS → TTFB → download), and helps you pick the fastest, most reliable provider for your workload. Credentials never leave your machine.

npx @santhoshse7en/proxy-rank

Opens the web UI at http://127.0.0.1:9480 and starts the local agent on http://127.0.0.1:9470.


Why ProxyRank?

Most proxy comparisons stop at marketing claims or a single latency number. ProxyRank is built for teams who need to answer harder questions:

  • Which provider is most reliable on my target under real load?
  • Where do failures happen — DNS, TLS, TTFB, timeouts, blocks?
  • Can I share a diagnostic report with my proxy vendor so they can fix bad exit nodes?
  • How do BrightData, Oxylabs, and others compare on the same target, same concurrency, same TPS?

Ranking weights stability first — success rate and tail latency (P95/P99) matter more than a lucky average.


How it works

┌─────────────┐     HTTP/SSE      ┌──────────────────┐     proxy      ┌─────────────┐
│  Browser UI │ ────────────────► │  Local Agent     │ ─────────────► │   Target    │
│  (React)    │ ◄──────────────── │  127.0.0.1:9470  │ ◄───────────── │   Website   │
└─────────────┘   live metrics    └────────┬─────────┘   responses    └─────────────┘
       │                                   │
       │ credentials (localhost only)      │ via your proxy
       └──────────────────────────────────►│

Browsers cannot route HTTP through proxies with full timing control. A local Node.js agent executes real requests and streams per-request metrics back to the UI over SSE.

Privacy: Credentials live in browser memory and are sent only to 127.0.0.1. Optional AES-GCM encryption for saved profiles in localStorage. Nothing is uploaded to ProxyRank servers.


Quick start

Run (recommended)

npx @santhoshse7en/proxy-rank

Or install globally:

npm install -g @santhoshse7en/proxy-rank
proxy-rank

Develop locally

git clone https://github.com/santhoshse7en/proxy-rank.git
cd proxy-rank
npm install
npm run dev

| Mode | Web UI | Agent | |------|--------|-------| | npm package | http://127.0.0.1:9480 | http://127.0.0.1:9470 | | Development | http://localhost:5173 | http://127.0.0.1:9470 |


Benchmark workflow

  1. Provider — Pick from 15+ built-in providers or configure a custom proxy
  2. Credentials — Provider-specific form; test connection before running
  3. Target — URL, HTTP method, headers, query, body; import from cURL
  4. Confirm — Request count, concurrency, timeout, target TPS, country validation
  5. Run — Live dashboard: RPS, latency sparklines, per-request timeline, logs
  6. Results — KPIs, charts, request table, failure diagnostics, insights
  7. Compare — Rank runs side-by-side across providers
  8. Export — Audience-specific reports (see below)

All metrics come from real execution. No mock or simulated data.


Features

Load testing controls

| Setting | What it does | |---------|----------------| | Request count | Total requests in the run | | Concurrency | Parallel in-flight requests per benchmark | | Target TPS | Pace request starts (achieved TPS shown separately) | | Timeout | Per-request limit | | Country / exit IP | Validate geo routing per provider |

One benchmark runs at a time. Parallelism is within a run (concurrency), not across multiple providers simultaneously.

Results dashboard

Per-run analysis includes:

  • Success rate, min/avg/P50/P95/P99/max latency
  • Network timing breakdown (DNS, TCP, TLS, TTFB, download)
  • Per-request waterfall and timeline
  • Exit IP, ASN, ISP, geo validation
  • Failure taxonomy (auth, timeout, blocked, rate-limit, network, HTTP errors)
  • Auto-generated insights and recommendations

Compare

Compare every completed run in history — filtered by target, provider, config, date, or individual run.

  • Stability-weighted scoring — P95/P99 and success rate weighted heavily
  • Latest per provider — fair head-to-head with one recent run each
  • Mixed-config warning — alerts when runs used different load profiles
  • Charts: radar, grouped metrics, scatter, box plot, latency trend, score bars
  • Expandable diagnostics per run; CSV/JSON compare export

Each historical run is a separate row. Re-running the same provider creates a new entry identified by completion timestamp.

History & settings

  • History — Search, filter, rerun, export any past benchmark
  • Settings — Encrypted credential storage, default load profile, theme/accent, factory reset
  • Command palette⌘K quick navigation

Exports

Each format serves a different audience:

| Export | Audience | Purpose | |--------|----------|---------| | PDF Report | Managers, procurement | Executive summary — downloadable PDF | | CSV (Raw Requests) | Developers, analysts | Every request for Excel filtering and charts | | JSON | Developers, automation | Full benchmark payload + metadata | | HAR | Developers | Request/response debugging | | Provider Diagnostic | Proxy vendor support/NOC | Root-cause package: error analysis, exit nodes, slowest requests, timeline, recommendations + JSON + CSV |

The Provider Diagnostic Report is designed to answer why performance degraded — not just what the success rate was.


Supported providers

Built-in profiles with credential forms and connection testing:

BrightData · Oxylabs · NetNut · Smartproxy · SOAX · ScraperAPI · ScrapeOps · Scrape.do · ScrapingBee · Crawlbase · Decodo · IPRoyal · Webshare · DataImpulse · Zyte · Digitap (internal) · Custom proxy

Provider definitions live in proxyrank-shared and can be extended.


Project structure

Monorepo (npm workspaces):

| Package | Path | Role | |---------|------|------| | @proxy-rank/frontend | frontend/ | React + Vite UI | | proxyrank-agent | agent/ | Fastify agent — benchmark execution, SSE | | proxyrank-shared | shared/ | Types, providers, validation | | @santhoshse7en/proxy-rank | packages/proxyrank-local/ | Published npm bundle (CLI + UI + agent) |

Routes

| Route | Page | |-------|------| | / | Benchmark wizard | | /results/:id | Benchmark results | | /compare | Provider comparison | | /history | Benchmark history | | /settings | Settings |


Scripts

| Command | Description | |---------|-------------| | npm run dev | Web UI + local agent (watch mode) | | npm run dev:web | Frontend only | | npm run dev:agent | Agent only | | npm run build | Production build (shared → agent → frontend) | | npm run build:package | Build publishable npm package | | npm run start:package | Run package CLI from repo | | npm run publish:package | Build and publish to npm | | npm run typecheck | Typecheck all workspaces |


Documentation


Requirements

  • Node.js 20+
  • A proxy provider account (for real benchmarks)
  • Network access from your machine to the proxy and target

License

MIT — see package license.