mirror of
https://github.com/wyx2685/V2bX.git
synced 2026-02-04 04:30:08 +00:00
change project structure
add across nodes ip limit add user ip recorder del config file watch
This commit is contained in:
66
conf/node.go
Normal file
66
conf/node.go
Normal file
@@ -0,0 +1,66 @@
|
||||
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"`
|
||||
}
|
||||
Reference in New Issue
Block a user