mirror of
https://github.com/Ernous/TorrServerJellyfin.git
synced 2025-12-19 13:36:09 +05:00
fix build, rework interface check and filter ipv6 for name
This commit is contained in:
@@ -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,8 +167,11 @@ 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) {
|
||||||
@@ -174,12 +180,11 @@ func getDefaultFriendlyName() string {
|
|||||||
case *net.IPAddr:
|
case *net.IPAddr:
|
||||||
ip = v.IP
|
ip = v.IP
|
||||||
}
|
}
|
||||||
if !ip.IsLoopback() {
|
if !ip.IsLoopback() && ip.To4() != nil {
|
||||||
list = append(list, ip.String())
|
list = append(list, ip.String())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if len(list) > 0 {
|
if len(list) > 0 {
|
||||||
return ret + " " + list[0]
|
return ret + " " + list[0]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ func GetAllPhysicalInterfaces() []PhysicalInterface {
|
|||||||
var outInterfaces []PhysicalInterface
|
var outInterfaces []PhysicalInterface
|
||||||
|
|
||||||
for _, element := range ifaces {
|
for _, element := range ifaces {
|
||||||
if element.Flags&net.FlagLoopback == 0 && element.Flags&net.FlagUp == 1 && isPhysicalInterface(element.HardwareAddr.String()) {
|
if element.Flags&net.FlagLoopback == 0 && element.Flags&net.FlagUp == 1 && IsPhysicalInterface(element.HardwareAddr.String()) {
|
||||||
outInterfaces = append(outInterfaces, PhysicalInterface{MACAddress: element.HardwareAddr.String(), Name: element.Name, FriendlyName: element.Name})
|
outInterfaces = append(outInterfaces, PhysicalInterface{MACAddress: element.HardwareAddr.String(), Name: element.Name, FriendlyName: element.Name})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user