mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 13:10:24 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package serverconfigs
 | 
						|
 | 
						|
const (
 | 
						|
	DefaultTCPPortRangeMin = 10000
 | 
						|
	DefaultTCPPortRangeMax = 40000
 | 
						|
)
 | 
						|
 | 
						|
// GlobalConfig 服务相关的全局设置
 | 
						|
type GlobalConfig struct {
 | 
						|
	// HTTP & HTTPS相关配置
 | 
						|
	HTTPAll struct {
 | 
						|
		MatchDomainStrictly  bool                  `yaml:"matchDomainStrictly" json:"matchDomainStrictly"`   // 是否严格匹配域名
 | 
						|
		AllowMismatchDomains []string              `yaml:"allowMismatchDomains" json:"allowMismatchDomains"` // 允许的不匹配的域名
 | 
						|
		DefaultDomain        string                `yaml:"defaultDomain" json:"defaultDomain"`               // 默认的域名
 | 
						|
		DomainMismatchAction *DomainMismatchAction `yaml:"domainMismatchAction" json:"domainMismatchAction"` // 不匹配时采取的动作
 | 
						|
		DomainAuditingIsOn   bool                  `yaml:"domainAuditingIsOn" json:"domainAuditingIsOn"`     // 域名是否需要审核
 | 
						|
		DomainAuditingPrompt string                `yaml:"domainAuditingPrompt" json:"domainAuditingPrompt"` // 域名审核的提示
 | 
						|
	} `yaml:"httpAll" json:"httpAll"`
 | 
						|
 | 
						|
	HTTP   struct{} `yaml:"http" json:"http"`
 | 
						|
	HTTPS  struct{} `yaml:"https" json:"https"`
 | 
						|
	TCPAll struct {
 | 
						|
		PortRangeMin int   `yaml:"portRangeMin" json:"portRangeMin"` // 最小端口
 | 
						|
		PortRangeMax int   `yaml:"portRangeMax" json:"portRangeMax"` // 最大端口
 | 
						|
		DenyPorts    []int `yaml:"denyPorts" json:"denyPorts"`       // 禁止使用的端口
 | 
						|
	} `yaml:"tcpAll" json:"tcpAll"`
 | 
						|
	TCP  struct{} `yaml:"tcp" json:"tcp"`
 | 
						|
	TLS  struct{} `yaml:"tls" json:"tls"`
 | 
						|
	Unix struct{} `yaml:"unix" json:"unix"`
 | 
						|
	UDP  struct{} `yaml:"udp" json:"udp"`
 | 
						|
 | 
						|
	// IP库相关配置
 | 
						|
	IPLibrary struct {
 | 
						|
		Code string `yaml:"code" json:"code"` // 当前使用的IP库代号
 | 
						|
	} `yaml:"ipLibrary" json:"ipLibrary"`
 | 
						|
}
 | 
						|
 | 
						|
func (this *GlobalConfig) Init() error {
 | 
						|
	// HTTPAll
 | 
						|
	if this.HTTPAll.DomainMismatchAction != nil {
 | 
						|
		err := this.HTTPAll.DomainMismatchAction.Init()
 | 
						|
		if err != nil {
 | 
						|
			return err
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 |