MiniUPnP client and a library