Documentation ¶
Index ¶
Constants ¶
View Source
const ( ATypIPv4 = 1 ATypDomainName = 3 ATypIPv6 = 4 TCP NetWork = iota UDP )
Socks addr type
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdapterType ¶
type AdapterType int
AdapterType is enum of adapter type
const ( Shadowsocks AdapterType = iota ShadowsocksR Snell Socks5 Http Vmess Trojan )
Adapter Type
func (AdapterType) String ¶
func (at AdapterType) String() string
type Conn ¶
type Conn interface { net.Conn Connection }
type Connection ¶
type Connection interface { Chains() Chain AppendToChains(adapter ProxyAdapter) }
type Metadata ¶
type Metadata struct { NetWork NetWork `json:"network"` DstIP net.IP `json:"destinationIP"` DstPort string `json:"destinationPort"` AddrType int `json:"-"` Host string `json:"host"` }
Metadata is used to store connection address
func (*Metadata) RemoteAddress ¶
func (*Metadata) SourceAddress ¶
type PacketConn ¶
type PacketConn interface { net.PacketConn Connection }
type ProxyAdapter ¶
type ServerAdapter ¶
type UDPPacket ¶
type UDPPacket interface { // Data get the payload of UDP Packet Data() []byte // WriteBack writes the payload with source IP/Port equals addr // - variable source IP/Port is important to STUN // - if addr is not provided, WriteBack will write out UDP packet with SourceIP/Port equals to original Target, // this is important when using Fake-IP. WriteBack(b []byte, addr net.Addr) (n int, err error) // Drop call after packet is used, could recycle buffer in this function. Drop() // LocalAddr returns the source IP/Port of packet LocalAddr() net.Addr }
UDPPacket contains the data of UDP packet, and offers control/info of UDP packet's source
Click to show internal directories.
Click to hide internal directories.