2015-02-08 05:03:39 +00:00
|
|
|
# holepunch
|
2015-12-29 19:21:11 +00:00
|
|
|
|
2015-12-30 21:40:52 +00:00
|
|
|
A node.js library (api) and command (cli) for using UPnP SSDP
|
2015-12-29 19:21:11 +00:00
|
|
|
and ZeroConf (Bonjour) NAT-PMP
|
|
|
|
to make home and office devices and services Internet-accessible.
|
|
|
|
|
|
|
|
## Progress
|
|
|
|
|
2015-12-30 21:40:52 +00:00
|
|
|
it now works :-)
|
|
|
|
|
|
|
|
still in development
|
2015-12-29 19:21:11 +00:00
|
|
|
|
2015-12-30 08:22:04 +00:00
|
|
|
```bash
|
2015-12-30 21:40:52 +00:00
|
|
|
git clone git@github.com:Daplie/holepunch.git
|
|
|
|
|
|
|
|
pushd holepunch
|
|
|
|
|
2015-12-30 08:22:04 +00:00
|
|
|
node bin/holepunch.js --debug
|
|
|
|
```
|
|
|
|
|
2015-12-30 21:40:52 +00:00
|
|
|
## 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');
|
|
|
|
```
|
|
|
|
|
2015-12-29 19:21:11 +00:00
|
|
|
# License
|
|
|
|
|
|
|
|
MPL-2.0
|