Go to file
AJ ONeal 6382701c91 tested working upnp and pmp 2015-12-30 21:40:52 +00:00
bin tested working upnp and pmp 2015-12-30 21:40:52 +00:00
examples tested working upnp and pmp 2015-12-30 21:40:52 +00:00
lib tested working upnp and pmp 2015-12-30 21:40:52 +00:00
.gitignore Initial commit 2015-02-08 00:03:39 -05:00
LICENSE beginning main lib 2015-12-29 19:21:11 +00:00
README.md tested working upnp and pmp 2015-12-30 21:40:52 +00:00
index.js test loopback listener 2015-12-30 03:36:14 +00:00
package.json tested working upnp and pmp 2015-12-30 21:40:52 +00:00

README.md

holepunch

A node.js library (api) and command (cli) for using UPnP SSDP and ZeroConf (Bonjour) NAT-PMP to make home and office devices and services Internet-accessible.

Progress

it now works :-)

still in development

git clone git@github.com:Daplie/holepunch.git

pushd holepunch

node bin/holepunch.js --debug

Install

Commandline Tool

npm install --global holepunch

node.js Library

npm install --save holepunch

Commandline (CLI)

holepunch --help
holepunch --plain-ports 80,65080 --tls-ports 443,65443

TODO --prebound-ports 22

Usage:
  holepunch.js [OPTIONS] [ARGS]

Options:
      --debug BOOLEAN       show traces and logs

      --plain-ports STRING  Port numbers to test with plaintext loopback.
                            (default: 65080)
                            (formats: <port>,<internal:external>)

      --tls-ports STRING    Port numbers to test with tls loopback.
                            (default: null)

      --ipify-urls STRING   Comma separated list of URLs to test for external ip.
                            (default: api.ipify.org)

      --protocols STRING    Comma separated list of ip mapping protocols.
                            (default: none,upnp,pmp)

      --rvpn-configs STRING Comma separated list of Reverse VPN config files in
                            the order they should be tried. (default: null)

  -h, --help                Display help and usage details

API

var punch = require('holepunch');

License

MPL-2.0