Skip to content

server: Remove UPnP support.#3650

Open
davecgh wants to merge 1 commit intodecred:masterfrom
davecgh:remove_upnp_support
Open

server: Remove UPnP support.#3650
davecgh wants to merge 1 commit intodecred:masterfrom
davecgh:remove_upnp_support

Conversation

@davecgh
Copy link
Member

@davecgh davecgh commented Mar 17, 2026

This removes all support for automatic port mapping via UPnP. A warning will now be shown if the CLI flag is specified that it is no longer supported.

The primary motivations for removing it are:

  • Automatic port mapping via UPnP has always been controversial due to its security implications
  • It has always been disabled by default due to the aforementioned security implications and thus very few people ever used it
  • UPnP is increasingly less relevant than it was over a decade ago and has very low real world utility today
  • The existing support only ever worked on a limited amount of devices as is typical of UPnP in general due to most routers not implementing the spec properly
  • Any perceived convenience realistically no longer applies today because, due to many security issues over the years with the protocol, including some as recent as 2026, nearly all modern routers come with it disabled by default
    • If a user is capable of enabling UPnP on the router, they are equally capable of just mapping the port themselves
  • Manual port forwarding is straightforward and far more secure
  • IPv6 is increasingly more common where UPnP is irrelevant

Given all of the aforementioned, it really isn't worth the maintenance burden anymore.

@davecgh davecgh added this to the 2.2.0 milestone Mar 17, 2026
This removes all support for automatic port mapping via UPnP.  A warning
will now be shown if the CLI flag is specified that it is no longer
supported.

The primary motivations for removing it are:

- Automatic port mapping via UPnP has always been controversial due to its
  security implications
- It has always been disabled by default due to the aforementioned
  security implications and thus very few people ever used it
- UPnP is increasingly less relevant than it was over a decade ago and
  has very low real world utility today
- The existing support only ever worked on a limited amount of devices
  as is typical of UPnP in general due to most routers not implementing
  the spec properly
- Any perceived convenience realistically no longer applies today
  because, due to many security issues over the years with the protocol,
  including some as recent as 2026, nearly all modern routers come with
  it disabled by default
  - If a user is capable of enabling UPnP on the router, they are
    equally capable of just mapping the port themselves
- Manual port forwarding is straightforward and far more secure
- IPv6 is increasingly more common where UPnP is irrelevant

Given all of the aforementioned, it really isn't worth the maintenance
burden anymore.
@davecgh davecgh force-pushed the remove_upnp_support branch from 3467a06 to 6c30e8a Compare March 17, 2026 15:12
Copy link
Member

@jrick jrick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

won't miss it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants