@@ -192,14 +192,20 @@ func ping(req NetstackRequestGo) (NetstackResponse, error) {
192192
193193 response .CanHandshake = true
194194
195- version , duration , err := queryMetadata (req .MetadataEndpoint , req .MetadataTimeoutSec , tnet )
196- if err != nil {
197- log .Printf ("Failed to query metadata URLs: %v\n " , err )
198- response .CanQueryMetadata = false
195+ // Skip metadata query if endpoint is empty (e.g., for IPv6 where the IPv4 metadata endpoint is not reachable)
196+ if req .MetadataEndpoint != "" {
197+ version , duration , err := queryMetadata (req .MetadataEndpoint , req .MetadataTimeoutSec , tnet )
198+ if err != nil {
199+ log .Printf ("Failed to query metadata URLs: %v\n " , err )
200+ response .CanQueryMetadata = false
201+ } else {
202+ log .Printf ("Queried metadata endpoint with version: %v\n " , version )
203+ log .Printf ("Query duration: %v\n " , duration )
204+ response .CanQueryMetadata = true
205+ }
199206 } else {
200- log .Printf ("Queried metadata endpoint with version: %v\n " , version )
201- log .Printf ("Query duration: %v\n " , duration )
202- response .CanQueryMetadata = true
207+ log .Printf ("Skipping metadata query (no endpoint provided)" )
208+ response .CanQueryMetadata = false
203209 }
204210
205211 for _ , host := range req .PingHosts {
@@ -540,25 +546,25 @@ func queryMetadata(url string, timeoutSecs uint64, tnet *netstack.Net) (int, tim
540546func main () {
541547 // uncomment the lines below to run locally and see README.md for how to get the Wireguard config
542548 /* var _, err = ping(NetstackRequestGo{
543- WgIp: "10.1.155.153",
544- PrivateKey: "...",
545- PublicKey: "...",
546- Endpoint: "13.245.9.123:51822",
547- MetadataEndpoint: "http://10.1.0.1:51830",
548- Dns: "1.1.1.1",
549- IpVersion: 4,
550- //PingHosts: nil,
551- //PingIps: nil,
552- //NumPing: 0,
553- //SendTimeoutSec: 0,
554- //RecvTimeoutSec: 0,
555- //DownloadTimeoutSec: 0,
556- MetadataTimeoutSec: 5,
557- //AwgArgs: "",
558- })
559-
560- if err != nil {
561- log.Fatal(err)
562- }
549+ WgIp: "10.1.155.153",
550+ PrivateKey: "...",
551+ PublicKey: "...",
552+ Endpoint: "13.245.9.123:51822",
553+ MetadataEndpoint: "http://10.1.0.1:51830",
554+ Dns: "1.1.1.1",
555+ IpVersion: 4,
556+ //PingHosts: nil,
557+ //PingIps: nil,
558+ //NumPing: 0,
559+ //SendTimeoutSec: 0,
560+ //RecvTimeoutSec: 0,
561+ //DownloadTimeoutSec: 0,
562+ MetadataTimeoutSec: 5,
563+ //AwgArgs: "",
564+ })
565+
566+ if err != nil {
567+ log.Fatal(err)
568+ }
563569 */
564570}
0 commit comments