-
Notifications
You must be signed in to change notification settings - Fork 2.8k
luci-app-upnp: Revision, new network access control and UCI options… #7822
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
luci-app-upnp: Revision, new network access control and UCI options… #7822
Conversation
|
Placeholder comment |
|
Hi - please don't open PRs here until you've finished with the PR in the packages repo first. |
|
Reference to openwrt/packages#24988 |
|
@Self-Hosting-Group: Thanks for this PR! |
a63f4d3 to
56657b2
Compare
5c69300 to
70f10e8
Compare
f7ee946 to
93eac3f
Compare
a7e70d4 to
37b06b0
Compare
This comment has been minimized.
This comment has been minimized.
ec0b876 to
645aadf
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Thanks for checking. systemcrash would also be good for his wording, JS and LuCI expertise for the first two, and the translation adaptation commit. |
645aadf to
890f2f4
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
890f2f4 to
1cd7cb9
Compare
This comment has been minimized.
This comment has been minimized.
|
About all the warnings like here, I have already informed the problem with the author but no changes yet about: 🔶 Author name (Self-Hosting-Group) seems to be a nickname or an alias The problem is same for this PR: |
1cd7cb9 to
1162507
Compare
This comment has been minimized.
This comment has been minimized.
1cd7cb9 to
f11066b
Compare
This comment has been minimized.
This comment has been minimized.
Failed checksIssues marked with an ❌ are failing checks. Commit f11066b
Commit 2faa58b
Commit 0d99e08
Commit eba65fb
Commit 9d98f9d
Commit 146f4da
For more details, see the full job log. Something broken? Consider providing feedback. |
Commits
As this PR is extensive, the descriptions of the individual commits are collapsed here:
1. Improve existing UI slightly
Active Service Port MapstoActive Port Maps, use the same wording for the table headings and ACL as on the overview status pageAdded via / description, always include the protocol and clearer/less redundant protocol labelsipv6_disable): UI option added, UCI existsnotify_intervalminimum to 900 s (default), as recommended by UDA 1.1 (2x=1800 in the standard), because daemon/OpenWrt wrongly suggested 30x less in the past, and to reduce multicast traffic and power consumption in wireless networks, clearer helpPre-update to comming PR: #7822
2. Add `UPnP IGD Adjustments` tab
And rearrange as many options
(to merge with prior)
3. Revision and adapt to updated package options
The following settings UCI options been added or changed, and the previous options are migrated on updating:
Active Port Mapsif the service is enabled andAccess Control Listif it is usedenable_protocols): Combined UI option addedallow_cgnat): Allow new option for IPv4 CGNAT use (allow filtered), and updated help with newer wording of RFC 5780stun_host): Allow port inclusionexternal_ip): UI option added for CGNAT useallow_third_party_mapping): Inverted from secure mode and optionally extended to PCPlog_output): Allow info log level, and rewordedupnp_igd_compat): Reworded/extensibledownload_kbps/upload_kbps): In kbit/s and datatype set, now, interface link speed by defaultfriendly_name): UI option added to set name displayed in Windows Explorer, model/serial number removedinternal_network): Section added to select the enabled networks and their access control. By:interface): UI option added to select the local/internal (LAN) network interface to enable the service foraccess_preset): UI option added to select an access control preset for ports that all devices on this network can mapaccept_ports): UI option added to accept these ports or port ranges on this network as wellreject_ports): UI option added to reject ports on this network; override other settingsignore_acl): UI option added to not check ACL entries before a preset; can extend/override a presetMore details on changed options can be found in the dependent package PR
Depends on: openwrt/packages#24988
4. Rename UCI section name to `settings` (v2.0)
Inspired/address copilot's PR review for a clearer config by rename UCI section name
config(v1.0) ->settings(v2.0), helps on migration and to distinguish the updated config from the previous one easily(to merge with prior)
5. Add second CGNAT UCI option
Alternative option to STUN allow-filtered. As requested by AquanJSW, to test with Tailscale. Also adds the required daemon fix. No STUN public IPv4 detection; various issues, e.g. with PCP/NAT-PMP clients
(proposed for inclusion, to merge with prior)
6. Update ACL options, migrate section
ActionAccess Control Listacl_entryminiupnpd: Update to 2.3.7 and enable regex filter packages#24495
miniupnpd: Rewrite permission line parser miniupnp/miniupnp#853
is_port_or_rangefunction instead ofupnpd_get_port_rangeand check if it has a valid range, and removes a shellcheck warningconf_rule_addfunction toupnpd_add_acl_entry(to merge with prior)
(The italic commits are intended to be merged with the prior ones after review)
Screenshots
The new network-wide access control functionality… can best be described using the LuCI screenshots:
Enable Networks / Access Control (new)
Edit Network Access Control Settings (new)
Advanced Settings tab with new CGNAT functionality
UPnP IGD Adjustments tab (new)
LuCI notification if the related package is not updated (new)
Full LuCI screenshot
Depends on packages PR: openwrt/packages#24988
The first two commits here have no dependencies and are intended for early cherry-picking
Tested on: OpenWrt 24.10.5 and 25.12.0-rc3
Maintainer: @jow-
Wanted: Newer Microsoft Xbox (One/Series) console users with OpenWrt to provide UPnP IGD logs as specified in openwrt/packages#24988 (comment) (updated package not necessary).
miniupnpd: Core functionality issues
https://github.com/Self-Hosting-Group/miniupnpd-issues
The Port Control Protocol (PCP) is the successor to NAT-PMP, shares similar protocol concepts and packet formats, but supports IPv6 port mapping and options/extensions. For more information, see:
Port Mapping Protocols Overview and Comparison 2026+: About UPnP IGD & PCP/NAT-PMP
https://github.com/Self-Hosting-Group/wiki/wiki/Port-Mapping-Protocols-Overview