Documentation ¶
Index ¶
- Constants
- func Traffic() []byte
- type Client
- type Config
- type Conn
- type DynamicConfig
- type PacketConn
- func (c *PacketConn) Close() error
- func (c *PacketConn) Epoch() time.Time
- func (c *PacketConn) Name() string
- func (c *PacketConn) ReadFrom(p []byte) (n int, addr net.Addr, err error)
- func (c *PacketConn) ReadWithMetadata(p []byte) (int, *tunnel.Metadata, error)
- func (c *PacketConn) Recv() uint64
- func (c *PacketConn) Sent() uint64
- func (c *PacketConn) Tunnels() *tunnel.Tunnels
- func (c *PacketConn) User() statistic.User
- func (c *PacketConn) WriteTo(p []byte, addr net.Addr) (n int, err error)
- func (c *PacketConn) WriteWithMetadata(p []byte, m *tunnel.Metadata) (int, error)
- type Router
- type RouterConfig
- type RouterDynamicConfig
- type RouterRule
- type Tunnel
Constants ¶
View Source
const ( Block = iota Bypass Proxy Touch MaxPolicy )
View Source
const ( AsIs = 0 IPIfNonMatch = 1 IPOnDemand = 2 )
View Source
const MaxPacketSize = 1024 * 8
View Source
const Name = "ROUTER"
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) DialPacket ¶
type Config ¶
type Config struct { RunType string `json:"run_type" yaml:"run-type"` Router RouterConfig `json:"router" yaml:"router"` }
type DynamicConfig ¶
type DynamicConfig struct {
Router RouterDynamicConfig `json:"router" yaml:"router"`
}
func (*DynamicConfig) Init ¶
func (dconfig *DynamicConfig) Init() error
func (*DynamicConfig) Priority ¶
func (dconfig *DynamicConfig) Priority() int
type PacketConn ¶
type PacketConn struct { net.PacketConn *Client // contains filtered or unexported fields }
func (*PacketConn) Close ¶
func (c *PacketConn) Close() error
func (*PacketConn) Epoch ¶
func (c *PacketConn) Epoch() time.Time
func (*PacketConn) Name ¶
func (c *PacketConn) Name() string
func (*PacketConn) ReadWithMetadata ¶
func (*PacketConn) Recv ¶
func (c *PacketConn) Recv() uint64
func (*PacketConn) Sent ¶
func (c *PacketConn) Sent() uint64
func (*PacketConn) Tunnels ¶
func (c *PacketConn) Tunnels() *tunnel.Tunnels
func (*PacketConn) User ¶
func (c *PacketConn) User() statistic.User
func (*PacketConn) WriteWithMetadata ¶
type RouterConfig ¶
type RouterConfig struct {
Enabled bool `json:"enabled" yaml:"enabled"`
}
type RouterDynamicConfig ¶
type RouterDynamicConfig struct { Rules []RouterRule `json:"rules" yaml:"rules"` RouterRule Router // contains filtered or unexported fields }
type RouterRule ¶
type RouterRule struct { Name string `json:"name" yaml:"name"` Bypass []string `json:"bypass" yaml:"bypass"` Proxy []string `json:"proxy" yaml:"proxy"` Block []string `json:"block" yaml:"block"` Touch []string `json:"touch" yaml:"touch"` DomainStrategy string `json:"domain_strategy" yaml:"domain-strategy"` DefaultPolicy string `json:"default_policy" yaml:"default-policy"` }
Click to show internal directories.
Click to hide internal directories.