LuCI upnpd module lacks important functionality

I've installed the luci-app-upnpd package (miniupnpd). It looks like that the configuration file at /etc/config/upnpd has the internal_iface parameter configured as lan out of the box:

config upnpd 'config'
option internal_iface 'lan'

As for the external_iface parameter, the script seems to automatically select the interface that has a default route as the external interface unless the external_iface parameter is explicitly defined in the configuration file.

Therefore, essentially, when the package luci-app-upnpd is installed, interface 'lan' is automatically assigned as the internal_iface and whichever interface has a default route is assigned as the external_iface for the purposes of the upnpd package.

It is possible to change the assignments of the interface_iface and external_iface parameters by manually configuring the following in the /etc/config/upnpd configuration file:

config upnpd 'config'
option internal_iface 'interface_name'
option external_iface 'interface_name'

So, it's all good, but why isn't there an option to define these parameters in LuCI Services > UPnP?

The reason I need to change the internal_iface parameter is that I want to create a VLAN for a device that needs to utilize UPnP and/or NAT-PMP so that it could request a port forwarding in the firewall. I don't want to expose my entire network to the UPnP vulnerabilities, and that's the reason I need the internal_iface parameter to be a subinterface of eth1 (eth1.255) with the name midi rather than lan. It would be nice to be able to do this in LuCI.

Where should I post a request for developers to add these two options to the LuCI upnpd module?

Thank you.

You are aware this is all community work right :stuck_out_tongue_winking_eye:?
Probably you can contact the creator of the package on Github, but don't expect a company behind this all.
Probably just a smart dude that enjoys maintaining it, or just maintaining it because he need's it himself :slight_smile:

So i guess the better option is, to make it yourself, and provide the maker with of the package with your code/edit.

Thank you. I didn't realize that this was a decentralized project. I thought there were people dedicated to maintaining certain modules that are officially included in the stable release and there was a way to file a request to add a feature to a LuCI plugin.

I've never been involved in an open-source project like this before. The closest I've ever come to it was pfSense, which is now much more centralized than it used to be.

1 Like