⚡️ 优化Agent体积和逻辑
This commit is contained in:
parent
e08585b4aa
commit
42b6768979
@ -24,7 +24,6 @@ import (
|
||||
"github.com/naiba/nezha/model"
|
||||
"github.com/naiba/nezha/pkg/utils"
|
||||
pb "github.com/naiba/nezha/proto"
|
||||
"github.com/naiba/nezha/service/dao"
|
||||
"github.com/naiba/nezha/service/rpc"
|
||||
)
|
||||
|
||||
@ -37,6 +36,7 @@ var (
|
||||
server string
|
||||
clientSecret string
|
||||
version string
|
||||
debug bool
|
||||
)
|
||||
|
||||
var (
|
||||
@ -60,19 +60,14 @@ const (
|
||||
|
||||
func main() {
|
||||
// 来自于 GoReleaser 的版本号
|
||||
dao.Version = version
|
||||
monitor.Version = version
|
||||
|
||||
var debug bool
|
||||
flag.String("i", "", "unused 旧Agent配置兼容")
|
||||
flag.BoolVar(&debug, "d", false, "开启调试信息")
|
||||
flag.StringVar(&server, "s", "localhost:5555", "管理面板RPC端口")
|
||||
flag.StringVar(&clientSecret, "p", "", "Agent连接Secret")
|
||||
flag.Parse()
|
||||
|
||||
dao.Conf = &model.Config{
|
||||
Debug: debug,
|
||||
}
|
||||
|
||||
if server == "" || clientSecret == "" {
|
||||
flag.Usage()
|
||||
return
|
||||
@ -310,7 +305,7 @@ func doSelfUpdate() {
|
||||
}
|
||||
|
||||
func println(v ...interface{}) {
|
||||
if dao.Conf.Debug {
|
||||
if debug {
|
||||
log.Println(v...)
|
||||
}
|
||||
}
|
||||
|
@ -14,9 +14,9 @@ import (
|
||||
"github.com/shirou/gopsutil/v3/net"
|
||||
|
||||
"github.com/naiba/nezha/model"
|
||||
"github.com/naiba/nezha/service/dao"
|
||||
)
|
||||
|
||||
var Version string = "debug"
|
||||
var netInSpeed, netOutSpeed, netInTransfer, netOutTransfer, lastUpdate uint64
|
||||
var expectDiskFsTypes = []string{
|
||||
"apfs", "ext4", "ext3", "ext2", "f2fs", "reiserfs", "jfs", "btrfs", "fuseblk", "zfs", "simfs", "ntfs", "fat32", "exfat", "xfs",
|
||||
@ -59,7 +59,7 @@ func GetHost() *model.Host {
|
||||
BootTime: hi.BootTime,
|
||||
IP: cachedIP,
|
||||
CountryCode: strings.ToLower(cachedCountry),
|
||||
Version: dao.Version,
|
||||
Version: Version,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -13,18 +13,17 @@ import (
|
||||
type geoIP struct {
|
||||
CountryCode string `json:"country_code,omitempty"`
|
||||
IP string `json:"ip,omitempty"`
|
||||
Query string `json:"query,omitempty"`
|
||||
}
|
||||
|
||||
var (
|
||||
ipv4Servers = []string{
|
||||
"https://api.ip.sb/geoip",
|
||||
"https://ip.seeip.org/geoip",
|
||||
"https://ipapi.co/json",
|
||||
}
|
||||
ipv6Servers = []string{
|
||||
geoIPApiList = []string{
|
||||
"https://api.ip.sb/geoip",
|
||||
"https://ip.seeip.org/geoip",
|
||||
"https://ipapi.co/json",
|
||||
"https://freegeoip.app/json/",
|
||||
"http://ip-api.com/json/",
|
||||
"https://extreme-ip-lookup.com/json/",
|
||||
}
|
||||
cachedIP, cachedCountry string
|
||||
httpClientV4 = utils.NewSingleStackHTTPClient(time.Second*20, time.Second*5, time.Second*10, false)
|
||||
@ -33,8 +32,8 @@ var (
|
||||
|
||||
func UpdateIP() {
|
||||
for {
|
||||
ipv4 := fetchGeoIP(ipv4Servers, false)
|
||||
ipv6 := fetchGeoIP(ipv6Servers, true)
|
||||
ipv4 := fetchGeoIP(geoIPApiList, false)
|
||||
ipv6 := fetchGeoIP(geoIPApiList, true)
|
||||
cachedIP = fmt.Sprintf("ip(v4:%s,v6:[%s])", ipv4.IP, ipv6.IP)
|
||||
if ipv4.CountryCode != "" {
|
||||
cachedCountry = ipv4.CountryCode
|
||||
@ -65,6 +64,9 @@ func fetchGeoIP(servers []string, isV6 bool) geoIP {
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
if ip.IP == "" && ip.Query != "" {
|
||||
ip.IP = ip.Query
|
||||
}
|
||||
return ip
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user