holepunch.js/README.md

80 lines
1.5 KiB
Markdown

# 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: <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
```javascript
var punch = require('holepunch');
```
# License
MPL-2.0