mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 07:50:25 +08:00 
			
		
		
		
	网站设置增加HLS加密功能(商业版本
This commit is contained in:
		@@ -554,6 +554,18 @@ func (this *HTTPWebDAO) ComposeWebConfig(tx *dbs.Tx, webId int64, isLocationOrGr
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// hls
 | 
				
			||||||
 | 
						if IsNotNull(web.Hls) {
 | 
				
			||||||
 | 
							var hlsConfig = &serverconfigs.HLSConfig{}
 | 
				
			||||||
 | 
							err = json.Unmarshal(web.Hls, hlsConfig)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								return nil, err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							if this.shouldCompose(isLocationOrGroup, forNode, hlsConfig.IsPrior, true) {
 | 
				
			||||||
 | 
								config.HLS = hlsConfig
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if cacheMap != nil {
 | 
						if cacheMap != nil {
 | 
				
			||||||
		cacheMap.Put(cacheKey, config)
 | 
							cacheMap.Put(cacheKey, config)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -1464,6 +1476,10 @@ func (this *HTTPWebDAO) FindWebReferers(tx *dbs.Tx, webId int64) ([]byte, error)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// UpdateWebUserAgent 修改User-Agent设置
 | 
					// UpdateWebUserAgent 修改User-Agent设置
 | 
				
			||||||
func (this *HTTPWebDAO) UpdateWebUserAgent(tx *dbs.Tx, webId int64, userAgentConfig *serverconfigs.UserAgentConfig) error {
 | 
					func (this *HTTPWebDAO) UpdateWebUserAgent(tx *dbs.Tx, webId int64, userAgentConfig *serverconfigs.UserAgentConfig) error {
 | 
				
			||||||
 | 
						if webId <= 0 {
 | 
				
			||||||
 | 
							return errors.New("require 'webId'")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if userAgentConfig == nil {
 | 
						if userAgentConfig == nil {
 | 
				
			||||||
		return nil
 | 
							return nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -41,6 +41,7 @@ const (
 | 
				
			|||||||
	HTTPWebField_Referers           dbs.FieldName = "referers"           // 防盗链设置
 | 
						HTTPWebField_Referers           dbs.FieldName = "referers"           // 防盗链设置
 | 
				
			||||||
	HTTPWebField_UserAgent          dbs.FieldName = "userAgent"          // UserAgent设置
 | 
						HTTPWebField_UserAgent          dbs.FieldName = "userAgent"          // UserAgent设置
 | 
				
			||||||
	HTTPWebField_Optimization       dbs.FieldName = "optimization"       // 页面优化配置
 | 
						HTTPWebField_Optimization       dbs.FieldName = "optimization"       // 页面优化配置
 | 
				
			||||||
 | 
						HTTPWebField_Hls                dbs.FieldName = "hls"                // HLS设置
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// HTTPWeb HTTP Web
 | 
					// HTTPWeb HTTP Web
 | 
				
			||||||
@@ -83,6 +84,7 @@ type HTTPWeb struct {
 | 
				
			|||||||
	Referers           dbs.JSON `field:"referers"`           // 防盗链设置
 | 
						Referers           dbs.JSON `field:"referers"`           // 防盗链设置
 | 
				
			||||||
	UserAgent          dbs.JSON `field:"userAgent"`          // UserAgent设置
 | 
						UserAgent          dbs.JSON `field:"userAgent"`          // UserAgent设置
 | 
				
			||||||
	Optimization       dbs.JSON `field:"optimization"`       // 页面优化配置
 | 
						Optimization       dbs.JSON `field:"optimization"`       // 页面优化配置
 | 
				
			||||||
 | 
						Hls                dbs.JSON `field:"hls"`                // HLS设置
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type HTTPWebOperator struct {
 | 
					type HTTPWebOperator struct {
 | 
				
			||||||
@@ -124,6 +126,7 @@ type HTTPWebOperator struct {
 | 
				
			|||||||
	Referers           any // 防盗链设置
 | 
						Referers           any // 防盗链设置
 | 
				
			||||||
	UserAgent          any // UserAgent设置
 | 
						UserAgent          any // UserAgent设置
 | 
				
			||||||
	Optimization       any // 页面优化配置
 | 
						Optimization       any // 页面优化配置
 | 
				
			||||||
 | 
						Hls                any // HLS设置
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func NewHTTPWebOperator() *HTTPWebOperator {
 | 
					func NewHTTPWebOperator() *HTTPWebOperator {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,3 +32,13 @@ func (this *HTTPWebService) FindHTTPWebCC(ctx context.Context, req *pb.FindHTTPW
 | 
				
			|||||||
func (this *HTTPWebService) UpdateHTTPWebRequestScripts(ctx context.Context, req *pb.UpdateHTTPWebRequestScriptsRequest) (*pb.RPCSuccess, error) {
 | 
					func (this *HTTPWebService) UpdateHTTPWebRequestScripts(ctx context.Context, req *pb.UpdateHTTPWebRequestScriptsRequest) (*pb.RPCSuccess, error) {
 | 
				
			||||||
	return nil, this.NotImplementedYet()
 | 
						return nil, this.NotImplementedYet()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// UpdateHTTPWebHLS 修改HLS设置
 | 
				
			||||||
 | 
					func (this *HTTPWebService) UpdateHTTPWebHLS(ctx context.Context, req *pb.UpdateHTTPWebHLSRequest) (*pb.RPCSuccess, error) {
 | 
				
			||||||
 | 
						return nil, this.NotImplementedYet()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// FindHTTPWebHLS 查找HLS设置
 | 
				
			||||||
 | 
					func (this *HTTPWebService) FindHTTPWebHLS(ctx context.Context, req *pb.FindHTTPWebHLSRequest) (*pb.FindHTTPWebHLSResponse, error) {
 | 
				
			||||||
 | 
						return nil, this.NotImplementedYet()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -33,6 +33,11 @@ func (this *PlanService) FindEnabledPlan(ctx context.Context, req *pb.FindEnable
 | 
				
			|||||||
	return &pb.FindEnabledPlanResponse{Plan: nil}, nil
 | 
						return &pb.FindEnabledPlanResponse{Plan: nil}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// FindBasicPlan 查找套餐基本信息
 | 
				
			||||||
 | 
					func (this *PlanService) FindBasicPlan(ctx context.Context, req *pb.FindBasicPlanRequest) (*pb.FindBasicPlanResponse, error) {
 | 
				
			||||||
 | 
						return nil, this.NotImplementedYet()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// CountAllEnabledPlans 计算套餐数量
 | 
					// CountAllEnabledPlans 计算套餐数量
 | 
				
			||||||
func (this *PlanService) CountAllEnabledPlans(ctx context.Context, req *pb.CountAllEnabledPlansRequest) (*pb.RPCCountResponse, error) {
 | 
					func (this *PlanService) CountAllEnabledPlans(ctx context.Context, req *pb.CountAllEnabledPlansRequest) (*pb.RPCCountResponse, error) {
 | 
				
			||||||
	return this.SuccessCount(0)
 | 
						return this.SuccessCount(0)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -103488,7 +103488,7 @@
 | 
				
			|||||||
      "name": "edgeHTTPWebs",
 | 
					      "name": "edgeHTTPWebs",
 | 
				
			||||||
      "engine": "InnoDB",
 | 
					      "engine": "InnoDB",
 | 
				
			||||||
      "charset": "utf8mb4_general_ci",
 | 
					      "charset": "utf8mb4_general_ci",
 | 
				
			||||||
      "definition": "CREATE TABLE `edgeHTTPWebs` (\n  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',\n  `isOn` tinyint(1) unsigned DEFAULT '1' COMMENT '是否启用',\n  `templateId` int(11) unsigned DEFAULT '0' COMMENT '模版ID',\n  `adminId` int(11) unsigned DEFAULT '0' COMMENT '管理员ID',\n  `userId` int(11) unsigned DEFAULT '0' COMMENT '用户ID',\n  `state` tinyint(1) unsigned DEFAULT '1' COMMENT '状态',\n  `createdAt` bigint(11) unsigned DEFAULT '0' COMMENT '创建时间',\n  `root` json DEFAULT NULL COMMENT '根目录',\n  `charset` json DEFAULT NULL COMMENT '字符集',\n  `shutdown` json DEFAULT NULL COMMENT '临时关闭页面配置',\n  `pages` json DEFAULT NULL COMMENT '特殊页面',\n  `redirectToHttps` json DEFAULT NULL COMMENT '跳转到HTTPS设置',\n  `indexes` json DEFAULT NULL COMMENT '首页文件列表',\n  `maxRequestBodySize` json DEFAULT NULL COMMENT '最大允许的请求内容尺寸',\n  `requestHeader` json DEFAULT NULL COMMENT '请求Header配置',\n  `responseHeader` json DEFAULT NULL COMMENT '响应Header配置',\n  `accessLog` json DEFAULT NULL COMMENT '访问日志配置',\n  `stat` json DEFAULT NULL COMMENT '统计配置',\n  `gzip` json DEFAULT NULL COMMENT 'Gzip配置(v0.3.2弃用)',\n  `compression` json DEFAULT NULL COMMENT '压缩配置',\n  `cache` json DEFAULT NULL COMMENT '缓存配置',\n  `firewall` json DEFAULT NULL COMMENT '防火墙设置',\n  `locations` json DEFAULT NULL COMMENT '路由规则配置',\n  `websocket` json DEFAULT NULL COMMENT 'Websocket设置',\n  `rewriteRules` json DEFAULT NULL COMMENT '重写规则配置',\n  `hostRedirects` json DEFAULT NULL COMMENT '域名跳转',\n  `fastcgi` json DEFAULT NULL COMMENT 'Fastcgi配置',\n  `auth` json DEFAULT NULL COMMENT '认证策略配置',\n  `webp` json DEFAULT NULL COMMENT 'WebP配置',\n  `remoteAddr` json DEFAULT NULL COMMENT '客户端IP配置',\n  `mergeSlashes` tinyint(1) unsigned DEFAULT '0' COMMENT '是否合并路径中的斜杠',\n  `requestLimit` json DEFAULT NULL COMMENT '请求限制',\n  `requestScripts` json DEFAULT NULL COMMENT '请求脚本',\n  `uam` json DEFAULT NULL COMMENT 'UAM设置',\n  `cc` json DEFAULT NULL COMMENT 'CC设置',\n  `referers` json DEFAULT NULL COMMENT '防盗链设置',\n  `userAgent` json DEFAULT NULL COMMENT 'UserAgent设置',\n  `optimization` json DEFAULT NULL COMMENT '页面优化配置',\n  PRIMARY KEY (`id`),\n  KEY `userId` (`userId`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='HTTP Web'",
 | 
					      "definition": "CREATE TABLE `edgeHTTPWebs` (\n  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',\n  `isOn` tinyint(1) unsigned DEFAULT '1' COMMENT '是否启用',\n  `templateId` int(11) unsigned DEFAULT '0' COMMENT '模版ID',\n  `adminId` int(11) unsigned DEFAULT '0' COMMENT '管理员ID',\n  `userId` int(11) unsigned DEFAULT '0' COMMENT '用户ID',\n  `state` tinyint(1) unsigned DEFAULT '1' COMMENT '状态',\n  `createdAt` bigint(11) unsigned DEFAULT '0' COMMENT '创建时间',\n  `root` json DEFAULT NULL COMMENT '根目录',\n  `charset` json DEFAULT NULL COMMENT '字符集',\n  `shutdown` json DEFAULT NULL COMMENT '临时关闭页面配置',\n  `pages` json DEFAULT NULL COMMENT '特殊页面',\n  `redirectToHttps` json DEFAULT NULL COMMENT '跳转到HTTPS设置',\n  `indexes` json DEFAULT NULL COMMENT '首页文件列表',\n  `maxRequestBodySize` json DEFAULT NULL COMMENT '最大允许的请求内容尺寸',\n  `requestHeader` json DEFAULT NULL COMMENT '请求Header配置',\n  `responseHeader` json DEFAULT NULL COMMENT '响应Header配置',\n  `accessLog` json DEFAULT NULL COMMENT '访问日志配置',\n  `stat` json DEFAULT NULL COMMENT '统计配置',\n  `gzip` json DEFAULT NULL COMMENT 'Gzip配置(v0.3.2弃用)',\n  `compression` json DEFAULT NULL COMMENT '压缩配置',\n  `cache` json DEFAULT NULL COMMENT '缓存配置',\n  `firewall` json DEFAULT NULL COMMENT '防火墙设置',\n  `locations` json DEFAULT NULL COMMENT '路由规则配置',\n  `websocket` json DEFAULT NULL COMMENT 'Websocket设置',\n  `rewriteRules` json DEFAULT NULL COMMENT '重写规则配置',\n  `hostRedirects` json DEFAULT NULL COMMENT '域名跳转',\n  `fastcgi` json DEFAULT NULL COMMENT 'Fastcgi配置',\n  `auth` json DEFAULT NULL COMMENT '认证策略配置',\n  `webp` json DEFAULT NULL COMMENT 'WebP配置',\n  `remoteAddr` json DEFAULT NULL COMMENT '客户端IP配置',\n  `mergeSlashes` tinyint(1) unsigned DEFAULT '0' COMMENT '是否合并路径中的斜杠',\n  `requestLimit` json DEFAULT NULL COMMENT '请求限制',\n  `requestScripts` json DEFAULT NULL COMMENT '请求脚本',\n  `uam` json DEFAULT NULL COMMENT 'UAM设置',\n  `cc` json DEFAULT NULL COMMENT 'CC设置',\n  `referers` json DEFAULT NULL COMMENT '防盗链设置',\n  `userAgent` json DEFAULT NULL COMMENT 'UserAgent设置',\n  `optimization` json DEFAULT NULL COMMENT '页面优化配置',\n  `hls` json DEFAULT NULL COMMENT 'HLS设置',\n  PRIMARY KEY (`id`),\n  KEY `userId` (`userId`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='HTTP Web'",
 | 
				
			||||||
      "fields": [
 | 
					      "fields": [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          "name": "id",
 | 
					          "name": "id",
 | 
				
			||||||
@@ -103641,6 +103641,10 @@
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
          "name": "optimization",
 | 
					          "name": "optimization",
 | 
				
			||||||
          "definition": "json COMMENT '页面优化配置'"
 | 
					          "definition": "json COMMENT '页面优化配置'"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "name": "hls",
 | 
				
			||||||
 | 
					          "definition": "json COMMENT 'HLS设置'"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
      "indexes": [
 | 
					      "indexes": [
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user