# 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 ```bash git clone git@github.com:Daplie/holepunch.git pushd holepunch node bin/holepunch.js --debug ``` ## Install **Commandline Tool** ```bash npm install --global holepunch ``` **node.js Library** ``` npm install --save holepunch ``` ## Commandline (CLI) ```bash 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: ,) --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 ```javascript var punch = require('holepunch'); ``` # License MPL-2.0