provider

package
v1.18.0 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 2023 License: GPL-3.0 Imports: 27 Imported by: 8

Documentation

Index

Constants

View Source
const (
	ReservedName = "default"
)

Variables

This section is empty.

Functions

func ParseProxyProvider

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

Types

type CompatibleProvider

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

for auto gc

func NewCompatibleProvider

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

func (CompatibleProvider) HealthCheck

func (cp CompatibleProvider) HealthCheck()

func (CompatibleProvider) Initial

func (cp CompatibleProvider) Initial() error

func (CompatibleProvider) MarshalJSON

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

func (CompatibleProvider) Name

func (cp CompatibleProvider) Name() string

func (CompatibleProvider) Proxies

func (cp CompatibleProvider) Proxies() []C.Proxy

func (CompatibleProvider) Touch added in v1.11.12

func (cp CompatibleProvider) Touch()

func (CompatibleProvider) Type

func (cp CompatibleProvider) Type() types.ProviderType

func (CompatibleProvider) Update

func (cp CompatibleProvider) Update() error

func (CompatibleProvider) VehicleType

func (cp CompatibleProvider) VehicleType() types.VehicleType

type FileVehicle

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

func NewFileVehicle

func NewFileVehicle(path string) *FileVehicle

func (*FileVehicle) Path

func (f *FileVehicle) Path() string

func (*FileVehicle) Read

func (f *FileVehicle) Read() ([]byte, error)

func (*FileVehicle) Type

func (f *FileVehicle) Type() types.VehicleType

type FilterableProvider added in v1.15.0

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

func NewFilterableProvider added in v1.15.0

func NewFilterableProvider(name string, providers []types.ProxyProvider, filterReg *regexp.Regexp) *FilterableProvider

func (*FilterableProvider) HealthCheck added in v1.15.0

func (fp *FilterableProvider) HealthCheck()

func (*FilterableProvider) Initial added in v1.15.0

func (fp *FilterableProvider) Initial() error

func (*FilterableProvider) MarshalJSON added in v1.15.0

func (fp *FilterableProvider) MarshalJSON() ([]byte, error)

func (*FilterableProvider) Name added in v1.15.0

func (fp *FilterableProvider) Name() string

func (*FilterableProvider) Proxies added in v1.15.0

func (fp *FilterableProvider) Proxies() []C.Proxy

func (*FilterableProvider) Touch added in v1.15.0

func (fp *FilterableProvider) Touch()

func (*FilterableProvider) Type added in v1.15.0

func (*FilterableProvider) Update added in v1.15.0

func (fp *FilterableProvider) Update() error

func (*FilterableProvider) VehicleType added in v1.15.0

func (fp *FilterableProvider) VehicleType() types.VehicleType

type HTTPVehicle

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

func NewHTTPVehicle

func NewHTTPVehicle(url string, path string) *HTTPVehicle

func (*HTTPVehicle) Path

func (h *HTTPVehicle) Path() string

func (*HTTPVehicle) Read

func (h *HTTPVehicle) Read() ([]byte, error)

func (*HTTPVehicle) Type

func (h *HTTPVehicle) Type() types.VehicleType

type HealthCheck

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

func NewHealthCheck

func NewHealthCheck(proxies []C.Proxy, url string, interval uint, lazy bool) *HealthCheck

type HealthCheckOption

type HealthCheckOption struct {
	URL      string
	Interval uint
}

type ProxySchema

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

type ProxySetProvider

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

for auto gc

func NewProxySetProvider

func NewProxySetProvider(name string, interval time.Duration, filter string, vehicle types.Vehicle, hc *HealthCheck) (*ProxySetProvider, error)

func (ProxySetProvider) HealthCheck

func (pp ProxySetProvider) HealthCheck()

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) Proxies

func (pp ProxySetProvider) Proxies() []C.Proxy

func (ProxySetProvider) Touch added in v1.11.12

func (pp ProxySetProvider) Touch()

func (ProxySetProvider) Type

func (pp ProxySetProvider) Type() types.ProviderType

func (ProxySetProvider) Update

func (pp ProxySetProvider) Update() error

Jump to

Keyboard shortcuts

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