Documentation ¶
Index ¶
- func ListDir(dirPth string, suffix string) (files []string, err error)
- type Checker
- type Config
- type Forwarder
- func (f *Forwarder) AddHandler(h StatusHandler)
- func (f *Forwarder) Addr() string
- func (f *Forwarder) Dial(network, addr string) (c net.Conn, err error)
- func (f *Forwarder) Disable()
- func (f *Forwarder) Enable()
- func (f *Forwarder) Enabled() bool
- func (f *Forwarder) Failures() uint32
- func (f *Forwarder) IncFailures()
- func (f *Forwarder) Latency() int64
- func (f *Forwarder) MaxFailures() uint32
- func (f *Forwarder) Priority() uint32
- func (f *Forwarder) SetLatency(l int64)
- func (f *Forwarder) SetMaxFailures(l uint32)
- func (f *Forwarder) SetPriority(l uint32)
- type FwdrGroup
- func (p *FwdrGroup) Check()
- func (p *FwdrGroup) Dial(network, addr string) (net.Conn, proxy.Dialer, error)
- func (p *FwdrGroup) DialUDP(network, addr string) (pc net.PacketConn, dialer proxy.UDPDialer, writeTo net.Addr, err error)
- func (p *FwdrGroup) NextDialer(dstAddr string) proxy.Dialer
- func (p *FwdrGroup) Priority() uint32
- func (p *FwdrGroup) SetPriority(pri uint32)
- type Proxy
- func (p *Proxy) AddDomainIP(domain, ip string) error
- func (p *Proxy) Check()
- func (p *Proxy) Dial(network, addr string) (net.Conn, proxy.Dialer, error)
- func (p *Proxy) DialUDP(network, addr string) (pc net.PacketConn, dialer proxy.UDPDialer, writeTo net.Addr, err error)
- func (p *Proxy) NextDialer(dstAddr string) proxy.Dialer
- func (p *Proxy) Record(dialer proxy.Dialer, success bool)
- type StatusHandler
- type Strategy
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct { Name string Forward []string Strategy Strategy DNSServers []string IPSet string Domain []string IP []string CIDR []string }
Config is config of rule.
func NewConfFromFile ¶
NewConfFromFile returns a new config from file.
type Forwarder ¶ added in v0.11.0
Forwarder associates with a `-forward` command, usually a dialer or a chain of dialers.
func DirectForwarder ¶ added in v0.11.0
DirectForwarder returns a direct forwarder.
func ForwarderFromURL ¶ added in v0.11.0
func ForwarderFromURL(s, intface string, dialTimeout, relayTimeout time.Duration) (f *Forwarder, err error)
ForwarderFromURL parses `forward=` command value and returns a new forwarder.
func (*Forwarder) AddHandler ¶ added in v0.11.0
func (f *Forwarder) AddHandler(h StatusHandler)
AddHandler adds a custom handler to handle the status change event.
func (*Forwarder) Addr ¶ added in v0.11.0
Addr returns the forwarder's addr. NOTE: addr returns for chained dialers: dialer1Addr,dialer2Addr,...
func (*Forwarder) IncFailures ¶ added in v0.11.0
func (f *Forwarder) IncFailures()
IncFailures increase the failuer count by 1.
func (*Forwarder) MaxFailures ¶ added in v0.11.0
MaxFailures returns the maxFailures of forwarder.
func (*Forwarder) SetLatency ¶ added in v0.11.0
SetLatency sets the latency of forwarder.
func (*Forwarder) SetMaxFailures ¶ added in v0.11.0
SetMaxFailures sets the maxFailures of forwarder.
func (*Forwarder) SetPriority ¶ added in v0.11.0
SetPriority sets the priority of forwarder.
type FwdrGroup ¶ added in v0.11.0
type FwdrGroup struct {
// contains filtered or unexported fields
}
FwdrGroup is a forwarder group.
func NewFwdrGroup ¶ added in v0.11.0
NewFwdrGroup returns a new forward group.
func (*FwdrGroup) Check ¶ added in v0.11.0
func (p *FwdrGroup) Check()
Check runs the forwarder checks.
func (*FwdrGroup) DialUDP ¶ added in v0.11.0
func (p *FwdrGroup) DialUDP(network, addr string) (pc net.PacketConn, dialer proxy.UDPDialer, writeTo net.Addr, err error)
DialUDP connects to the given address.
func (*FwdrGroup) NextDialer ¶ added in v0.11.0
NextDialer returns the next dialer.
func (*FwdrGroup) SetPriority ¶ added in v0.11.0
SetPriority sets the active priority of daler.
type Proxy ¶ added in v0.8.1
type Proxy struct {
// contains filtered or unexported fields
}
Proxy implements the proxy.Proxy interface with rule support.
func (*Proxy) AddDomainIP ¶ added in v0.8.1
AddDomainIP used to update ipMap rules according to domainMap rule.
func (*Proxy) Check ¶ added in v0.8.1
func (p *Proxy) Check()
Check checks availability of forwarders inside proxy.
func (*Proxy) DialUDP ¶ added in v0.8.1
func (p *Proxy) DialUDP(network, addr string) (pc net.PacketConn, dialer proxy.UDPDialer, writeTo net.Addr, err error)
DialUDP connects to the given address via the proxy.
func (*Proxy) NextDialer ¶ added in v0.8.1
NextDialer returns next dialer according to rule.
type StatusHandler ¶ added in v0.11.0
type StatusHandler func(*Forwarder)
StatusHandler function will be called when the forwarder's status changed.