From 0531dfeffb2fcd5f17a81f20b171fd8f8753faa1 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sat, 17 Sep 2022 21:04:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E8=AE=BE=E7=BD=AE=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E8=87=AA=E5=8A=A8=E5=AE=89=E8=A3=85nftables?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../clusters/cluster/settings/index.go | 57 ++++++++++--------- .../web/actions/default/clusters/create.go | 8 ++- .../clusters/cluster/settings/index.html | 7 +++ web/views/@default/clusters/create.html | 9 ++- 4 files changed, 50 insertions(+), 31 deletions(-) diff --git a/internal/web/actions/default/clusters/cluster/settings/index.go b/internal/web/actions/default/clusters/cluster/settings/index.go index 7e1b0011..ddc8f585 100644 --- a/internal/web/actions/default/clusters/cluster/settings/index.go +++ b/internal/web/actions/default/clusters/cluster/settings/index.go @@ -80,14 +80,15 @@ func (this *IndexAction) RunGet(params struct { } this.Data["cluster"] = maps.Map{ - "id": cluster.Id, - "name": cluster.Name, - "installDir": cluster.InstallDir, - "timeZone": cluster.TimeZone, - "nodeMaxThreads": cluster.NodeMaxThreads, - "autoOpenPorts": cluster.AutoOpenPorts, - "clock": clockConfig, - "autoRemoteStart": cluster.AutoRemoteStart, + "id": cluster.Id, + "name": cluster.Name, + "installDir": cluster.InstallDir, + "timeZone": cluster.TimeZone, + "nodeMaxThreads": cluster.NodeMaxThreads, + "autoOpenPorts": cluster.AutoOpenPorts, + "clock": clockConfig, + "autoRemoteStart": cluster.AutoRemoteStart, + "autoInstallNftables": cluster.AutoInstallNftables, } // 默认值 @@ -100,16 +101,17 @@ func (this *IndexAction) RunGet(params struct { // RunPost 保存设置 func (this *IndexAction) RunPost(params struct { - ClusterId int64 - Name string - GrantId int64 - InstallDir string - TimeZone string - NodeMaxThreads int32 - AutoOpenPorts bool - ClockAutoSync bool - ClockServer string - AutoRemoteStart bool + ClusterId int64 + Name string + GrantId int64 + InstallDir string + TimeZone string + NodeMaxThreads int32 + AutoOpenPorts bool + ClockAutoSync bool + ClockServer string + AutoRemoteStart bool + AutoInstallNftables bool Must *actions.Must }) { @@ -143,15 +145,16 @@ func (this *IndexAction) RunPost(params struct { } _, err = this.RPC().NodeClusterRPC().UpdateNodeCluster(this.AdminContext(), &pb.UpdateNodeClusterRequest{ - NodeClusterId: params.ClusterId, - Name: params.Name, - NodeGrantId: params.GrantId, - InstallDir: params.InstallDir, - TimeZone: params.TimeZone, - NodeMaxThreads: params.NodeMaxThreads, - AutoOpenPorts: params.AutoOpenPorts, - ClockJSON: clockConfigJSON, - AutoRemoteStart: params.AutoRemoteStart, + NodeClusterId: params.ClusterId, + Name: params.Name, + NodeGrantId: params.GrantId, + InstallDir: params.InstallDir, + TimeZone: params.TimeZone, + NodeMaxThreads: params.NodeMaxThreads, + AutoOpenPorts: params.AutoOpenPorts, + ClockJSON: clockConfigJSON, + AutoRemoteStart: params.AutoRemoteStart, + AutoInstallNftables: params.AutoInstallNftables, }) if err != nil { this.ErrorPage(err) diff --git a/internal/web/actions/default/clusters/create.go b/internal/web/actions/default/clusters/create.go index c15fbac5..25278920 100644 --- a/internal/web/actions/default/clusters/create.go +++ b/internal/web/actions/default/clusters/create.go @@ -60,9 +60,10 @@ func (this *CreateAction) RunPost(params struct { MatchDomainStrictly bool // SSH相关 - GrantId int64 - InstallDir string - SystemdServiceIsOn bool + GrantId int64 + InstallDir string + SystemdServiceIsOn bool + AutoInstallNftables bool // DNS相关 DnsDomainId int64 @@ -130,6 +131,7 @@ func (this *CreateAction) RunPost(params struct { HttpFirewallPolicyId: params.HttpFirewallPolicyId, SystemServicesJSON: systemServicesJSON, GlobalServerConfigJSON: globalServerConfigJSON, + AutoInstallNftables: params.AutoInstallNftables, }) if err != nil { this.ErrorPage(err) diff --git a/web/views/@default/clusters/cluster/settings/index.html b/web/views/@default/clusters/cluster/settings/index.html index da83f8cc..85bb90ea 100644 --- a/web/views/@default/clusters/cluster/settings/index.html +++ b/web/views/@default/clusters/cluster/settings/index.html @@ -85,6 +85,13 @@

当检测到节点离线时,自动尝试远程启动(前提是节点已经设置了SSH登录认证)。

+ + 自动安装nftables + + +

在Linux系统中自动尝试安装nftables用于安全防御;此功能需要联网从Ubuntu、CentOS等软件库中下载安装包。

+ + diff --git a/web/views/@default/clusters/create.html b/web/views/@default/clusters/create.html index 6b9dc40e..391b2ad2 100644 --- a/web/views/@default/clusters/create.html +++ b/web/views/@default/clusters/create.html @@ -45,7 +45,7 @@ 节点安装目录 -

当节点没有单独设置安装目录时,默认使用此设置。如果集群和节点都没有设置安装目录,则使用$登录用户HOME路径/edge-node +

当节点没有单独设置安装目录时,默认使用此设置。如果集群和节点都没有设置安装目录,则使用$登录用户HOME路径/edge-node 目录。

@@ -56,6 +56,13 @@

加入后可以利用systemd对节点进程进行管理,并可自动随开机启动。

+ + 自动安装nftables + + +

在Linux系统中自动尝试安装nftables用于安全防御;此功能需要联网从Ubuntu、CentOS等软件库中下载安装包。

+ +

DNS设置选项  (可选)