Open ports using UPnP in network menu
GNOME Settings should allow opening ports using UPnP, and display the current external IP (also available via UPnP)
It should list the open ports (perhaps via netlink) and offer to open them via the menu.
It should provide an indicative label via the following heuristic (in order):
- Custom name given from user
- Process name and PID if available
/etc/services
- UDP 631 is "Network printing service" (cups-browsed)
- It's not in
/etc/services
, and I don't want any default services to show up as "unknown"
- It's not in
- "Unknown Service"
Or provide a method for non-root users to query process names of listening ports
Proposed Mockups:
Initial mockup (made in Pencil)
Mock UI Implementation (implemented on top of Pop_OS! 20.04 code)
I moved the test and remove buttons into the configure dialog of the rule, and put more emphasis on the name of the service
Design Tasks
-
Decide if auto syn scan or a manual button is better Badly programmed servers (or justnc -l
) might break after a syn scan- Actually syn scans RST the connection before handshake is done, so TCP scans are fine. UDP has no solution though.
-
Create final design
Development Tasks
-
Pick one: - Computer is source of truth (some file in
/etc
?) - Router is source of truth (synchronized, but may reset on router restart (verify this))
- Using
upnpc -l
- Using
- Computer is source of truth (some file in
-
Select backend (i used upnpc
for experiments, it works fine)
QA Tasks
-
Mock the backend (i.e. upnpc
calls) -
Verify correct calls are being made -
(If router is source of truth) Verify correct enumeration after local cache clear and reopen
Edited by Wazzaps