mirror of
https://github.com/waku-org/go-multiaddr.git
synced 2025-02-24 03:58:17 +00:00
hide-loopback in tool
This commit is contained in:
parent
29a9c6f145
commit
c1210ef56d
39
multiaddr.go
39
multiaddr.go
@ -10,8 +10,10 @@ import (
|
|||||||
manet "github.com/jbenet/go-multiaddr/net"
|
manet "github.com/jbenet/go-multiaddr/net"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// flags
|
||||||
var formats = []string{"string", "bytes", "hex", "slice"}
|
var formats = []string{"string", "bytes", "hex", "slice"}
|
||||||
var format string
|
var format string
|
||||||
|
var hideLoopback bool
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
flag.Usage = func() {
|
flag.Usage = func() {
|
||||||
@ -22,27 +24,46 @@ func init() {
|
|||||||
usage := fmt.Sprintf("output format, one of: %v", formats)
|
usage := fmt.Sprintf("output format, one of: %v", formats)
|
||||||
flag.StringVar(&format, "format", "string", usage)
|
flag.StringVar(&format, "format", "string", usage)
|
||||||
flag.StringVar(&format, "f", "string", usage+" (shorthand)")
|
flag.StringVar(&format, "f", "string", usage+" (shorthand)")
|
||||||
|
flag.BoolVar(&hideLoopback, "hide-loopback", false, "do not display loopback addresses")
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
args := flag.Args()
|
args := flag.Args()
|
||||||
if len(args) == 0 {
|
if len(args) == 0 {
|
||||||
maddrs, err := manet.InterfaceMultiaddrs()
|
output(localAddresses()...)
|
||||||
if err != nil {
|
} else {
|
||||||
die(err)
|
output(address(args[0]))
|
||||||
}
|
|
||||||
|
|
||||||
output(maddrs...)
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
m, err := ma.NewMultiaddr(args[0])
|
func localAddresses() []ma.Multiaddr {
|
||||||
|
maddrs, err := manet.InterfaceMultiaddrs()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
die(err)
|
die(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
output(m)
|
if !hideLoopback {
|
||||||
|
return maddrs
|
||||||
|
}
|
||||||
|
|
||||||
|
var maddrs2 []ma.Multiaddr
|
||||||
|
for _, a := range maddrs {
|
||||||
|
if !manet.IsIPLoopback(a) {
|
||||||
|
maddrs2 = append(maddrs2, a)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return maddrs2
|
||||||
|
}
|
||||||
|
|
||||||
|
func address(addr string) ma.Multiaddr {
|
||||||
|
m, err := ma.NewMultiaddr(addr)
|
||||||
|
if err != nil {
|
||||||
|
die(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return m
|
||||||
}
|
}
|
||||||
|
|
||||||
func output(ms ...ma.Multiaddr) {
|
func output(ms ...ma.Multiaddr) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user