Files
sing-box-rr-edition/sing-box-rr/option/group.go
T

39 lines
2.0 KiB
Go

package option
import "github.com/sagernet/sing/common/json/badoption"
type SelectorOutboundOptions struct {
GroupCommonOption
Default string `json:"default,omitempty" reference:"outbound"`
InterruptExistConnections bool `json:"interrupt_exist_connections,omitempty"`
}
type URLTestOutboundOptions struct {
GroupCommonOption
URL string `json:"url,omitempty"`
Interval badoption.Duration `json:"interval,omitempty"`
Tolerance uint16 `json:"tolerance,omitempty"`
IdleTimeout badoption.Duration `json:"idle_timeout,omitempty"`
Strategy string `json:"strategy,omitempty" enum:"latency,networkquality"`
NetworkQualityTTL badoption.Duration `json:"networkquality_ttl,omitempty"`
NetworkQualityTarget string `json:"networkquality_target,omitempty" enum:"apple,cloudflare,custom"`
NetworkQualityConfigURL string `json:"networkquality_config_url,omitempty"`
NetworkQualityDownloadURL string `json:"networkquality_download_url,omitempty"`
NetworkQualityUploadURL string `json:"networkquality_upload_url,omitempty"`
NetworkQualityProbeURL string `json:"networkquality_probe_url,omitempty"`
InterruptExistConnections bool `json:"interrupt_exist_connections,omitempty"`
}
type FallbackOutboundOptions struct {
Outbounds []string `json:"outbounds"`
BlacklistTimeout badoption.Duration `json:"blacklist_timeout,omitempty"`
}
type GroupCommonOption struct {
Outbounds []string `json:"outbounds" reference:"outbound"`
Providers badoption.Listable[string] `json:"providers,omitempty"`
Exclude *badoption.Regexp `json:"exclude,omitempty"`
Include *badoption.Regexp `json:"include,omitempty"`
UseAllProviders bool `json:"use_all_providers,omitempty"`
}