️ 优化Agent体积和逻辑

This commit is contained in:
naiba 2021-07-09 00:01:58 +08:00
parent e08585b4aa
commit 42b6768979
3 changed files with 15 additions and 18 deletions

View File

@ -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...)
}
}

View File

@ -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,
}
}

View File

@ -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
}
}