mirror of
https://github.com/TeaOSLab/EdgeNode.git
synced 2026-01-06 15:55:48 +08:00
临时提交
This commit is contained in:
53
internal/configs/server_config.go
Normal file
53
internal/configs/server_config.go
Normal file
@@ -0,0 +1,53 @@
|
||||
package configs
|
||||
|
||||
type ServerConfig struct {
|
||||
Id string `yaml:"id"` // ID
|
||||
IsOn bool `yaml:"isOn"` // 是否开启
|
||||
Components []*ComponentConfig `yaml:"components"` // 组件
|
||||
Name string `yaml:"name"` // 名称
|
||||
Description string `yaml:"description"` // 描述
|
||||
ServerNames []string `yaml:"serverNames"` // 域名
|
||||
|
||||
// 协议
|
||||
HTTP *HTTPProtocolConfig `yaml:"http"` // HTTP配置
|
||||
HTTPS *HTTPSProtocolConfig `yaml:"https"` // HTTPS配置
|
||||
TCP *TCPProtocolConfig `yaml:"tcp"` // TCP配置
|
||||
TLS *TLSProtocolConfig `yaml:"tls"` // TLS配置
|
||||
Unix *UnixProtocolConfig `yaml:"unix"` // Unix配置
|
||||
UDP *UDPProtocolConfig `yaml:"udp"` // UDP配置
|
||||
|
||||
// Web配置
|
||||
Web *WebConfig `yaml:"web"`
|
||||
}
|
||||
|
||||
func NewServerConfig() *ServerConfig {
|
||||
return &ServerConfig{}
|
||||
}
|
||||
|
||||
func (this *ServerConfig) Init() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (this *ServerConfig) FullAddresses() []string {
|
||||
result := []Protocol{}
|
||||
if this.HTTP != nil && this.HTTP.IsOn {
|
||||
result = append(result, this.HTTP.Addresses()...)
|
||||
}
|
||||
if this.HTTPS != nil && this.HTTPS.IsOn {
|
||||
result = append(result, this.HTTPS.Addresses()...)
|
||||
}
|
||||
if this.TCP != nil && this.TCP.IsOn {
|
||||
result = append(result, this.TCP.Addresses()...)
|
||||
}
|
||||
if this.TLS != nil && this.TLS.IsOn {
|
||||
result = append(result, this.TLS.Addresses()...)
|
||||
}
|
||||
if this.Unix != nil && this.Unix.IsOn {
|
||||
result = append(result, this.Unix.Addresses()...)
|
||||
}
|
||||
if this.UDP != nil && this.UDP.IsOn {
|
||||
result = append(result, this.UDP.Addresses()...)
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
Reference in New Issue
Block a user