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{