Simple UPnP gateway port mapper for the "Internet Gateway Device (IGD) Standardized Device Control Protocol" based on PERL and started with Docker.
The container uses the default gateway of the docker host and removes itself after execution.
Building Docker container:
git clone https://github.com/dariusaurius/igdctl.git
docker build -t igdctl .
(-l) List all mapped ports; on some routers/gateways it may only show mappings added via UPnP:
docker run --rm --network=host igdctl -l
(-a) Add (-e) external port 80
to (-i) internal port 80
for (-I) client 192.168.178.10
with (-P) protocol TCP
:
docker run --rm --network=host igdctl -a -e 80 -i 80 -I 192.168.178.10 -P TCP
(-R) Remove (-e) external port mapping for port 80
on all clients with (-P) protocol set to TCP
:
docker run --rm --network=host igdctl -R -e 80 -P TCP
Display (-h) help text with many more commands:
docker run --rm --network=host igdctl -h
howtoforge.com - Administrating Your Gateway Device Via UPnP by Vincent Wochnik
perlmaven.com - Distributing a Perl script using Docker container by Gabor Szabo