{"library":"miniupnpc","title":"miniupnpc","description":"Python bindings for the MiniUPnP library, used to control UPnP-enabled Internet Gateway Devices (IGD) for port forwarding and NAT traversal. Version 2.3.3 is the latest release; updates are infrequent (months to years between releases).","language":"python","status":"active","last_verified":"Fri May 01","install":{"commands":["pip install miniupnpc"],"cli":null},"imports":["from miniupnpc import UPnP"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from miniupnpc import UPnP\nimport os\n\nupnp = UPnP()\nupnp.discoverdelay = 200\nupnp.discover()\nupnp.selectigd()\n\nprint(f\"External IP: {upnp.externalipaddress()}\")\nprint(f\"Internal IP: {upnp.lanaddr}\")\n\n# Add a port mapping\nupnp.addportmapping(\n    8888,      # external port\n    'TCP',\n    upnp.lanaddr,\n    8888,      # internal port\n    'test mapping',\n    ''         # remote host (empty = any)\n)\nprint('Port mapping added')\n\n# Remove mapping\nupnp.deleteportmapping(8888, 'TCP')\nprint('Port mapping removed')","lang":"python","description":"Discover UPnP device, get external IP, add and remove a TCP port mapping.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}