Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterClient ¶
func RegisterClient(name string, c ClientCreator)
RegisterClient is used to register a client.
func RegisterServer ¶
func RegisterServer(name string, c ServerCreator)
RegisterServer is used to register a proxy server
Types ¶
type Client ¶
type Client interface { Name() string // Address to dail Addr() string // Handshake with TCP server Handshake(underlay net.Conn, target string) (StreamConn, error) // Pack underlay net.packetConn Pack(underlay net.Conn) (PacketConn, error) }
Client is used to create connection.
type ClientCreator ¶
ClientCreator is a function to create client.
type PacketConn ¶
type PacketConn interface { net.PacketConn GetTargetAddr() *TargetAddr }
PacketConn for udp relay
type Server ¶
type Server interface { Name() string // Address to listen Addr() string // Handshake with TCP client Handshake(underlay net.Conn) (StreamConn, *TargetAddr, error) // Pack underlay net.packetConn Pack(underlay net.Conn) (PacketConn, error) }
Server interface
type ServerCreator ¶
ServerCreator is a function to create proxy server
type StreamConn ¶
StreamConn for tcp relay
type TargetAddr ¶
An Addr represents a address that you want to access by proxy. Either Name or IP is used exclusively.
func NewTargetAddr ¶
func NewTargetAddr(addr string) (*TargetAddr, error)
Click to show internal directories.
Click to hide internal directories.