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"` }