provider

package
v1.19.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 31, 2024 License: GPL-3.0 Imports: 27 Imported by: 3

Documentation

Index

Constants

View Source
const (
	ReservedName = "default"
)

Variables

This section is empty.

Functions

func NewProxiesParser added in v1.19.1

func NewProxiesParser(filter string, excludeFilter string, excludeType string, dialerProxy string, override OverrideSchema) (resource.Parser[[]C.Proxy], error)

func ParseProxyProvider

func ParseProxyProvider(name string, mapping map[string]any) (types.ProxyProvider, error)

Types

type CompatibleProvider

type CompatibleProvider struct {
	// contains filtered or unexported fields
}

CompatibleProvider for auto gc

func NewCompatibleProvider

func NewCompatibleProvider(name string, proxies []C.Proxy, hc *HealthCheck) (*CompatibleProvider, error)

func (*CompatibleProvider) Close added in v1.18.8

func (cp *CompatibleProvider) Close() error

func (CompatibleProvider) Initial

func (cp CompatibleProvider) Initial() error

func (CompatibleProvider) MarshalJSON

func (cp CompatibleProvider) MarshalJSON() ([]byte, error)

func (CompatibleProvider) Update

func (cp CompatibleProvider) Update() error

func (CompatibleProvider) VehicleType

func (cp CompatibleProvider) VehicleType() types.VehicleType

type HealthCheck

type HealthCheck struct {
	// contains filtered or unexported fields
}

func NewHealthCheck

func NewHealthCheck(proxies []C.Proxy, url string, timeout uint, interval uint, lazy bool, expectedStatus utils.IntRanges[uint16]) *HealthCheck

type HealthCheckOption

type HealthCheckOption struct {
	URL      string
	Interval uint
}

type InlineProvider added in v1.19.1

type InlineProvider struct {
	// contains filtered or unexported fields
}

InlineProvider for auto gc

func NewInlineProvider added in v1.19.1

func NewInlineProvider(name string, payload []map[string]any, parser resource.Parser[[]C.Proxy], hc *HealthCheck) (*InlineProvider, error)

func (*InlineProvider) Close added in v1.19.1

func (ip *InlineProvider) Close() error

func (InlineProvider) Initial added in v1.19.1

func (ip InlineProvider) Initial() error

func (InlineProvider) MarshalJSON added in v1.19.1

func (ip InlineProvider) MarshalJSON() ([]byte, error)

func (InlineProvider) Update added in v1.19.1

func (ip InlineProvider) Update() error

func (InlineProvider) VehicleType added in v1.19.1

func (ip InlineProvider) VehicleType() types.VehicleType

type OverrideProxyNameSchema added in v1.18.9

type OverrideProxyNameSchema struct {
	// matching expression for regex replacement
	Pattern *regexp2.Regexp `provider:"pattern"`
	// the new content after regex matching
	Target string `provider:"target"`
}

type OverrideSchema

type OverrideSchema struct {
	TFO              *bool   `provider:"tfo,omitempty"`
	MPTcp            *bool   `provider:"mptcp,omitempty"`
	UDP              *bool   `provider:"udp,omitempty"`
	UDPOverTCP       *bool   `provider:"udp-over-tcp,omitempty"`
	Up               *string `provider:"up,omitempty"`
	Down             *string `provider:"down,omitempty"`
	DialerProxy      *string `provider:"dialer-proxy,omitempty"`
	SkipCertVerify   *bool   `provider:"skip-cert-verify,omitempty"`
	Interface        *string `provider:"interface-name,omitempty"`
	RoutingMark      *int    `provider:"routing-mark,omitempty"`
	IPVersion        *string `provider:"ip-version,omitempty"`
	AdditionalPrefix *string `provider:"additional-prefix,omitempty"`
	AdditionalSuffix *string `provider:"additional-suffix,omitempty"`

	ProxyName []OverrideProxyNameSchema `provider:"proxy-name,omitempty"`
}

type ProxySchema

type ProxySchema struct {
	Proxies []map[string]any `yaml:"proxies"`
}

type ProxySetProvider

type ProxySetProvider struct {
	// contains filtered or unexported fields
}

ProxySetProvider for auto gc

func NewProxySetProvider

func NewProxySetProvider(name string, interval time.Duration, parser resource.Parser[[]C.Proxy], vehicle types.Vehicle, hc *HealthCheck) (*ProxySetProvider, error)

func (*ProxySetProvider) Close added in v1.18.8

func (pp *ProxySetProvider) Close() error

func (ProxySetProvider) Initial

func (pp ProxySetProvider) Initial() error

func (ProxySetProvider) MarshalJSON

func (pp ProxySetProvider) MarshalJSON() ([]byte, error)

func (ProxySetProvider) Name

func (pp ProxySetProvider) Name() string

func (ProxySetProvider) Update

func (pp ProxySetProvider) Update() error

type SubscriptionInfo

type SubscriptionInfo struct {
	Upload   int64
	Download int64
	Total    int64
	Expire   int64
}

func (*SubscriptionInfo) Update added in v1.19.1

func (info *SubscriptionInfo) Update(userinfo string)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL