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

proxyt

v1.2.2

Published

TCP proxy CLI with optional TLS support in pure Node.JS

Readme

proxyt

TCP proxy CLI with optional TLS support in pure Node.JS

About

I wrote proxyt to be a simple tool that makes spinning up a TCP proxy (with optional TLS) support an easy task. I normally use nc whenever I need a simple proxy, but I wanted something with slightly more functionality that worked across multiple operating systems without needing to be recompiled. Since I already use Node everywhere at home, this seemed like an obvious fit.

I also wanted something that could reload certificates without having to be shut down / restarted. proxyt takes a -i <interval> option (explained below) that will cause the certs to be reloaded automatically on a set interval.

All logging is done via Bunyan.

Install

npm install -g proxyt

Examples

TCP proxy

Listen on all interfaces on port 80 and forward incoming requests to 10.0.1.234 on port 8080.

proxyt 0.0.0.0:80 10.0.1.234:8080

TCP proxy with TLS

proxyt -s -k pem.key -c pem.cert 0.0.0.0:443 10.0.1.234:8080

Listen on all interfaces on port 443 using TLS and forward incoming requests to 10.0.1.234 on port 8080.

TCP proxy with TLS and advanced options

proxyt -s -k pem.key -c pem.cert -i 86400 -H my-host.example.com 0.0.0.0:443 10.0.1.234:8080

Listen on all interfaces on port 443 using TLS and forward incoming requests to 10.0.1.234 on port 8080. Also, reload the cert and key every 86400 seconds (every day) and verify that the incoming SNI hostname matches my-host.example.com.

Usage

$ proxyt -h
Usage: proxyt [options] <listen> <target>

Example:

  Listen on all interfaces on port 80 (locally) and forward
  incoming requests to 10.0.1.234 on port 8080

    $ proxyt 0.0.0.0:80 10.0.1.234:8080

  Listen locally via TLS on port 443 (locally) and forward incoming
  requests to 1.2.3.4 on port 5678

    $ proxyt -s -k pem.key -c pem.cert 127.0.0.1:443 1.2.3.4:5678

Options:

  -c, --cert <cert>       [env PROXYT_CERT] certificate file to use (requires -s)
  -H, --sni-host <host>   [env PROXYT_SNI_HOST] SNI Hostname (optional), connections that do not match will be dropped
  -h, --help              print this message and exit
  -i, --interval <secs>   [env PROXYT_INTERVAL] interval in seconds to reload TLS key and cert, defaults to none
  -k, --key <key>         [env PROXYT_KEY] key file to use (requires -s)
  -l, --log-level <lvl>   [env PROXYT_LOG_LEVEL] bunyan log level to use, defaults to info
  -n, --no-dns            [env PROXYT_NO_DNS] do not attempt to resolve IP addresses
  -s, --use-tls           [env PROXYT_USE_TLS] enable tls, requires -c and -k be set
  -v, --version           print the version number and exit

License

MIT License