feat: 支持多网卡模式

This commit is contained in:
Mmx
2021-12-03 19:59:42 +08:00
parent a595de3ed1
commit ddaac2d155
11 changed files with 132 additions and 33 deletions

42
util/eth.go Normal file
View File

@@ -0,0 +1,42 @@
package util
import (
"github.com/Mmx233/BitSrunLoginGo/global"
srunModels "github.com/Mmx233/BitSrunLoginGo/models"
"net"
"regexp"
"strings"
)
func GetInterfaceAddr() ([]srunModels.Eth, error) {
var result []srunModels.Eth
interfaces, e := net.Interfaces()
if e != nil {
return nil, e
}
reg, e := regexp.Compile(global.Config.Settings.Interfaces)
if e != nil {
Log.Println("interfaces设置异常无法解析")
return nil, e
}
for _, eth := range interfaces {
if reg.Match([]byte(eth.Name)) {
addrs, e := eth.Addrs()
if e != nil {
Log.Println(eth.Name + " 地址获取失败")
}
for _, ip := range addrs {
if strings.Contains(ip.String(), ".") {
result = append(result, srunModels.Eth{
Name: eth.Name,
Addr: ip,
})
break
}
}
}
}
return result, nil
}