Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Provider ¶
type Provider interface { Name() string VehicleType() VehicleType Type() ProviderType Initial() error Update() error }
Provider interface
type ProviderType ¶
type ProviderType int
ProviderType defined
const ( Proxy ProviderType = iota Rule )
Provider Type
func (ProviderType) String ¶
func (pt ProviderType) String() string
type ProxyProvider ¶
type ProxyProvider interface { Provider Proxies() []constant.Proxy // Touch is used to inform the provider that the proxy is actually being used while getting the list of proxies. // Commonly used in DialContext and DialPacketConn Touch() HealthCheck() Version() uint32 RegisterHealthCheckTask(url string, expectedStatus utils.IntRanges[uint16], filter string, interval uint) HealthCheckURL() string AddFollower(chan<- struct{}) }
ProxyProvider interface
type RuleBehavior ¶
type RuleBehavior int
RuleBehavior defined
const ( Domain RuleBehavior = iota IPCIDR Classical )
Rule Behavior
func (RuleBehavior) String ¶
func (rt RuleBehavior) String() string
type RuleFormat ¶
type RuleFormat int
const ( YamlRule RuleFormat = iota TextRule )
func (RuleFormat) String ¶
func (rf RuleFormat) String() string
type RuleProvider ¶
type RuleProvider interface { Provider Behavior() RuleBehavior Match(*constant.Metadata) bool ShouldResolveIP() bool ShouldFindProcess() bool Strategy() any }
RuleProvider interface
type Tunnel ¶
type Tunnel interface { Providers() map[string]ProxyProvider RuleProviders() map[string]RuleProvider RuleUpdateCallback() *utils.Callback[RuleProvider] }
type Vehicle ¶
type Vehicle interface { Read() ([]byte, error) Path() string Proxy() string Type() VehicleType }
type VehicleType ¶
type VehicleType int
VehicleType defined
const ( File VehicleType = iota HTTP Compatible )
Vehicle Type
func (VehicleType) String ¶
func (v VehicleType) String() string
Click to show internal directories.
Click to hide internal directories.