UPnPControl can display, add and remove port-bindings of UPnP-IGN capable routers in the network. It is written in C++/QT4 and has no other external dependencies.
A current development snapshot can be obtained from the Mercurial repository via:
hg clone http://www.miller-online.eu/hg/upnpcontrol
To compile just type:
qmake && make
The changelog to the repository can be viewed here.
If UPnPControl does not work as expected, please send me an email to upnpcontrolmiller-online.eu with a description what you did and what you expected to happen along with a dump of the communication between the upnp-router and your computer and the console output of UPnPControl. The easiest way to obtain a communication dump is to use wireshark and its "follow tcp stream" function.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.