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

pxyd

v2.0.0

Published

Lightweight HTTP, HTTPS, and SOCKS proxy server

Readme

pxyd

Lightweight HTTP, HTTPS, and SOCKS proxy server for Node.js.

Features

  • HTTP proxy server with normal HTTP forwarding and CONNECT tunneling
  • SOCKS proxy server with SOCKS4 and SOCKS5 support
  • Optional upstream proxy chaining through HTTP, HTTPS, SOCKS4, or SOCKS5
  • Optional HTTPS listener for the HTTP proxy server
  • Optional username/password authentication
  • Configurable request, tunnel connect, and tunnel idle timeouts
  • Loop protection for self-targeting requests and upstream self-reference

Installation

npm install -g pxyd
pxyd --help

CLI

pxyd exposes two commands:

pxyd http [options]
pxyd socks [options]

HTTP Proxy

Starts an HTTP proxy server. If --tls-cert and --tls-key are provided, the proxy listener uses HTTPS.

pxyd http

Defaults:

  • Host: 127.0.0.1
  • Port: 8080
  • Request timeout: 30000 ms
  • Tunnel connect timeout: 10000 ms
  • Tunnel idle timeout: 120000 ms

Options:

| Option | Description | | --- | --- | | --host <host> | Listen host | | --port <port> | Listen port | | --username <username> | Enable proxy auth with this username | | --password <password> | Enable proxy auth with this password | | --upstream <url> | Forward traffic through an upstream proxy | | --tls-cert <path> | TLS certificate path for HTTPS listener | | --tls-key <path> | TLS private key path for HTTPS listener | | --request-timeout <ms> | Timeout for HTTP proxy requests | | --tunnel-connect-timeout <ms> | Timeout while establishing tunnels | | --tunnel-idle-timeout <ms> | Idle timeout for established tunnels |

Examples:

pxyd http --host 127.0.0.1 --port 8080
curl -x http://127.0.0.1:8080 https://httpbin.org/ip

HTTP proxy authentication:

pxyd http --username admin --password secret

HTTPS proxy listener:

pxyd http \
  --tls-cert ./cert.pem \
  --tls-key ./key.pem

Then configure clients with an HTTPS proxy URL:

curl -x https://127.0.0.1:8080 https://httpbin.org/ip

SOCKS Proxy

Starts a SOCKS proxy server.

pxyd socks

Defaults:

  • Host: 127.0.0.1
  • Port: 1080
  • Tunnel connect timeout: 10000 ms
  • Tunnel idle timeout: 120000 ms

Options:

| Option | Description | | --- | --- | | --host <host> | Listen host | | --port <port> | Listen port | | --username <username> | Enable SOCKS username/password auth | | --password <password> | Enable SOCKS username/password auth | | --upstream <url> | Forward traffic through an upstream proxy | | --tunnel-connect-timeout <ms> | Timeout while establishing tunnels | | --tunnel-idle-timeout <ms> | Idle timeout for established tunnels |

Examples:

pxyd socks --host 127.0.0.1 --port 1080
curl --proxy socks5://127.0.0.1:1080 https://httpbin.org/ip

SOCKS authentication:

pxyd socks --username admin --password secret
curl --proxy socks5://admin:[email protected]:1080 https://httpbin.org/ip

Upstream Proxy Chaining

Both http and socks commands support --upstream.

Supported upstream URLs:

http://host:port
https://host:port
socks4://host:port
socks5://host:port

Username/password auth is supported in upstream URLs for HTTP, HTTPS, and SOCKS5:

pxyd http --upstream http://user:[email protected]:8081
pxyd socks --upstream socks5://user:[email protected]:1081

Default upstream ports:

| Protocol | Default port | | --- | --- | | http | 80 | | https | 443 | | socks4 | 1080 | | socks5 | 1080 |

pxyd rejects upstream configurations that point back to the proxy listener itself.

Notes

  • --username and --password must be provided together.
  • --tls-cert and --tls-key must be provided together.
  • The HTTP proxy uses standard proxy authentication headers: Proxy-Authorization and Proxy-Authenticate.
  • Requests and tunnels targeting the proxy listener itself are rejected to avoid proxy loops.

Development

npm install
npm run build
npm test

License

MIT Yuki Akai