fix: remove GetNATRSIPStatus check#39
Conversation
|
This may cause us to pick the wrong device if multiple are available. Ideally we'd just use all discovered devices and attempt to port-map with all of them, but that's a larger refactor. A simple solution here is to move this logic up the stack a bit to
|
|
When filtering services, If we really need further filtering conditions, we should determine whether the NAT device has the |
That would be ideal if you know how to do that without jumping through too many hoops. Really, the biggest issue we have here is that we lack a good test setup so I try to avoid changes that could potentially break someone's setup even if I have no evidence that it'll actually be an issue. |
In my operating environment, I found that tailscale and qBittorrent can perform port mapping through UPnP, but libp2p cannot.
After investigation, I found that libp2p has an extra step to get the
GetNATRSIPStatusstatus check compared to other UPnP programs. This step has problems on my router.I analyzed the UPnP data packets of different routers and found that
GetNATRSIPStatusis not enabled on all routers. However, these routers have theAddPortMapping/DeletePortMapping/GetExternalIPAddresscapabilities, soGetNATRSIPStatusseems to be less important here:TP-Link:

OpenWRT:

Huawei:
