mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 07:50:25 +08:00 
			
		
		
		
	实现网络数据包相关统计(商业版本)
This commit is contained in:
		@@ -1021,7 +1021,7 @@ func (this *NodeClusterDAO) FindClusterBasicInfo(tx *dbs.Tx, clusterId int64, ca
 | 
			
		||||
	cluster, err := this.Query(tx).
 | 
			
		||||
		Pk(clusterId).
 | 
			
		||||
		State(NodeClusterStateEnabled).
 | 
			
		||||
		Result("id", "name", "timeZone", "nodeMaxThreads", "cachePolicyId", "httpFirewallPolicyId", "autoOpenPorts", "webp", "uam", "cc", "httpPages", "http3", "isOn", "ddosProtection", "clock", "globalServerConfig", "autoInstallNftables", "autoSystemTuning").
 | 
			
		||||
		Result("id", "name", "timeZone", "nodeMaxThreads", "cachePolicyId", "httpFirewallPolicyId", "autoOpenPorts", "webp", "uam", "cc", "httpPages", "http3", "isOn", "ddosProtection", "clock", "globalServerConfig", "autoInstallNftables", "autoSystemTuning", "networkSecurity").
 | 
			
		||||
		Find()
 | 
			
		||||
	if err != nil || cluster == nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
@@ -1269,6 +1269,57 @@ func (this *NodeClusterDAO) FindClusterHTTP3Policy(tx *dbs.Tx, clusterId int64,
 | 
			
		||||
	return policy, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UpdateClusterNetworkSecurityPolicy 修改网络安全策略设置
 | 
			
		||||
func (this *NodeClusterDAO) UpdateClusterNetworkSecurityPolicy(tx *dbs.Tx, clusterId int64, networkSecurityPolicy *nodeconfigs.NetworkSecurityPolicy) error {
 | 
			
		||||
	if networkSecurityPolicy == nil {
 | 
			
		||||
		networkSecurityPolicy = nodeconfigs.NewNetworkSecurityPolicy()
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	networkSecurityPolicyJSON, err := json.Marshal(networkSecurityPolicy)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	err = this.Query(tx).
 | 
			
		||||
		Pk(clusterId).
 | 
			
		||||
		Set("networkSecurity", networkSecurityPolicyJSON).
 | 
			
		||||
		UpdateQuickly()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return this.NotifyNetworkSecurityUpdate(tx, clusterId)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// FindClusterNetworkSecurityPolicy 查询网络安全策略设置
 | 
			
		||||
func (this *NodeClusterDAO) FindClusterNetworkSecurityPolicy(tx *dbs.Tx, clusterId int64, cacheMap *utils.CacheMap) (*nodeconfigs.NetworkSecurityPolicy, error) {
 | 
			
		||||
	var cacheKey = this.Table + ":FindClusterNetworkSecurityPolicy:" + types.String(clusterId)
 | 
			
		||||
	if cacheMap != nil {
 | 
			
		||||
		cache, ok := cacheMap.Get(cacheKey)
 | 
			
		||||
		if ok {
 | 
			
		||||
			return cache.(*nodeconfigs.NetworkSecurityPolicy), nil
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	networkSecurityPolicyJSON, err := this.Query(tx).
 | 
			
		||||
		Pk(clusterId).
 | 
			
		||||
		Result("networkSecurity").
 | 
			
		||||
		FindJSONCol()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if IsNull(networkSecurityPolicyJSON) {
 | 
			
		||||
		return nodeconfigs.NewNetworkSecurityPolicy(), nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var policy = nodeconfigs.NewNetworkSecurityPolicy()
 | 
			
		||||
	err = json.Unmarshal(networkSecurityPolicyJSON, policy)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return policy, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UpdateClusterHTTPPagesPolicy 修改自定义页面设置
 | 
			
		||||
func (this *NodeClusterDAO) UpdateClusterHTTPPagesPolicy(tx *dbs.Tx, clusterId int64, httpPagesPolicy *nodeconfigs.HTTPPagesPolicy) error {
 | 
			
		||||
	if httpPagesPolicy == nil {
 | 
			
		||||
@@ -1452,6 +1503,11 @@ func (this *NodeClusterDAO) NotifyHTTP3Update(tx *dbs.Tx, clusterId int64) error
 | 
			
		||||
	return SharedNodeTaskDAO.CreateClusterTask(tx, nodeconfigs.NodeRoleNode, clusterId, 0, 0, NodeTaskTypeHTTP3PolicyChanged)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NotifyNetworkSecurityUpdate 通知网络安全策略更新
 | 
			
		||||
func (this *NodeClusterDAO) NotifyNetworkSecurityUpdate(tx *dbs.Tx, clusterId int64) error {
 | 
			
		||||
	return SharedNodeTaskDAO.CreateClusterTask(tx, nodeconfigs.NodeRoleNode, clusterId, 0, 0, NodeTaskTypeNetworkSecurityPolicyChanged)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NotifyHTTPPagesPolicyUpdate 通知HTTP Pages更新
 | 
			
		||||
func (this *NodeClusterDAO) NotifyHTTPPagesPolicyUpdate(tx *dbs.Tx, clusterId int64) error {
 | 
			
		||||
	return SharedNodeTaskDAO.CreateClusterTask(tx, nodeconfigs.NodeRoleNode, clusterId, 0, 0, NodeTaskTypeHTTPPagesPolicyChanged)
 | 
			
		||||
 
 | 
			
		||||
@@ -44,6 +44,7 @@ const (
 | 
			
		||||
	NodeClusterField_Cc                   dbs.FieldName = "cc"                   // CC设置
 | 
			
		||||
	NodeClusterField_Http3                dbs.FieldName = "http3"                // HTTP3设置
 | 
			
		||||
	NodeClusterField_AutoSystemTuning     dbs.FieldName = "autoSystemTuning"     // 是否自动调整系统参数
 | 
			
		||||
	NodeClusterField_NetworkSecurity      dbs.FieldName = "networkSecurity"      // 网络安全策略
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NodeCluster 节点集群
 | 
			
		||||
@@ -89,6 +90,7 @@ type NodeCluster struct {
 | 
			
		||||
	Cc                   dbs.JSON `field:"cc"`                   // CC设置
 | 
			
		||||
	Http3                dbs.JSON `field:"http3"`                // HTTP3设置
 | 
			
		||||
	AutoSystemTuning     bool     `field:"autoSystemTuning"`     // 是否自动调整系统参数
 | 
			
		||||
	NetworkSecurity      dbs.JSON `field:"networkSecurity"`      // 网络安全策略
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type NodeClusterOperator struct {
 | 
			
		||||
@@ -133,6 +135,7 @@ type NodeClusterOperator struct {
 | 
			
		||||
	Cc                   any // CC设置
 | 
			
		||||
	Http3                any // HTTP3设置
 | 
			
		||||
	AutoSystemTuning     any // 是否自动调整系统参数
 | 
			
		||||
	NetworkSecurity      any // 网络安全策略
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewNodeClusterOperator() *NodeClusterOperator {
 | 
			
		||||
 
 | 
			
		||||
@@ -37,7 +37,7 @@ func (this *NodeCluster) DecodeDDoSProtection() *ddosconfigs.ProtectionConfig {
 | 
			
		||||
	return result
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// HasDDoSProtection 检查是否有DDOS设置
 | 
			
		||||
// HasDDoSProtection 检查是否有DDoS设置
 | 
			
		||||
func (this *NodeCluster) HasDDoSProtection() bool {
 | 
			
		||||
	var config = this.DecodeDDoSProtection()
 | 
			
		||||
	if config != nil {
 | 
			
		||||
@@ -46,6 +46,27 @@ func (this *NodeCluster) HasDDoSProtection() bool {
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// HasNetworkSecurityPolicy 检查是否有安全策略设置
 | 
			
		||||
func (this *NodeCluster) HasNetworkSecurityPolicy() bool {
 | 
			
		||||
	var policy = this.DecodeNetworkSecurityPolicy()
 | 
			
		||||
	if policy != nil {
 | 
			
		||||
		return policy.IsOn()
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// DecodeNetworkSecurityPolicy 解析安全策略设置
 | 
			
		||||
func (this *NodeCluster) DecodeNetworkSecurityPolicy() *nodeconfigs.NetworkSecurityPolicy {
 | 
			
		||||
	var policy = nodeconfigs.NewNetworkSecurityPolicy()
 | 
			
		||||
	if IsNotNull(this.NetworkSecurity) {
 | 
			
		||||
		err := json.Unmarshal(this.NetworkSecurity, policy)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			remotelogs.Error("NodeCluster.DecodeNetworkSecurityPolicy()", err.Error())
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return policy
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// DecodeClock 解析时钟配置
 | 
			
		||||
func (this *NodeCluster) DecodeClock() *nodeconfigs.ClockConfig {
 | 
			
		||||
	var clock = nodeconfigs.DefaultClockConfig()
 | 
			
		||||
 
 | 
			
		||||
@@ -1221,6 +1221,11 @@ func (this *NodeDAO) ComposeNodeConfig(tx *dbs.Tx, nodeId int64, dataMap *shared
 | 
			
		||||
			config.AutoSystemTuning = nodeCluster.AutoSystemTuning
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// 安全设置
 | 
			
		||||
		if clusterIndex == 0 {
 | 
			
		||||
			config.NetworkSecurityPolicy = nodeCluster.DecodeNetworkSecurityPolicy()
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		clusterIndex++
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -17,21 +17,22 @@ type NodeTaskType = string
 | 
			
		||||
const (
 | 
			
		||||
	// CDN相关
 | 
			
		||||
 | 
			
		||||
	NodeTaskTypeConfigChanged             NodeTaskType = "configChanged"             // 节点整体配置变化
 | 
			
		||||
	NodeTaskTypeDDosProtectionChanged     NodeTaskType = "ddosProtectionChanged"     // 节点DDoS配置变更
 | 
			
		||||
	NodeTaskTypeGlobalServerConfigChanged NodeTaskType = "globalServerConfigChanged" // 全局服务设置变化
 | 
			
		||||
	NodeTaskTypeIPListDeleted             NodeTaskType = "ipListDeleted"             // IPList被删除
 | 
			
		||||
	NodeTaskTypeIPItemChanged             NodeTaskType = "ipItemChanged"             // IP条目变更
 | 
			
		||||
	NodeTaskTypeNodeVersionChanged        NodeTaskType = "nodeVersionChanged"        // 节点版本变化
 | 
			
		||||
	NodeTaskTypeScriptsChanged            NodeTaskType = "scriptsChanged"            // 脚本配置变化
 | 
			
		||||
	NodeTaskTypeNodeLevelChanged          NodeTaskType = "nodeLevelChanged"          // 节点级别变化
 | 
			
		||||
	NodeTaskTypeUserServersStateChanged   NodeTaskType = "userServersStateChanged"   // 用户服务状态变化
 | 
			
		||||
	NodeTaskTypeUAMPolicyChanged          NodeTaskType = "uamPolicyChanged"          // UAM策略变化
 | 
			
		||||
	NodeTaskTypeHTTPPagesPolicyChanged    NodeTaskType = "httpPagesPolicyChanged"    // 自定义页面变化
 | 
			
		||||
	NodeTaskTypeHTTPCCPolicyChanged       NodeTaskType = "httpCCPolicyChanged"       // CC策略变化
 | 
			
		||||
	NodeTaskTypeHTTP3PolicyChanged        NodeTaskType = "http3PolicyChanged"        // HTTP3策略变化
 | 
			
		||||
	NodeTaskTypeUpdatingServers           NodeTaskType = "updatingServers"           // 更新一组服务
 | 
			
		||||
	NodeTaskTypeTOAChanged                NodeTaskType = "toaChanged"                // TOA配置变化
 | 
			
		||||
	NodeTaskTypeConfigChanged                NodeTaskType = "configChanged"                // 节点整体配置变化
 | 
			
		||||
	NodeTaskTypeDDosProtectionChanged        NodeTaskType = "ddosProtectionChanged"        // 节点DDoS配置变更
 | 
			
		||||
	NodeTaskTypeGlobalServerConfigChanged    NodeTaskType = "globalServerConfigChanged"    // 全局服务设置变化
 | 
			
		||||
	NodeTaskTypeIPListDeleted                NodeTaskType = "ipListDeleted"                // IPList被删除
 | 
			
		||||
	NodeTaskTypeIPItemChanged                NodeTaskType = "ipItemChanged"                // IP条目变更
 | 
			
		||||
	NodeTaskTypeNodeVersionChanged           NodeTaskType = "nodeVersionChanged"           // 节点版本变化
 | 
			
		||||
	NodeTaskTypeScriptsChanged               NodeTaskType = "scriptsChanged"               // 脚本配置变化
 | 
			
		||||
	NodeTaskTypeNodeLevelChanged             NodeTaskType = "nodeLevelChanged"             // 节点级别变化
 | 
			
		||||
	NodeTaskTypeUserServersStateChanged      NodeTaskType = "userServersStateChanged"      // 用户服务状态变化
 | 
			
		||||
	NodeTaskTypeUAMPolicyChanged             NodeTaskType = "uamPolicyChanged"             // UAM策略变化
 | 
			
		||||
	NodeTaskTypeHTTPPagesPolicyChanged       NodeTaskType = "httpPagesPolicyChanged"       // 自定义页面变化
 | 
			
		||||
	NodeTaskTypeHTTPCCPolicyChanged          NodeTaskType = "httpCCPolicyChanged"          // CC策略变化
 | 
			
		||||
	NodeTaskTypeHTTP3PolicyChanged           NodeTaskType = "http3PolicyChanged"           // HTTP3策略变化
 | 
			
		||||
	NodeTaskTypeNetworkSecurityPolicyChanged NodeTaskType = "networkSecurityPolicyChanged" // 网络安全策略变化
 | 
			
		||||
	NodeTaskTypeUpdatingServers              NodeTaskType = "updatingServers"              // 更新一组服务
 | 
			
		||||
	NodeTaskTypeTOAChanged                   NodeTaskType = "toaChanged"                   // TOA配置变化
 | 
			
		||||
 | 
			
		||||
	// NS相关
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1197,6 +1197,9 @@ func (this *NodeClusterService) FindEnabledNodeClusterConfigInfo(ctx context.Con
 | 
			
		||||
		result.Http3IsOn = http3Policy.IsOn
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 网络安全策略
 | 
			
		||||
	result.HasNetworkSecurityPolicy = cluster.HasNetworkSecurityPolicy()
 | 
			
		||||
 | 
			
		||||
	return result, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -11,3 +11,13 @@ import (
 | 
			
		||||
func (this *NodeClusterService) FindNodeClusterHTTP3Policy(ctx context.Context, req *pb.FindNodeClusterHTTP3PolicyRequest) (*pb.FindNodeClusterHTTP3PolicyResponse, error) {
 | 
			
		||||
	return nil, this.NotImplementedYet()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// FindNodeClusterNetworkSecurityPolicy 获取集群的网络安全策略
 | 
			
		||||
func (this *NodeClusterService) FindNodeClusterNetworkSecurityPolicy(ctx context.Context, req *pb.FindNodeClusterNetworkSecurityPolicyRequest) (*pb.FindNodeClusterNetworkSecurityPolicyResponse, error) {
 | 
			
		||||
	return nil, this.NotImplementedYet()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UpdateNodeClusterNetworkSecurityPolicy 修改集群的网络安全策略
 | 
			
		||||
func (this *NodeClusterService) UpdateNodeClusterNetworkSecurityPolicy(ctx context.Context, req *pb.UpdateNodeClusterNetworkSecurityPolicyRequest) (*pb.RPCSuccess, error) {
 | 
			
		||||
	return nil, this.NotImplementedYet()
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -52,3 +52,8 @@ func (this *NodeService) CopyNodeActionsToNodeCluster(ctx context.Context, req *
 | 
			
		||||
func (this *NodeService) FindNodeTOAConfig(ctx context.Context, req *pb.FindNodeTOAConfigRequest) (*pb.FindNodeTOAConfigResponse, error) {
 | 
			
		||||
	return nil, this.NotImplementedYet()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// FindNodeNetworkSecurityPolicy 查找节点的网络安全策略
 | 
			
		||||
func (this *NodeService) FindNodeNetworkSecurityPolicy(ctx context.Context, req *pb.FindNodeNetworkSecurityPolicyRequest) (*pb.FindNodeNetworkSecurityPolicyResponse, error) {
 | 
			
		||||
	return nil, this.NotImplementedYet()
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -414,6 +414,17 @@ func (this *ServerStatBoardService) ComposeServerStatNodeBoard(ctx context.Conte
 | 
			
		||||
		})
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	networkPacketsValues, err := models.SharedNodeValueDAO.ListValues(tx, "node", req.NodeId, nodeconfigs.NodeValueItemNetworkPackets, nodeconfigs.NodeValueRangeMinute)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	for _, v := range networkPacketsValues {
 | 
			
		||||
		result.NetworkPacketsValues = append(result.NetworkPacketsValues, &pb.NodeValue{
 | 
			
		||||
			ValueJSON: v.Value,
 | 
			
		||||
			CreatedAt: int64(v.CreatedAt),
 | 
			
		||||
		})
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	cacheDirValues, err := models.SharedNodeValueDAO.ListValues(tx, "node", req.NodeId, nodeconfigs.NodeValueItemCacheDir, nodeconfigs.NodeValueRangeMinute)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
 
 | 
			
		||||
@@ -109840,7 +109840,7 @@
 | 
			
		||||
      "name": "edgeNodeClusters",
 | 
			
		||||
      "engine": "InnoDB",
 | 
			
		||||
      "charset": "utf8mb4_general_ci",
 | 
			
		||||
      "definition": "CREATE TABLE `edgeNodeClusters` (\n  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',\n  `adminId` int(11) unsigned DEFAULT '0' COMMENT '管理员ID',\n  `userId` int(11) unsigned DEFAULT '0' COMMENT '用户ID',\n  `isOn` tinyint(1) unsigned DEFAULT '1' COMMENT '是否启用',\n  `name` varchar(255) DEFAULT NULL COMMENT '名称',\n  `useAllAPINodes` tinyint(1) unsigned DEFAULT '1' COMMENT '是否使用所有API节点',\n  `apiNodes` json DEFAULT NULL COMMENT '使用的API节点',\n  `installDir` varchar(512) DEFAULT NULL COMMENT '安装目录',\n  `order` int(11) unsigned DEFAULT '0' COMMENT '排序',\n  `createdAt` bigint(11) unsigned DEFAULT '0' COMMENT '创建时间',\n  `grantId` int(11) unsigned DEFAULT '0' COMMENT '默认认证方式',\n  `sshParams` json DEFAULT NULL COMMENT 'SSH默认参数',\n  `state` tinyint(1) unsigned DEFAULT '1' COMMENT '状态',\n  `autoRegister` tinyint(1) unsigned DEFAULT '1' COMMENT '是否开启自动注册',\n  `uniqueId` varchar(32) DEFAULT NULL COMMENT '唯一ID',\n  `secret` varchar(32) DEFAULT NULL COMMENT '密钥',\n  `healthCheck` json DEFAULT NULL COMMENT '健康检查',\n  `dnsName` varchar(255) DEFAULT NULL COMMENT 'DNS名称',\n  `dnsDomainId` int(11) unsigned DEFAULT '0' COMMENT '域名ID',\n  `dns` json DEFAULT NULL COMMENT 'DNS配置',\n  `toa` json DEFAULT NULL COMMENT 'TOA配置',\n  `cachePolicyId` int(11) unsigned DEFAULT '0' COMMENT '缓存策略ID',\n  `httpFirewallPolicyId` int(11) unsigned DEFAULT '0' COMMENT 'WAF策略ID',\n  `accessLog` json DEFAULT NULL COMMENT '访问日志设置',\n  `systemServices` json DEFAULT NULL COMMENT '系统服务设置',\n  `timeZone` varchar(64) DEFAULT NULL COMMENT '时区',\n  `nodeMaxThreads` int(11) unsigned DEFAULT '0' COMMENT '节点最大线程数',\n  `ddosProtection` json DEFAULT NULL COMMENT 'DDoS防护设置',\n  `autoOpenPorts` tinyint(1) unsigned DEFAULT '1' COMMENT '是否自动尝试开放端口',\n  `isPinned` tinyint(1) unsigned DEFAULT '0' COMMENT '是否置顶',\n  `webp` json DEFAULT NULL COMMENT 'WebP设置',\n  `uam` json DEFAULT NULL COMMENT 'UAM设置',\n  `clock` json DEFAULT NULL COMMENT '时钟配置',\n  `globalServerConfig` json DEFAULT NULL COMMENT '全局服务配置',\n  `autoRemoteStart` tinyint(1) unsigned DEFAULT '1' COMMENT '自动远程启动',\n  `autoInstallNftables` tinyint(1) unsigned DEFAULT '0' COMMENT '自动安装nftables',\n  `isAD` tinyint(1) unsigned DEFAULT '0' COMMENT '是否为高防集群',\n  `httpPages` json DEFAULT NULL COMMENT '自定义页面设置',\n  `cc` json DEFAULT NULL COMMENT 'CC设置',\n  `http3` json DEFAULT NULL COMMENT 'HTTP3设置',\n  `autoSystemTuning` tinyint(1) unsigned DEFAULT '1' COMMENT '是否自动调整系统参数',\n  PRIMARY KEY (`id`),\n  KEY `uniqueId` (`uniqueId`),\n  KEY `grantId` (`grantId`),\n  KEY `dnsDomainId` (`dnsDomainId`),\n  KEY `cachePolicyId` (`cachePolicyId`),\n  KEY `httpFirewallPolicyId` (`httpFirewallPolicyId`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='节点集群'",
 | 
			
		||||
      "definition": "CREATE TABLE `edgeNodeClusters` (\n  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',\n  `adminId` int(11) unsigned DEFAULT '0' COMMENT '管理员ID',\n  `userId` int(11) unsigned DEFAULT '0' COMMENT '用户ID',\n  `isOn` tinyint(1) unsigned DEFAULT '1' COMMENT '是否启用',\n  `name` varchar(255) DEFAULT NULL COMMENT '名称',\n  `useAllAPINodes` tinyint(1) unsigned DEFAULT '1' COMMENT '是否使用所有API节点',\n  `apiNodes` json DEFAULT NULL COMMENT '使用的API节点',\n  `installDir` varchar(512) DEFAULT NULL COMMENT '安装目录',\n  `order` int(11) unsigned DEFAULT '0' COMMENT '排序',\n  `createdAt` bigint(11) unsigned DEFAULT '0' COMMENT '创建时间',\n  `grantId` int(11) unsigned DEFAULT '0' COMMENT '默认认证方式',\n  `sshParams` json DEFAULT NULL COMMENT 'SSH默认参数',\n  `state` tinyint(1) unsigned DEFAULT '1' COMMENT '状态',\n  `autoRegister` tinyint(1) unsigned DEFAULT '1' COMMENT '是否开启自动注册',\n  `uniqueId` varchar(32) DEFAULT NULL COMMENT '唯一ID',\n  `secret` varchar(32) DEFAULT NULL COMMENT '密钥',\n  `healthCheck` json DEFAULT NULL COMMENT '健康检查',\n  `dnsName` varchar(255) DEFAULT NULL COMMENT 'DNS名称',\n  `dnsDomainId` int(11) unsigned DEFAULT '0' COMMENT '域名ID',\n  `dns` json DEFAULT NULL COMMENT 'DNS配置',\n  `toa` json DEFAULT NULL COMMENT 'TOA配置',\n  `cachePolicyId` int(11) unsigned DEFAULT '0' COMMENT '缓存策略ID',\n  `httpFirewallPolicyId` int(11) unsigned DEFAULT '0' COMMENT 'WAF策略ID',\n  `accessLog` json DEFAULT NULL COMMENT '访问日志设置',\n  `systemServices` json DEFAULT NULL COMMENT '系统服务设置',\n  `timeZone` varchar(64) DEFAULT NULL COMMENT '时区',\n  `nodeMaxThreads` int(11) unsigned DEFAULT '0' COMMENT '节点最大线程数',\n  `ddosProtection` json DEFAULT NULL COMMENT 'DDoS防护设置',\n  `autoOpenPorts` tinyint(1) unsigned DEFAULT '1' COMMENT '是否自动尝试开放端口',\n  `isPinned` tinyint(1) unsigned DEFAULT '0' COMMENT '是否置顶',\n  `webp` json DEFAULT NULL COMMENT 'WebP设置',\n  `uam` json DEFAULT NULL COMMENT 'UAM设置',\n  `clock` json DEFAULT NULL COMMENT '时钟配置',\n  `globalServerConfig` json DEFAULT NULL COMMENT '全局服务配置',\n  `autoRemoteStart` tinyint(1) unsigned DEFAULT '1' COMMENT '自动远程启动',\n  `autoInstallNftables` tinyint(1) unsigned DEFAULT '0' COMMENT '自动安装nftables',\n  `isAD` tinyint(1) unsigned DEFAULT '0' COMMENT '是否为高防集群',\n  `httpPages` json DEFAULT NULL COMMENT '自定义页面设置',\n  `cc` json DEFAULT NULL COMMENT 'CC设置',\n  `http3` json DEFAULT NULL COMMENT 'HTTP3设置',\n  `autoSystemTuning` tinyint(1) unsigned DEFAULT '1' COMMENT '是否自动调整系统参数',\n  `networkSecurity` json DEFAULT NULL COMMENT '网络安全策略',\n  PRIMARY KEY (`id`),\n  KEY `uniqueId` (`uniqueId`),\n  KEY `grantId` (`grantId`),\n  KEY `dnsDomainId` (`dnsDomainId`),\n  KEY `cachePolicyId` (`cachePolicyId`),\n  KEY `httpFirewallPolicyId` (`httpFirewallPolicyId`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='节点集群'",
 | 
			
		||||
      "fields": [
 | 
			
		||||
        {
 | 
			
		||||
          "name": "id",
 | 
			
		||||
@@ -110005,6 +110005,10 @@
 | 
			
		||||
        {
 | 
			
		||||
          "name": "autoSystemTuning",
 | 
			
		||||
          "definition": "tinyint(1) unsigned DEFAULT '1' COMMENT '是否自动调整系统参数'"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "networkSecurity",
 | 
			
		||||
          "definition": "json COMMENT '网络安全策略'"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "indexes": [
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user