mirror of
https://github.com/wyx2685/V2bX.git
synced 2025-01-22 18:08:14 -05:00
efcdffb20d
add across nodes ip limit add user ip recorder del config file watch
67 lines
3.0 KiB
Go
67 lines
3.0 KiB
Go
package conf
|
|
|
|
type CertConfig struct {
|
|
CertMode string `mapstructure:"CertMode"` // none, file, http, dns
|
|
RejectUnknownSni bool `mapstructure:"RejectUnknownSni"`
|
|
CertDomain string `mapstructure:"CertDomain"`
|
|
CertFile string `mapstructure:"CertFile"`
|
|
KeyFile string `mapstructure:"KeyFile"`
|
|
Provider string `mapstructure:"Provider"` // alidns, cloudflare, gandi, godaddy....
|
|
Email string `mapstructure:"Email"`
|
|
DNSEnv map[string]string `mapstructure:"DNSEnv"`
|
|
}
|
|
|
|
type FallBackConfig struct {
|
|
SNI string `mapstructure:"SNI"`
|
|
Alpn string `mapstructure:"Alpn"`
|
|
Path string `mapstructure:"Path"`
|
|
Dest string `mapstructure:"Dest"`
|
|
ProxyProtocolVer uint64 `mapstructure:"ProxyProtocolVer"`
|
|
}
|
|
|
|
type IpReportConfig struct {
|
|
Url string `mapstructure:"Url"`
|
|
Token string `mapstructure:"Token"`
|
|
Periodic int `mapstructure:"Periodic"`
|
|
Timeout int `mapstructure:"Timeout"`
|
|
EnableIpSync bool `mapstructure:"EnableIpSync"`
|
|
}
|
|
|
|
type ControllerConfig struct {
|
|
ListenIP string `mapstructure:"ListenIP"`
|
|
SendIP string `mapstructure:"SendIP"`
|
|
UpdatePeriodic int `mapstructure:"UpdatePeriodic"`
|
|
EnableDNS bool `mapstructure:"EnableDNS"`
|
|
DNSType string `mapstructure:"DNSType"`
|
|
DisableUploadTraffic bool `mapstructure:"DisableUploadTraffic"`
|
|
DisableGetRule bool `mapstructure:"DisableGetRule"`
|
|
EnableProxyProtocol bool `mapstructure:"EnableProxyProtocol"`
|
|
EnableFallback bool `mapstructure:"EnableFallback"`
|
|
DisableIVCheck bool `mapstructure:"DisableIVCheck"`
|
|
DisableSniffing bool `mapstructure:"DisableSniffing"`
|
|
FallBackConfigs []*FallBackConfig `mapstructure:"FallBackConfigs"`
|
|
EnableIpRecorder bool `mapstructure:"EnableIpRecorder"`
|
|
IpRecorderConfig *IpReportConfig `mapstructure:"IpRecorderConfig"`
|
|
CertConfig *CertConfig `mapstructure:"CertConfig"`
|
|
}
|
|
|
|
type ApiConfig struct {
|
|
APIHost string `mapstructure:"ApiHost"`
|
|
NodeID int `mapstructure:"NodeID"`
|
|
Key string `mapstructure:"ApiKey"`
|
|
NodeType string `mapstructure:"NodeType"`
|
|
EnableVless bool `mapstructure:"EnableVless"`
|
|
EnableXTLS bool `mapstructure:"EnableXTLS"`
|
|
//EnableSS2022 bool `mapstructure:"EnableSS2022"`
|
|
Timeout int `mapstructure:"Timeout"`
|
|
SpeedLimit float64 `mapstructure:"SpeedLimit"`
|
|
DeviceLimit int `mapstructure:"DeviceLimit"`
|
|
RuleListPath string `mapstructure:"RuleListPath"`
|
|
DisableCustomConfig bool `mapstructure:"DisableCustomConfig"`
|
|
}
|
|
|
|
type NodeConfig struct {
|
|
ApiConfig *ApiConfig `mapstructure:"ApiConfig"`
|
|
ControllerConfig *ControllerConfig `mapstructure:"ControllerConfig"`
|
|
}
|