Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApiConfig ¶
type ApiConfig struct { APIHost string `yaml:"ApiHost"` NodeID int `yaml:"NodeID"` Key string `yaml:"ApiKey"` NodeType string `yaml:"NodeType"` Timeout int `yaml:"Timeout"` RuleListPath string `yaml:"RuleListPath"` CountryRestriction bool `yaml:"CountryRestriction"` CountryRestrictionConfig *RestrictionConfig `yaml:"CountryRestrictionConfig"` }
type CertConfig ¶
type CertConfig struct { CertMode string `yaml:"CertMode"` // none, file, http, dns RejectUnknownSni bool `yaml:"RejectUnknownSni"` CertDomain string `yaml:"CertDomain"` CertFile string `yaml:"CertFile"` KeyFile string `yaml:"KeyFile"` Provider string `yaml:"Provider"` // alidns, cloudflare, gandi, godaddy.... Email string `yaml:"Email"` DNSEnv map[string]string `yaml:"DNSEnv"` }
type Conf ¶
type Conf struct { LogConfig *LogConfig `yaml:"Log"` DnsConfigPath string `yaml:"DnsConfigPath"` InboundConfigPath string `yaml:"InboundConfigPath"` OutboundConfigPath string `yaml:"OutboundConfigPath"` RouteConfigPath string `yaml:"RouteConfigPath"` ConnectionConfig *ConnectionConfig `yaml:"ConnectionConfig"` NodesConfig []*NodeConfig `yaml:"Nodes"` }
func (*Conf) LoadFromPath ¶
type ConnectionConfig ¶
type ConnectionConfig struct { Handshake uint32 `yaml:"handshake"` ConnIdle uint32 `yaml:"connIdle"` UplinkOnly uint32 `yaml:"uplinkOnly"` DownlinkOnly uint32 `yaml:"downlinkOnly"` BufferSize int32 `yaml:"bufferSize"` }
func NewConnectionConfig ¶
func NewConnectionConfig() *ConnectionConfig
type ControllerConfig ¶
type ControllerConfig struct { ListenIP string `yaml:"ListenIP"` SendIP string `yaml:"SendIP"` EnableDNS bool `yaml:"EnableDNS"` DNSType string `yaml:"DNSType"` EnableVless bool `yaml:"EnableVless"` EnableXtls bool `json:"EnableXtls"` LimitConfig LimitConfig `yaml:"LimitConfig"` DisableUploadTraffic bool `yaml:"DisableUploadTraffic"` DisableGetRule bool `yaml:"DisableGetRule"` EnableProxyProtocol bool `yaml:"EnableProxyProtocol"` DisableIVCheck bool `yaml:"DisableIVCheck"` DisableSniffing bool `yaml:"DisableSniffing"` EnableReality bool `yaml:"EnableReality"` RealityConfig RealityConfig `yaml:"RealityConfig"` EnableFallback bool `yaml:"EnableFallback"` FallBackConfigs []FallBackConfig `yaml:"FallBackConfigs"` CertConfig *CertConfig `yaml:"CertConfig"` }
type DynamicSpeedLimitConfig ¶
type FallBackConfig ¶
type IpReportConfig ¶
type IpReportConfig struct { Periodic int `yaml:"Periodic"` Type string `yaml:"Type"` RecorderConfig *RecorderConfig `yaml:"RecorderConfig"` RedisConfig *RedisConfig `yaml:"RedisConfig"` EnableIpSync bool `yaml:"EnableIpSync"` }
type LimitConfig ¶
type LimitConfig struct { EnableRealtime bool `yaml:"EnableRealtime"` SpeedLimit int `yaml:"SpeedLimit"` IPLimit int `yaml:"DeviceLimit"` ConnLimit int `yaml:"ConnLimit"` EnableIpRecorder bool `yaml:"EnableIpRecorder"` IpRecorderConfig *IpReportConfig `yaml:"IpRecorderConfig"` EnableDynamicSpeedLimit bool `yaml:"EnableDynamicSpeedLimit"` DynamicSpeedLimitConfig *DynamicSpeedLimitConfig `yaml:"DynamicSpeedLimitConfig"` }
type LogConfig ¶
type LogConfig struct { Level string `yaml:"Level"` AccessPath string `yaml:"AccessPath"` ErrorPath string `yaml:"ErrorPath"` }
func NewLogConfig ¶
func NewLogConfig() *LogConfig
type NodeConfig ¶
type NodeConfig struct { ApiConfig *ApiConfig `yaml:"ApiConfig"` ControllerConfig *ControllerConfig `yaml:"ControllerConfig"` }
type RealityConfig ¶
type RealityConfig struct { Dest interface{} `yaml:"Dest"` Xver uint64 `yaml:"Xver"` ServerNames []string `yaml:"ServerNames"` PrivateKey string `yaml:"PrivateKey"` MinClientVer string `yaml:"MinClientVer"` MaxClientVer string `yaml:"MaxClientVer"` MaxTimeDiff uint64 `yaml:"MaxTimeDiff"` ShortIds []string `yaml:"ShortIds"` }
type RecorderConfig ¶
type RedisConfig ¶
type RestrictionConfig ¶
Click to show internal directories.
Click to hide internal directories.