From e9055a6b60de7ebe4152cd95f8612b649767a5bb Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Thu, 21 Apr 2022 18:14:53 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8A=82=E7=82=B9=E7=8A=B6=E6=80=81=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E6=98=AF=E5=90=A6=E6=A3=80=E6=9F=A5=E5=88=B0=E6=9C=AC?= =?UTF-8?q?=E5=9C=B0=E9=98=B2=E7=81=AB=E5=A2=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/firewalls/firewall_firewalld.go | 5 +++++ internal/firewalls/firewall_interface.go | 3 +++ internal/firewalls/firewall_mock.go | 5 +++++ internal/nodes/node_status_executor.go | 5 ++++- 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/internal/firewalls/firewall_firewalld.go b/internal/firewalls/firewall_firewalld.go index 971675d..3d63876 100644 --- a/internal/firewalls/firewall_firewalld.go +++ b/internal/firewalls/firewall_firewalld.go @@ -60,6 +60,11 @@ func (this *Firewalld) IsReady() bool { return this.isReady } +// IsMock 是否为模拟 +func (this *Firewalld) IsMock() bool { + return false +} + func (this *Firewalld) AllowPort(port int, protocol string) error { if !this.isReady { return nil diff --git a/internal/firewalls/firewall_interface.go b/internal/firewalls/firewall_interface.go index 082b8b9..329921d 100644 --- a/internal/firewalls/firewall_interface.go +++ b/internal/firewalls/firewall_interface.go @@ -10,6 +10,9 @@ type FirewallInterface interface { // IsReady 是否已准备被调用 IsReady() bool + // IsMock 是否为模拟 + IsMock() bool + // AllowPort 允许端口 AllowPort(port int, protocol string) error diff --git a/internal/firewalls/firewall_mock.go b/internal/firewalls/firewall_mock.go index c11d561..1b95cb5 100644 --- a/internal/firewalls/firewall_mock.go +++ b/internal/firewalls/firewall_mock.go @@ -20,6 +20,11 @@ func (this *MockFirewall) IsReady() bool { return true } +// IsMock 是否为模拟 +func (this *MockFirewall) IsMock() bool { + return true +} + // AllowPort 允许端口 func (this *MockFirewall) AllowPort(port int, protocol string) error { _ = port diff --git a/internal/nodes/node_status_executor.go b/internal/nodes/node_status_executor.go index 03d94a7..00e7445 100644 --- a/internal/nodes/node_status_executor.go +++ b/internal/nodes/node_status_executor.go @@ -7,6 +7,7 @@ import ( "github.com/TeaOSLab/EdgeNode/internal/caches" teaconst "github.com/TeaOSLab/EdgeNode/internal/const" "github.com/TeaOSLab/EdgeNode/internal/events" + "github.com/TeaOSLab/EdgeNode/internal/firewalls" "github.com/TeaOSLab/EdgeNode/internal/monitor" "github.com/TeaOSLab/EdgeNode/internal/remotelogs" "github.com/TeaOSLab/EdgeNode/internal/rpc" @@ -62,7 +63,7 @@ func (this *NodeStatusExecutor) update() { var tr = trackers.Begin("UPLOAD_NODE_STATUS") defer tr.End() - status := &nodeconfigs.NodeStatus{} + var status = &nodeconfigs.NodeStatus{} status.BuildVersion = teaconst.Version status.BuildVersionCode = utils.VersionToLong(teaconst.Version) status.OS = runtime.GOOS @@ -74,6 +75,8 @@ func (this *NodeStatusExecutor) update() { status.CacheTotalMemorySize = caches.SharedManager.TotalMemorySize() status.TrafficInBytes = teaconst.InTrafficBytes status.TrafficOutBytes = teaconst.OutTrafficBytes + var localFirewall = firewalls.Firewall() + status.HasLocalFirewall = localFirewall != nil && !localFirewall.IsMock() // 记录监控数据 monitor.SharedValueQueue.Add(nodeconfigs.NodeValueItemConnections, maps.Map{