I got annoyed to change with my router's firewall rules for VNC whenever it decided to change the internal IP of my device, so I wrote a tiny bit of code to keep updating that entry via UPnP. Thanks to weupnp.
PortMapper is released unter the LGPL license.