diff --git a/internal/web/actions/default/clusters/cluster/node/node.go b/internal/web/actions/default/clusters/cluster/node/node.go index 5865ea42..47710446 100644 --- a/internal/web/actions/default/clusters/cluster/node/node.go +++ b/internal/web/actions/default/clusters/cluster/node/node.go @@ -77,11 +77,13 @@ func (this *NodeAction) RunGet(params struct { return } dnsRouteMaps := []maps.Map{} - for _, dnsInfo := range dnsInfoResp.Node.Routes { - dnsRouteMaps = append(dnsRouteMaps, maps.Map{ - "name": dnsInfo.Name, - "code": dnsInfo.Code, - }) + if dnsInfoResp.Node != nil { + for _, dnsInfo := range dnsInfoResp.Node.Routes { + dnsRouteMaps = append(dnsRouteMaps, maps.Map{ + "name": dnsInfo.Name, + "code": dnsInfo.Code, + }) + } } this.Data["dnsRoutes"] = dnsRouteMaps diff --git a/internal/web/actions/default/servers/components/ip-library/download.go b/internal/web/actions/default/servers/components/ip-library/download.go index ac6a4d85..c7a73f40 100644 --- a/internal/web/actions/default/servers/components/ip-library/download.go +++ b/internal/web/actions/default/servers/components/ip-library/download.go @@ -1,6 +1,7 @@ package iplibrary import ( + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" ) @@ -16,6 +17,9 @@ func (this *DownloadAction) Init() { func (this *DownloadAction) RunGet(params struct { LibraryId int64 }) { + // 日志 + this.CreateLog(oplogs.LevelInfo, "下载IP库 %d", params.LibraryId) + libraryResp, err := this.RPC().IPLibraryRPC().FindEnabledIPLibrary(this.AdminContext(), &pb.FindEnabledIPLibraryRequest{IpLibraryId: params.LibraryId}) if err != nil { this.ErrorPage(err) diff --git a/internal/web/actions/default/servers/components/waf/createGroupPopup.go b/internal/web/actions/default/servers/components/waf/createGroupPopup.go index 9f292205..9ead21ba 100644 --- a/internal/web/actions/default/servers/components/waf/createGroupPopup.go +++ b/internal/web/actions/default/servers/components/waf/createGroupPopup.go @@ -1,6 +1,7 @@ package waf import ( + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/models" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" @@ -94,5 +95,8 @@ func (this *CreateGroupPopupAction) RunPost(params struct { return } + // 日志 + this.CreateLog(oplogs.LevelInfo, "创建规则分组 %d,名称:%s", groupId, params.Name) + this.Success() } diff --git a/internal/web/actions/default/servers/components/waf/createPopup.go b/internal/web/actions/default/servers/components/waf/createPopup.go index bd8163f4..d672e722 100644 --- a/internal/web/actions/default/servers/components/waf/createPopup.go +++ b/internal/web/actions/default/servers/components/waf/createPopup.go @@ -1,6 +1,7 @@ package waf import ( + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs" @@ -44,7 +45,7 @@ func (this *CreatePopupAction) RunPost(params struct { Field("name", params.Name). Require("请输入策略名称") - _, err := this.RPC().HTTPFirewallPolicyRPC().CreateHTTPFirewallPolicy(this.AdminContext(), &pb.CreateHTTPFirewallPolicyRequest{ + createResp, err := this.RPC().HTTPFirewallPolicyRPC().CreateHTTPFirewallPolicy(this.AdminContext(), &pb.CreateHTTPFirewallPolicyRequest{ IsOn: params.IsOn, Name: params.Name, Description: params.Description, @@ -55,5 +56,8 @@ func (this *CreatePopupAction) RunPost(params struct { return } + // 日志 + this.CreateLog(oplogs.LevelInfo, "创建WAF策略 %d", createResp.FirewallPolicyId) + this.Success() } diff --git a/internal/web/actions/default/servers/components/waf/delete.go b/internal/web/actions/default/servers/components/waf/delete.go index 17a6ca91..9809af02 100644 --- a/internal/web/actions/default/servers/components/waf/delete.go +++ b/internal/web/actions/default/servers/components/waf/delete.go @@ -1,6 +1,7 @@ package waf import ( + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" ) @@ -12,6 +13,9 @@ type DeleteAction struct { func (this *DeleteAction) RunPost(params struct { FirewallPolicyId int64 }) { + // 日志 + this.CreateLog(oplogs.LevelInfo, "删除WAF策略 %d", params.FirewallPolicyId) + countResp, err := this.RPC().ServerRPC().CountAllEnabledServersWithHTTPFirewallPolicyId(this.AdminContext(), &pb.CountAllEnabledServersWithHTTPFirewallPolicyIdRequest{FirewallPolicyId: params.FirewallPolicyId}) if err != nil { this.ErrorPage(err) @@ -27,5 +31,7 @@ func (this *DeleteAction) RunPost(params struct { return } + + this.Success() } diff --git a/internal/web/actions/default/servers/components/waf/deleteGroup.go b/internal/web/actions/default/servers/components/waf/deleteGroup.go index f02bbb0c..7842afec 100644 --- a/internal/web/actions/default/servers/components/waf/deleteGroup.go +++ b/internal/web/actions/default/servers/components/waf/deleteGroup.go @@ -1,6 +1,7 @@ package waf import ( + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/models" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" @@ -14,6 +15,9 @@ func (this *DeleteGroupAction) RunPost(params struct { FirewallPolicyId int64 GroupId int64 }) { + // 日志 + this.CreateLog(oplogs.LevelInfo, "删除WAF策略 %d 的规则分组 %d", params.FirewallPolicyId, params.GroupId) + firewallPolicy, err := models.SharedHTTPFirewallPolicyDAO.FindEnabledPolicyConfig(this.AdminContext(), params.FirewallPolicyId) if err != nil { this.ErrorPage(err) diff --git a/internal/web/actions/default/servers/components/waf/deleteSet.go b/internal/web/actions/default/servers/components/waf/deleteSet.go index f623d0f1..1c89869e 100644 --- a/internal/web/actions/default/servers/components/waf/deleteSet.go +++ b/internal/web/actions/default/servers/components/waf/deleteSet.go @@ -2,6 +2,7 @@ package waf import ( "encoding/json" + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/models" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" @@ -16,6 +17,9 @@ func (this *DeleteSetAction) RunPost(params struct { GroupId int64 SetId int64 }) { + // 日志 + this.CreateLog(oplogs.LevelInfo, "删除WAF规则分组 %d 中的规则集 %d", params.GroupId, params.SetId) + groupConfig, err := models.SharedHTTPFirewallRuleGroupDAO.FindRuleGroupConfig(this.AdminContext(), params.GroupId) if err != nil { this.ErrorPage(err) diff --git a/internal/web/actions/default/servers/components/waf/ipadmin/createIPPopup.go b/internal/web/actions/default/servers/components/waf/ipadmin/createIPPopup.go index 44f0bd8f..c2f11b9c 100644 --- a/internal/web/actions/default/servers/components/waf/ipadmin/createIPPopup.go +++ b/internal/web/actions/default/servers/components/waf/ipadmin/createIPPopup.go @@ -1,6 +1,7 @@ package ipadmin import ( + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/components/waf/ipadmin/ipadminutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/models" @@ -50,7 +51,7 @@ func (this *CreateIPPopupAction) RunPost(params struct { Field("ipFrom", params.IpFrom). Require("请输入开始IP") - _, err := this.RPC().IPItemRPC().CreateIPItem(this.AdminContext(), &pb.CreateIPItemRequest{ + createResp, err := this.RPC().IPItemRPC().CreateIPItem(this.AdminContext(), &pb.CreateIPItemRequest{ IpListId: params.ListId, IpFrom: params.IpFrom, IpTo: params.IpTo, @@ -61,6 +62,7 @@ func (this *CreateIPPopupAction) RunPost(params struct { this.ErrorPage(err) return } + itemId := createResp.IpItemId // 发送通知 err = ipadminutils.NotifyUpdateToClustersWithFirewallPolicyId(this.AdminContext(), params.FirewallPolicyId) @@ -69,5 +71,8 @@ func (this *CreateIPPopupAction) RunPost(params struct { return } + // 日志 + this.CreateLog(oplogs.LevelInfo, "在WAF策略 %d 名单中添加IP %d", params.FirewallPolicyId, itemId) + this.Success() } diff --git a/internal/web/actions/default/servers/components/waf/ipadmin/deleteIP.go b/internal/web/actions/default/servers/components/waf/ipadmin/deleteIP.go index 5a2c5a6a..e752b317 100644 --- a/internal/web/actions/default/servers/components/waf/ipadmin/deleteIP.go +++ b/internal/web/actions/default/servers/components/waf/ipadmin/deleteIP.go @@ -1,6 +1,7 @@ package ipadmin import ( + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/components/waf/ipadmin/ipadminutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" @@ -14,6 +15,9 @@ func (this *DeleteIPAction) RunPost(params struct { FirewallPolicyId int64 ItemId int64 }) { + // 日志 + this.CreateLog(oplogs.LevelInfo, "从WAF策略 %d 名单中删除IP %d", params.FirewallPolicyId, params.ItemId) + // TODO 判断权限 _, err := this.RPC().IPItemRPC().DeleteIPItem(this.AdminContext(), &pb.DeleteIPItemRequest{IpItemId: params.ItemId}) diff --git a/internal/web/actions/default/servers/components/waf/ipadmin/index.go b/internal/web/actions/default/servers/components/waf/ipadmin/index.go index b7d7431f..300d1f4a 100644 --- a/internal/web/actions/default/servers/components/waf/ipadmin/index.go +++ b/internal/web/actions/default/servers/components/waf/ipadmin/index.go @@ -2,6 +2,7 @@ package ipadmin import ( "encoding/json" + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/models" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" @@ -65,6 +66,9 @@ func (this *IndexAction) RunPost(params struct { Must *actions.Must }) { + // 日志 + this.CreateLog(oplogs.LevelInfo, "WAF策略 %d 设置禁止访问的国家和地区", params.FirewallPolicyId) + policyConfig, err := models.SharedHTTPFirewallPolicyDAO.FindEnabledPolicyConfig(this.AdminContext(), params.FirewallPolicyId) if err != nil { this.ErrorPage(err) diff --git a/internal/web/actions/default/servers/components/waf/ipadmin/provinces.go b/internal/web/actions/default/servers/components/waf/ipadmin/provinces.go index e4691cd8..973be47e 100644 --- a/internal/web/actions/default/servers/components/waf/ipadmin/provinces.go +++ b/internal/web/actions/default/servers/components/waf/ipadmin/provinces.go @@ -2,6 +2,7 @@ package ipadmin import ( "encoding/json" + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/models" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" @@ -67,6 +68,9 @@ func (this *ProvincesAction) RunPost(params struct { Must *actions.Must }) { + // 日志 + this.CreateLog(oplogs.LevelInfo, "WAF策略 %d 设置禁止访问的省份", params.FirewallPolicyId) + policyConfig, err := models.SharedHTTPFirewallPolicyDAO.FindEnabledPolicyConfig(this.AdminContext(), params.FirewallPolicyId) if err != nil { this.ErrorPage(err) diff --git a/internal/web/actions/default/servers/components/waf/ipadmin/updateIPPopup.go b/internal/web/actions/default/servers/components/waf/ipadmin/updateIPPopup.go index 3af790c1..639ecc7d 100644 --- a/internal/web/actions/default/servers/components/waf/ipadmin/updateIPPopup.go +++ b/internal/web/actions/default/servers/components/waf/ipadmin/updateIPPopup.go @@ -1,6 +1,7 @@ package ipadmin import ( + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/components/waf/ipadmin/ipadminutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" @@ -53,6 +54,9 @@ func (this *UpdateIPPopupAction) RunPost(params struct { Must *actions.Must CSRF *actionutils.CSRF }) { + // 日志 + this.CreateLog(oplogs.LevelInfo, "修改WAF策略 %d 名单中的IP %d", params.FirewallPolicyId, params.ItemId) + // TODO 校验ItemId所属用户 // TODO 校验IP格式(ipFrom/ipTo) diff --git a/internal/web/actions/default/servers/components/waf/sortGroups.go b/internal/web/actions/default/servers/components/waf/sortGroups.go index 16f2f40a..a69f1e0c 100644 --- a/internal/web/actions/default/servers/components/waf/sortGroups.go +++ b/internal/web/actions/default/servers/components/waf/sortGroups.go @@ -1,6 +1,7 @@ package waf import ( + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/models" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" @@ -16,6 +17,9 @@ func (this *SortGroupsAction) RunPost(params struct { Type string GroupIds []int64 }) { + // 日志 + this.CreateLog(oplogs.LevelInfo, "修改WAF策略 %d 中的规则分组中的排序", params.FirewallPolicyId) + firewallPolicy, err := models.SharedHTTPFirewallPolicyDAO.FindEnabledPolicyConfig(this.AdminContext(), params.FirewallPolicyId) if err != nil { this.ErrorPage(err) diff --git a/internal/web/actions/default/servers/components/waf/sortSets.go b/internal/web/actions/default/servers/components/waf/sortSets.go index 65c84fa4..d6b60f78 100644 --- a/internal/web/actions/default/servers/components/waf/sortSets.go +++ b/internal/web/actions/default/servers/components/waf/sortSets.go @@ -2,6 +2,7 @@ package waf import ( "encoding/json" + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/models" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" @@ -16,6 +17,9 @@ func (this *SortSetsAction) RunPost(params struct { GroupId int64 SetIds []int64 }) { + // 日志 + this.CreateLog(oplogs.LevelInfo, "修改WAF规则分组 %d 中的规则集排序", params.GroupId) + groupConfig, err := models.SharedHTTPFirewallRuleGroupDAO.FindRuleGroupConfig(this.AdminContext(), params.GroupId) if err != nil { this.ErrorPage(err) diff --git a/internal/web/actions/default/servers/components/waf/update.go b/internal/web/actions/default/servers/components/waf/update.go index f9c09504..5139eb12 100644 --- a/internal/web/actions/default/servers/components/waf/update.go +++ b/internal/web/actions/default/servers/components/waf/update.go @@ -1,6 +1,7 @@ package waf import ( + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/models" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" @@ -67,6 +68,9 @@ func (this *UpdateAction) RunPost(params struct { Must *actions.Must }) { + // 日志 + this.CreateLog(oplogs.LevelInfo, "修改WAF策略 %d 基本信息", params.FirewallPolicyId) + params.Must. Field("name", params.Name). Require("请输入策略名称") diff --git a/internal/web/actions/default/servers/components/waf/updateGroupOn.go b/internal/web/actions/default/servers/components/waf/updateGroupOn.go index f4a13b6c..0552ba0f 100644 --- a/internal/web/actions/default/servers/components/waf/updateGroupOn.go +++ b/internal/web/actions/default/servers/components/waf/updateGroupOn.go @@ -1,6 +1,7 @@ package waf import ( + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" ) @@ -13,6 +14,9 @@ func (this *UpdateGroupOnAction) RunPost(params struct { GroupId int64 IsOn bool }) { + // 日志 + this.CreateLog(oplogs.LevelInfo, "设置WAF规则分组 %d 开启状态", params.GroupId) + _, err := this.RPC().HTTPFirewallRuleGroupRPC().UpdateHTTPFirewallRuleGroupIsOn(this.AdminContext(), &pb.UpdateHTTPFirewallRuleGroupIsOnRequest{ FirewallRuleGroupId: params.GroupId, IsOn: params.IsOn, diff --git a/internal/web/actions/default/servers/components/waf/updateGroupPopup.go b/internal/web/actions/default/servers/components/waf/updateGroupPopup.go index 0eb2e69b..41d47b5b 100644 --- a/internal/web/actions/default/servers/components/waf/updateGroupPopup.go +++ b/internal/web/actions/default/servers/components/waf/updateGroupPopup.go @@ -1,6 +1,7 @@ package waf import ( + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/models" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" @@ -47,6 +48,9 @@ func (this *UpdateGroupPopupAction) RunPost(params struct { Must *actions.Must }) { + // 日志 + this.CreateLog(oplogs.LevelInfo, "修改WAF规则分组 %d 基本信息", params.GroupId) + params.Must. Field("name", params.Name). Require("请输入分组名称") diff --git a/internal/web/actions/default/servers/components/waf/updateSetOn.go b/internal/web/actions/default/servers/components/waf/updateSetOn.go index 18059f5c..832baf87 100644 --- a/internal/web/actions/default/servers/components/waf/updateSetOn.go +++ b/internal/web/actions/default/servers/components/waf/updateSetOn.go @@ -1,6 +1,7 @@ package waf import ( + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" ) @@ -13,6 +14,9 @@ func (this *UpdateSetOnAction) RunPost(params struct { SetId int64 IsOn bool }) { + // 日志 + this.CreateLog(oplogs.LevelInfo, "修改WAF规则集 %d 开启状态", params.SetId) + _, err := this.RPC().HTTPFirewallRuleSetRPC().UpdateHTTPFirewallRuleSetIsOn(this.AdminContext(), &pb.UpdateHTTPFirewallRuleSetIsOnRequest{ FirewallRuleSetId: params.SetId, IsOn: params.IsOn, diff --git a/internal/web/actions/default/servers/components/waf/updateSetPopup.go b/internal/web/actions/default/servers/components/waf/updateSetPopup.go index 6e14cc5f..29037ffb 100644 --- a/internal/web/actions/default/servers/components/waf/updateSetPopup.go +++ b/internal/web/actions/default/servers/components/waf/updateSetPopup.go @@ -2,6 +2,7 @@ package waf import ( "encoding/json" + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/models" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" @@ -25,6 +26,9 @@ func (this *UpdateSetPopupAction) RunGet(params struct { Type string SetId int64 }) { + // 日志 + this.CreateLog(oplogs.LevelInfo, "修改WAF规则集 %d 基本信息", params.SetId) + this.Data["groupId"] = params.GroupId this.Data["type"] = params.Type diff --git a/internal/web/actions/default/servers/server/delete/index.go b/internal/web/actions/default/servers/server/delete/index.go index 737c53b6..04d73649 100644 --- a/internal/web/actions/default/servers/server/delete/index.go +++ b/internal/web/actions/default/servers/server/delete/index.go @@ -1,8 +1,9 @@ package delete import ( - "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/iwind/TeaGo/actions" ) @@ -23,6 +24,10 @@ func (this *IndexAction) RunPost(params struct { ServerId int64 Must *actions.Must }) { + // 记录日志 + this.CreateLog(oplogs.LevelInfo, "删除代理服务 %d", params.ServerId) + + // 执行删除 _, err := this.RPC().ServerRPC().DisableServer(this.AdminContext(), &pb.DisableServerRequest{ServerId: params.ServerId}) if err != nil { this.ErrorPage(err) diff --git a/internal/web/actions/default/servers/server/settings/dns/index.go b/internal/web/actions/default/servers/server/settings/dns/index.go new file mode 100644 index 00000000..7deb7055 --- /dev/null +++ b/internal/web/actions/default/servers/server/settings/dns/index.go @@ -0,0 +1,33 @@ +package dns + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" +) + +type IndexAction struct { + actionutils.ParentAction +} + +func (this *IndexAction) Init() { + this.Nav("", "setting", "index") + this.SecondMenu("dns") +} + +func (this *IndexAction) RunGet(params struct { + ServerId int64 +}) { + dnsInfoResp, err := this.RPC().ServerRPC().FindEnabledServerDNS(this.AdminContext(), &pb.FindEnabledServerDNSRequest{ServerId: params.ServerId}) + if err != nil { + this.ErrorPage(err) + return + } + this.Data["dnsName"] = dnsInfoResp.DnsName + if dnsInfoResp.Domain != nil { + this.Data["dnsDomain"] = dnsInfoResp.Domain.Name + } else { + this.Data["dnsDomain"] = "" + } + + this.Show() +} diff --git a/internal/web/actions/default/servers/server/settings/dns/init.go b/internal/web/actions/default/servers/server/settings/dns/init.go new file mode 100644 index 00000000..a5c575c3 --- /dev/null +++ b/internal/web/actions/default/servers/server/settings/dns/init.go @@ -0,0 +1,18 @@ +package dns + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/serverutils" + "github.com/TeaOSLab/EdgeAdmin/internal/web/helpers" + "github.com/iwind/TeaGo" +) + +func init() { + TeaGo.BeforeStart(func(server *TeaGo.Server) { + server. + Helper(helpers.NewUserMustAuth()). + Helper(serverutils.NewServerHelper()). + Prefix("/servers/server/settings/dns"). + GetPost("", new(IndexAction)). + EndAll() + }) +} diff --git a/internal/web/actions/default/servers/server/settings/http/index.go b/internal/web/actions/default/servers/server/settings/http/index.go index ce43d856..e769cb46 100644 --- a/internal/web/actions/default/servers/server/settings/http/index.go +++ b/internal/web/actions/default/servers/server/settings/http/index.go @@ -2,6 +2,7 @@ package http import ( "encoding/json" + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/webutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/serverutils" @@ -66,6 +67,9 @@ func (this *IndexAction) RunPost(params struct { Must *actions.Must }) { + // 记录日志 + this.CreateLog(oplogs.LevelInfo, "修改服务 %d 的HTTP设置", params.ServerId) + addresses := []*serverconfigs.NetworkAddressConfig{} err := json.Unmarshal([]byte(params.Addresses), &addresses) if err != nil { diff --git a/internal/web/actions/default/servers/server/settings/https/index.go b/internal/web/actions/default/servers/server/settings/https/index.go index da2d997f..8f86e285 100644 --- a/internal/web/actions/default/servers/server/settings/https/index.go +++ b/internal/web/actions/default/servers/server/settings/https/index.go @@ -3,6 +3,7 @@ package https import ( "encoding/json" "errors" + "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/serverutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" @@ -77,6 +78,9 @@ func (this *IndexAction) RunPost(params struct { Must *actions.Must }) { + // 记录日志 + this.CreateLog(oplogs.LevelInfo, "修改服务 %d 的HTTPS设置", params.ServerId) + addresses := []*serverconfigs.NetworkAddressConfig{} err := json.Unmarshal([]byte(params.Addresses), &addresses) if err != nil { diff --git a/internal/web/actions/default/servers/serverutils/server_helper.go b/internal/web/actions/default/servers/serverutils/server_helper.go index 3d852db0..6ed8c1db 100644 --- a/internal/web/actions/default/servers/serverutils/server_helper.go +++ b/internal/web/actions/default/servers/serverutils/server_helper.go @@ -158,6 +158,11 @@ func (this *ServerHelper) createSettingsMenu(secondMenuItem string, serverIdStri "isActive": secondMenuItem == "basic", "isOff": !serverConfig.IsOn, }, + { + "name": "DNS", + "url": "/servers/server/settings/dns?serverId=" + serverIdString, + "isActive": secondMenuItem == "dns", + }, } // HTTP diff --git a/internal/web/actions/default/setup/install.go b/internal/web/actions/default/setup/install.go index 0b346f2a..1d366886 100644 --- a/internal/web/actions/default/setup/install.go +++ b/internal/web/actions/default/setup/install.go @@ -124,6 +124,9 @@ func (this *InstallAction) RunPost(params struct { if err != nil { this.Fail("API节点启动失败:" + err.Error()) } + + // 等待API节点初始化完成 + time.Sleep(2 * time.Second) } // 写入API节点配置,完成安装 diff --git a/internal/web/import.go b/internal/web/import.go index 4a13f7ff..c963a78a 100644 --- a/internal/web/import.go +++ b/internal/web/import.go @@ -35,6 +35,7 @@ import ( _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/cache" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/charset" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/conds" + _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/dns" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/gzip" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/headers" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/http" diff --git a/web/public/js/clipboard.min.js b/web/public/js/clipboard.min.js new file mode 100644 index 00000000..28650f3c --- /dev/null +++ b/web/public/js/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.6 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return o={},r.m=n=[function(t,e){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var o=window.getSelection(),r=document.createRange();r.selectNodeContents(t),o.removeAllRanges(),o.addRange(r),e=o.toString()}return e}},function(t,e){function n(){}n.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o` +}) \ No newline at end of file diff --git a/web/views/@default/servers/components/waf/@waf_menu.html b/web/views/@default/servers/components/waf/@waf_menu.html index c511c75a..7fa45d2e 100644 --- a/web/views/@default/servers/components/waf/@waf_menu.html +++ b/web/views/@default/servers/components/waf/@waf_menu.html @@ -6,8 +6,9 @@ 出站规则({{countOutboundGroups}}) IP管理 拦截日志 - 测试 + + 修改 \ No newline at end of file diff --git a/web/views/@default/servers/server/settings/dns/index.html b/web/views/@default/servers/server/settings/dns/index.html new file mode 100644 index 00000000..651964f9 --- /dev/null +++ b/web/views/@default/servers/server/settings/dns/index.html @@ -0,0 +1,15 @@ +{$layout} + +{$template "/left_menu"} + +
+ + + + + +
当前服务CNAME + {{dnsName}}.{{dnsDomain}}.根域名   +

可以在DNS设置一个CNAME记录,名字为你自己的域名,值为上面这个值。

+
+
\ No newline at end of file diff --git a/web/views/@default/setup/index.html b/web/views/@default/setup/index.html index fd6e80e5..1859b87a 100644 --- a/web/views/@default/setup/index.html +++ b/web/views/@default/setup/index.html @@ -76,7 +76,7 @@ 节点端口 * -

选一个在1024-65535之间并且没有正在使用的端口作为要启动的节点端口。

+

选一个在1024-65535之间并且没有正在使用的端口作为要启动的节点端口。如果你的服务器上有防火墙,请记得设置这个端口为通过。