From f9e83a89bf5453b4a92e30d056c8b4fd819a12fd Mon Sep 17 00:00:00 2001 From: Kleissner Date: Fri, 7 May 2021 01:07:46 +0200 Subject: [PATCH] Improve output of external address --- Command Line.go | 28 +++++++++++++++++++--------- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/Command Line.go b/Command Line.go index 0685212..f2a6851 100644 --- a/Command Line.go +++ b/Command Line.go @@ -156,10 +156,10 @@ func userCommands() { nodeID := core.SelfNodeID() fmt.Printf("----------------\nPublic Key: %s\nNode ID: %s\n\n", hex.EncodeToString(publicKey.SerializeCompressed()), hex.EncodeToString(nodeID)) - fmt.Printf("Listen Address Multicast IP out External Port\n") + fmt.Printf("Listen Address Multicast IP out External Address\n") for _, network := range core.GetNetworks(4) { - address, _, broadcastIPv4, externalPort := network.GetListen() + address, _, broadcastIPv4, ipExternal, externalPort := network.GetListen() broadcastIPsA := "" for n, broadcastIP := range broadcastIPv4 { @@ -169,15 +169,25 @@ func userCommands() { broadcastIPsA += broadcastIP.String() } - externalPortA := "" - if externalPort > 0 { - externalPortA = strconv.Itoa(int(externalPort)) + externalAddress := "" + + if ipExternal != nil && !ipExternal.IsUnspecified() || externalPort > 0 { + externalIPA := "[unknown]" + externalPortA := "" + if ipExternal != nil && !ipExternal.IsUnspecified() { + externalIPA = ipExternal.String() + } + if externalPort > 0 { + externalPortA = strconv.Itoa(int(externalPort)) + } + + externalAddress = net.JoinHostPort(externalIPA, externalPortA) } - fmt.Printf("%-46s %-31s %s\n", address.String(), broadcastIPsA, externalPortA) + fmt.Printf("%-46s %-32s %s\n", address.String(), broadcastIPsA, externalAddress) } for _, network := range core.GetNetworks(6) { - address, multicastIP, _, externalPort := network.GetListen() + address, multicastIP, _, _, externalPort := network.GetListen() externalPortA := "" if externalPort > 0 { @@ -355,7 +365,7 @@ func textPeerConnections(peer *core.PeerInfo) (text string) { list, _ := mapConnectionsA[adapterName] for _, c := range list { - listenAddress, _, _, _ := c.Network.GetListen() + listenAddress, _, _, _, _ := c.Network.GetListen() rttA := "N/A" if c.RoundTripTime > 0 { rttA = c.RoundTripTime.Round(time.Millisecond).String() @@ -371,7 +381,7 @@ func textPeerConnections(peer *core.PeerInfo) (text string) { list, _ = mapConnectionsI[adapterName] for _, c := range list { - listenAddress, _, _, _ := c.Network.GetListen() + listenAddress, _, _, _, _ := c.Network.GetListen() rttA := "N/A" if c.RoundTripTime > 0 { rttA = c.RoundTripTime.Round(time.Millisecond).String() diff --git a/go.mod b/go.mod index f636c19..05534b4 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,4 @@ module github.com/PeernetOfficial/Cmd go 1.16 -require github.com/PeernetOfficial/core v0.0.0-20210506125740-5f8f29979913 +require github.com/PeernetOfficial/core v0.0.0-20210506230502-3a502a1ecc95 diff --git a/go.sum b/go.sum index 977ba41..aa5e74c 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -github.com/PeernetOfficial/core v0.0.0-20210506125740-5f8f29979913 h1:Kz3mmJkVylIdHzpOAZDLujkn8JcKDaVdwOJV1NVrm4Y= -github.com/PeernetOfficial/core v0.0.0-20210506125740-5f8f29979913/go.mod h1:NglFBSMGFtMqR9ugIR0H244XYPvE1eC5H0X6sergW5U= +github.com/PeernetOfficial/core v0.0.0-20210506230502-3a502a1ecc95 h1:iMfp8He5UFk00vWErDH7TjoD2VAz3aL1oTzLcEqDO/E= +github.com/PeernetOfficial/core v0.0.0-20210506230502-3a502a1ecc95/go.mod h1:NglFBSMGFtMqR9ugIR0H244XYPvE1eC5H0X6sergW5U= github.com/PeernetOfficial/core/dht v0.0.0-20210506124834-e929d6ba2f22 h1:FHBHtQR3ShxuxkG8tgE4ER86UmbNdXam/I1irdiusqg= github.com/PeernetOfficial/core/dht v0.0.0-20210506124834-e929d6ba2f22/go.mod h1:sb2H21VIVTohCXVrDFo/Skl2tN8Yzba+MXSS6NgCYXw= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII=