Merge branch 'master' into new-torrent

This commit is contained in:
nikk gitanes
2021-09-13 08:14:24 +03:00

View File

@@ -7,6 +7,7 @@ import (
"os" "os"
"os/user" "os/user"
"path/filepath" "path/filepath"
"runtime"
"time" "time"
"github.com/anacrolix/dms/dlna/dms" "github.com/anacrolix/dms/dlna/dms"
@@ -27,10 +28,12 @@ func Start() {
log.TLogln(err) log.TLogln(err)
os.Exit(1) os.Exit(1)
} }
for _, element := range ifaces { for _, i := range ifaces {
if element.Flags&net.FlagLoopback == 0 && element.Flags&net.FlagUp == net.FlagUp && element.Flags&net.FlagMulticast == net.FlagMulticast && utils.IsPhysicalInterface(element.HardwareAddr.String()) { // interface flags seem to always be 0 on Windows
ifs = append(ifs, element) if runtime.GOOS != "windows" && (i.Flags&net.FlagLoopback != 0 || i.Flags&net.FlagUp == 0 || i.Flags&net.FlagMulticast == 0) || !utils.IsPhysicalInterface(i.HardwareAddr.String()) {
continue
} }
ifs = append(ifs, i)
} }
return return
}(), }(),
@@ -164,19 +167,21 @@ func getDefaultFriendlyName() string {
} }
var list []string var list []string
for _, i := range ifaces { for _, i := range ifaces {
// interface flags seem to always be 0 on Windows
if runtime.GOOS != "windows" && (i.Flags&net.FlagLoopback != 0 || i.Flags&net.FlagUp == 0 || i.Flags&net.FlagMulticast == 0) || !utils.IsPhysicalInterface(i.HardwareAddr.String()) {
continue
}
addrs, _ := i.Addrs() addrs, _ := i.Addrs()
if i.Flags&net.FlagLoopback == 0 && i.Flags&net.FlagUp == net.FlagUp && i.Flags&net.FlagMulticast == net.FlagMulticast && utils.IsPhysicalInterface(i.HardwareAddr.String()) { for _, addr := range addrs {
for _, addr := range addrs { var ip net.IP
var ip net.IP switch v := addr.(type) {
switch v := addr.(type) { case *net.IPNet:
case *net.IPNet: ip = v.IP
ip = v.IP case *net.IPAddr:
case *net.IPAddr: ip = v.IP
ip = v.IP }
} if !ip.IsLoopback() && ip.To4() != nil {
if !ip.IsLoopback() { list = append(list, ip.String())
list = append(list, ip.String())
}
} }
} }
} }