嘟嘟社区

自己编译的nezha面板不显示国旗。小白勿进


为什么要自己编译,因为可以定制界面和功能;
懒人直接移步官网即可
随着agent一直更新,不知道改了什么,一直看不显示国旗,今天自己手撸了一下地理位置查询的代码
打开service/rpc/nezha.go  
找到 LookupGeoIP 方法
直接修改成下面代码编译一下就行
  1. var clientID uint64
  2.         var err error
  3.         if clientID, err = s.Auth.Check(c); err != nil {
  4.                 return nil, err
  5.         }
  6.         ip := r.GetIp()
  7.         url := "https://xxxxxx.xx/api/ip?ip=" + ip
  8.         // 发送HTTP POST请求
  9.         resp, err := http.Post(url, "application/json;charset=utf-8", nil)
  10.         if err != nil {
  11.                 return nil, err
  12.         }
  13.         defer resp.Body.Close()
  14.         resBody, err := ioutil.ReadAll(resp.Body)
  15.         if err != nil {
  16.                 return nil, err
  17.         }
  18.         var data map[string]interface{}
  19.         // 解析JSON数据
  20.         err = json.Unmarshal(resBody, &data)
  21.         if err != nil {
  22.                 return nil, err
  23.         }
  24.         //下面的data根据自己接口返回商的内容定义
  25.         resData := data["data"].(map[string]interface{})
  26.         var location = strings.ToLower(resData["countryId"].(string)) // 将地区码写入到 Host
  27.         singleton.ServerLock.RLock()
  28.         defer singleton.ServerLock.RUnlock()
  29.         if singleton.ServerList[clientID].Host == nil {
  30.                 return nil, fmt.Errorf("host not found")
  31.         }
  32.         singleton.ServerList[clientID].Host.CountryCode = location
  33.         return &pb.GeoIP{Ip: ip, CountryCode: location}, nil

复制代码

  小白进来了。  小白走了。
改了啥? 我很好奇为什么他们编译的就行,自己不行。。。

icon 发表于 2024-7-31 15:58
改了啥? 我很好奇为什么他们编译的就行,自己不行。。。

找个文件对比器一对比就知道改了啥

icon 发表于 2024-7-31 15:58
改了啥? 我很好奇为什么他们编译的就行,自己不行。。。

下载下来不用改什么,就两行命令,
可能和go版本有关系
go mod tidy -v
env GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build cmd/dashboard/main.go

教教小白

CMBCHINA 发表于 2024-7-31 16:05
下载下来不用改什么,就两行命令,
可能和go版本有关系
go mod tidy -v

明白了,看你这命令行是glibc的兼容性问题吧,那正常。我前面还在纳闷怎么他官方版本和编译版本不同,这经常是下毒的一个迹象。