From ea8e272e1a74b11729c7a3239c4445351876c11c Mon Sep 17 00:00:00 2001 From: fearlessfe <505380967@qq.com> Date: Sat, 1 Feb 2025 19:46:28 +0800 Subject: [PATCH] p2p/server_nat: set stun IP to localnode --- p2p/nat/stun.go | 5 ++++- p2p/server_nat.go | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/p2p/nat/stun.go b/p2p/nat/stun.go index 36d54398b5..0c5cec4bcc 100644 --- a/p2p/nat/stun.go +++ b/p2p/nat/stun.go @@ -36,6 +36,9 @@ const requestLimit = 3 var errSTUNFailed = errors.New("STUN requests failed") +type STUN struct { + stun +} type stun struct { serverList []string } @@ -77,7 +80,7 @@ func (stun) DeleteMapping(string, int, int) error { return nil } -func (s *stun) ExternalIP() (net.IP, error) { +func (s stun) ExternalIP() (net.IP, error) { for _, server := range s.randomServers(requestLimit) { ip, err := s.externalIP(server) if err != nil { diff --git a/p2p/server_nat.go b/p2p/server_nat.go index 933993bc1f..fa8ba759f7 100644 --- a/p2p/server_nat.go +++ b/p2p/server_nat.go @@ -57,8 +57,7 @@ func (srv *Server) setupPortMapping() { // No NAT interface configured. srv.loopWG.Add(1) go srv.consumePortMappingRequests() - - case nat.ExtIP: + case nat.ExtIP, nat.STUN: // ExtIP doesn't block, set the IP right away. ip, _ := srv.NAT.ExternalIP() srv.localnode.SetStaticIP(ip)