diff --git a/waku.go b/waku.go index 239a3307..eb8ba8fd 100644 --- a/waku.go +++ b/waku.go @@ -187,6 +187,12 @@ func main() { Value: &options.LogEncoding, }, }, + &cli.StringFlag{ + Name: "agent-string", + Value: "go-waku", + Usage: "client id to advertise", + Destination: &options.UserAgent, + }, &cli.BoolFlag{ Name: "relay", Value: true, diff --git a/waku/node.go b/waku/node.go index 01a64d1f..8c724c1f 100644 --- a/waku/node.go +++ b/waku/node.go @@ -152,6 +152,10 @@ func Execute(options Options) { libp2pOpts = append(libp2pOpts, libp2p.NATPortMap()) // Attempt to open ports using uPNP for NATed hosts.) } + if options.UserAgent != "" { + libp2pOpts = append(libp2pOpts, libp2p.UserAgent(options.UserAgent)) + } + if options.Websocket.Enable { nodeOpts = append(nodeOpts, node.WithWebsockets(options.Websocket.Address, options.Websocket.WSPort)) } diff --git a/waku/options.go b/waku/options.go index ff6ca9b6..f54bdb8e 100644 --- a/waku/options.go +++ b/waku/options.go @@ -152,6 +152,7 @@ type Options struct { LogEncoding string NAT string PersistPeers bool + UserAgent string Websocket WSOptions Relay RelayOptions diff --git a/waku/v2/node/wakuoptions.go b/waku/v2/node/wakuoptions.go index 5d2e8a28..5362d39d 100644 --- a/waku/v2/node/wakuoptions.go +++ b/waku/v2/node/wakuoptions.go @@ -405,7 +405,8 @@ var DefaultLibP2POptions = []libp2p.Option{ libp2p.ChainOptions( libp2p.Transport(tcp.NewTCPTransport), libp2p.Transport(quic.NewTransport), - ), libp2p.UserAgent(userAgent), + ), + libp2p.UserAgent(userAgent), libp2p.ChainOptions( libp2p.Muxer("/yamux/1.0.0", yamux.DefaultTransport), libp2p.Muxer("/mplex/6.7.0", mplex.DefaultTransport),