diff --git a/internal/web/actions/default/servers/iplists/index.go b/internal/web/actions/default/servers/iplists/index.go
index 4d427965..7c4cef56 100644
--- a/internal/web/actions/default/servers/iplists/index.go
+++ b/internal/web/actions/default/servers/iplists/index.go
@@ -148,6 +148,22 @@ func (this *IndexAction) RunGet(params struct {
}
}
+ // 区域 & ISP
+ var region = ""
+ var isp = ""
+ if len(item.IpFrom) > 0 && len(item.IpTo) == 0 {
+ regionResp, err := this.RPC().IPLibraryRPC().LookupIPRegion(this.AdminContext(), &pb.LookupIPRegionRequest{Ip: item.IpFrom})
+ if err != nil {
+ this.ErrorPage(err)
+ return
+ }
+ var ipRegion = regionResp.IpRegion
+ if ipRegion != nil {
+ region = ipRegion.Summary
+ isp = ipRegion.Isp
+ }
+ }
+
itemMaps = append(itemMaps, maps.Map{
"id": item.Id,
"ipFrom": item.IpFrom,
@@ -167,6 +183,8 @@ func (this *IndexAction) RunGet(params struct {
"sourceNode": sourceNodeMap,
"list": listMap,
"policy": policyMap,
+ "region": region,
+ "isp": isp,
})
}
this.Data["items"] = itemMaps
diff --git a/internal/web/actions/default/servers/iplists/items.go b/internal/web/actions/default/servers/iplists/items.go
index e8c6756e..8a2243a3 100644
--- a/internal/web/actions/default/servers/iplists/items.go
+++ b/internal/web/actions/default/servers/iplists/items.go
@@ -104,6 +104,22 @@ func (this *ItemsAction) RunGet(params struct {
}
}
+ // 区域 & ISP
+ var region = ""
+ var isp = ""
+ if len(item.IpFrom) > 0 && len(item.IpTo) == 0 {
+ regionResp, err := this.RPC().IPLibraryRPC().LookupIPRegion(this.AdminContext(), &pb.LookupIPRegionRequest{Ip: item.IpFrom})
+ if err != nil {
+ this.ErrorPage(err)
+ return
+ }
+ var ipRegion = regionResp.IpRegion
+ if ipRegion != nil {
+ region = ipRegion.Summary
+ isp = ipRegion.Isp
+ }
+ }
+
itemMaps = append(itemMaps, maps.Map{
"id": item.Id,
"ipFrom": item.IpFrom,
@@ -118,6 +134,8 @@ func (this *ItemsAction) RunGet(params struct {
"sourceSet": sourceSetMap,
"sourceServer": sourceServerMap,
"lifeSeconds": item.ExpiredAt - time.Now().Unix(),
+ "region": region,
+ "isp": isp,
})
}
this.Data["items"] = itemMaps
diff --git a/web/public/js/components/iplist/ip-list-table.js b/web/public/js/components/iplist/ip-list-table.js
index ed6c04d1..df268be3 100644
--- a/web/public/js/components/iplist/ip-list-table.js
+++ b/web/public/js/components/iplist/ip-list-table.js
@@ -118,6 +118,10 @@ Vue.component("ip-list-table", {
如果选择为全局有效,则所有服务都自动使用此名单,否则只有在WAF策略中绑定此名单后才会生效。
diff --git a/web/views/@default/servers/iplists/index.html b/web/views/@default/servers/iplists/index.html index 4d8f497d..399dd486 100644 --- a/web/views/@default/servers/iplists/index.html +++ b/web/views/@default/servers/iplists/index.html @@ -15,8 +15,8 @@