tools.go_stun

Yohn Y. 2020-04-06 Parent:4b125c1ef311 Child:102fbdab34d8

2:6455d3067db1 Browse Files

+ Добавил разрешение имён. Просто так

main.go

     1.1 --- a/main.go	Sun Apr 05 21:17:13 2020 +0300
     1.2 +++ b/main.go	Mon Apr 06 00:50:48 2020 +0300
     1.3 @@ -67,12 +67,26 @@
     1.4  
     1.5  	addr_spit := strings.Split(remoteAddr, ":")
     1.6  	addr_last := len(addr_spit) - 1
     1.7 -	addr := "IP: " + strings.Join(addr_spit[:addr_last], ":") + "\n"
     1.8 +	addr := strings.Join(addr_spit[:addr_last], ":")
     1.9 +
    1.10 +	var dns string
    1.11 +	dns_names, err := net.LookupAddr(strings.Trim(addr, "[] "))
    1.12 +	if err != nil {
    1.13 +		log.Warning(fmt.Sprintf("Fail to resolve dns name for %s: %v", remoteAddr, err))
    1.14 +	} else {
    1.15 +		for _, dns_name := range dns_names {
    1.16 +			dns += "Name: " + dns_name + "\n"
    1.17 +		}
    1.18 +	}
    1.19 +	addr = "IP: " + addr + "\n"
    1.20  	port := "Port: " + addr_spit[addr_last] + "\n"
    1.21  
    1.22  	if _, err := conn.Write([]byte(addr)); err != nil {
    1.23  		panic(err.Error())
    1.24  	}
    1.25 +	if _, err := conn.Write([]byte(dns)); err != nil {
    1.26 +		panic(err.Error())
    1.27 +	}
    1.28  	if _, err := conn.Write([]byte(port)); err != nil {
    1.29  		panic(err.Error())
    1.30  	}