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 🙏

© 2024 – Pkg Stats / Ryan Hefner

back-proxy

v0.1.2

Published

Reversing proxy to you gadgets or home http-server behind NAT with dynamic WAN ip. Needs two "servers": one in Internet for you connects for proxing and second in you home for serve proxy requests.

Downloads

4

Readme

back-proxy

Reversing proxy to you gadgets or home http-server behind NAT with dynamic WAN ip. Needs two "servers": one in Internet for you connects for proxing and second in you home for serve proxy requests.

How its works

Basic diagram

After starting, client.js make permanent pipe to server.js. On new connection from any device to public - server.js send data to pipe and client.js opens same connection to shared (and so one on next connections). When connection dropped by any side - on server.js or client.js - other end drop connection to.

Scenario

You want to access to you gadget (like http://tessel.io who have own web server) in home LAN (ip: 192.168.0.201).

Steps

Create config (used for client and server scripts)

Please copy config.default.js to config.js and modify to you needs:

module.exports = {

	// Public server config (where you connect to access LAN server)
	public: {
		host:	'1.2.3.4',
		port:	'8080'
	},

	// Upstream server config (where proxy from LAN connect)
	upstream: {
		host:	'1.2.3.4',
		port:	'8888'
	},

	// Shared server config (server in LAN)
	shared: {
		host:	'192.168.0.201',
		port:	'8000'
	}

};

Run node server.js on server 1.2.3.4

Run node client.js on you home PC

Try it

For http-server - browse to http://1.2.3.4:8080/ and you will see page from you home http-server http://192.168.0.201:8000

Note: any protocol supported, not only http. This scripts only traverse data you send to socket.