Clementine-audio-player-Mac.../3rdparty/libportfwd
John Maguire 7ca69e009e Add libportfwd and an async wrapper. 2011-03-08 16:34:20 +00:00
..
include/portfwd Add libportfwd and an async wrapper. 2011-03-08 16:34:20 +00:00
src Add libportfwd and an async wrapper. 2011-03-08 16:34:20 +00:00
third-party Add libportfwd and an async wrapper. 2011-03-08 16:34:20 +00:00
CMakeLists.txt Add libportfwd and an async wrapper. 2011-03-08 16:34:20 +00:00
README Add libportfwd and an async wrapper. 2011-03-08 16:34:20 +00:00

README

libportfwd
----------
A basic, lightweight c++ wrapper around miniupnp and nat-pmp libraries
for setting up port fwds, detecting max up/downstream bandwidth, and 
finding out external IP address.

See: http://miniupnp.free.fr/

Designed to wrap up miniupnpc+natpmp libs into a static lib with a small API
so other projects can easily setup port fwds without shipping extra libs/deps.

Should detect any upnp or nat-pmp router and automatically use the appropriate
library under the hood.

Uses cmake to build needed bits of miniupnpc..

NB/TODO
-------
I don't have a nat-pmp capable device (eg: airport express)
so haven't implemented that bit yet. only supports upnp atm.

Usage
-----
See the demo in main.cpp, but here's the jist:

 Portfwd pf;
 pf.init(2000);   // 2000 = ms to wait for response from router
 pf.add(1234);    // port to fwd to you
 pf.remove(1234); // remove port fwding on exit