mirror of
https://github.com/wyx2685/V2bX.git
synced 2026-02-04 04:30:08 +00:00
hy2内核增加自定义配置
This commit is contained in:
84
conf/hy.go
84
conf/hy.go
@@ -1,7 +1,5 @@
|
||||
package conf
|
||||
|
||||
import "time"
|
||||
|
||||
type Hysteria2Config struct {
|
||||
LogConfig Hysteria2LogConfig `json:"Log"`
|
||||
}
|
||||
@@ -17,85 +15,3 @@ func NewHysteria2Config() *Hysteria2Config {
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
type Hysteria2Options struct {
|
||||
Hysteria2ConfigPath string `json:"Hysteria2ConfigPath"`
|
||||
QUICConfig QUICConfig `json:"QUICConfig"`
|
||||
Outbounds []Outbounds `json:"Outbounds"`
|
||||
IgnoreClientBandwidth bool `json:"IgnoreClientBandwidth"`
|
||||
DisableUDP bool `json:"DisableUDP"`
|
||||
UDPIdleTimeout time.Duration `json:"UDPIdleTimeout"`
|
||||
Masquerade serverConfigMasquerade `json:"Masquerade"`
|
||||
}
|
||||
|
||||
type QUICConfig struct {
|
||||
InitialStreamReceiveWindow uint64
|
||||
MaxStreamReceiveWindow uint64
|
||||
InitialConnectionReceiveWindow uint64
|
||||
MaxConnectionReceiveWindow uint64
|
||||
MaxIdleTimeout time.Duration
|
||||
MaxIncomingStreams int64
|
||||
DisablePathMTUDiscovery bool // The server may still override this to true on unsupported platforms.
|
||||
}
|
||||
|
||||
type ServerConfigOutboundDirect struct {
|
||||
Mode string `json:"mode"`
|
||||
BindIPv4 string `json:"bindIPv4"`
|
||||
BindIPv6 string `json:"bindIPv6"`
|
||||
BindDevice string `json:"bindDevice"`
|
||||
}
|
||||
|
||||
type ServerConfigOutboundSOCKS5 struct {
|
||||
Addr string `json:"addr"`
|
||||
Username string `json:"username"`
|
||||
Password string `json:"password"`
|
||||
}
|
||||
|
||||
type ServerConfigOutboundHTTP struct {
|
||||
URL string `json:"url"`
|
||||
Insecure bool `json:"insecure"`
|
||||
}
|
||||
|
||||
type Outbounds struct {
|
||||
Name string `json:"name"`
|
||||
Type string `json:"type"`
|
||||
Direct ServerConfigOutboundDirect `json:"direct"`
|
||||
SOCKS5 ServerConfigOutboundSOCKS5 `json:"socks5"`
|
||||
HTTP ServerConfigOutboundHTTP `json:"http"`
|
||||
}
|
||||
|
||||
type serverConfigMasqueradeFile struct {
|
||||
Dir string `json:"dir"`
|
||||
}
|
||||
|
||||
type serverConfigMasqueradeProxy struct {
|
||||
URL string `json:"url"`
|
||||
RewriteHost bool `json:"rewriteHost"`
|
||||
}
|
||||
|
||||
type serverConfigMasqueradeString struct {
|
||||
Content string `json:"content"`
|
||||
Headers map[string]string `json:"headers"`
|
||||
StatusCode int `json:"statusCode"`
|
||||
}
|
||||
|
||||
type serverConfigMasquerade struct {
|
||||
Type string `json:"type"`
|
||||
File serverConfigMasqueradeFile `json:"file"`
|
||||
Proxy serverConfigMasqueradeProxy `json:"proxy"`
|
||||
String serverConfigMasqueradeString `json:"string"`
|
||||
ListenHTTP string `json:"listenHTTP"`
|
||||
ListenHTTPS string `json:"listenHTTPS"`
|
||||
ForceHTTPS bool `json:"forceHTTPS"`
|
||||
}
|
||||
|
||||
func NewHysteria2Options() *Hysteria2Options {
|
||||
return &Hysteria2Options{
|
||||
QUICConfig: QUICConfig{},
|
||||
Outbounds: []Outbounds{},
|
||||
IgnoreClientBandwidth: false,
|
||||
DisableUDP: false,
|
||||
UDPIdleTimeout: time.Duration(time.Duration.Seconds(30)),
|
||||
Masquerade: serverConfigMasquerade{},
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user