Documentation ¶
Index ¶
- Constants
- Variables
- func Copy(dst io.Writer, src io.Reader) (written int64, err error)
- func CopyBuffer(dst io.Writer, src io.Reader) (written int64, err error)
- func CopyN(dst io.Writer, src io.Reader, n int64) (written int64, err error)
- func OutboundIP() string
- func RegisterDialer(name string, c DialerCreator)
- func RegisterServer(name string, c ServerCreator)
- func Relay(left, right net.Conn) error
- func RelayUDP(dst net.PacketConn, target net.Addr, src net.PacketConn, timeout time.Duration) error
- type Conn
- type Dialer
- type DialerCreator
- type Direct
- type Proxy
- type Server
- type ServerCreator
- type TCPDialer
- type UDPDialer
Constants ¶
View Source
const ( // TCPBufSize is the size of tcp buffer. TCPBufSize = 16 << 10 // UDPBufSize is the size of udp buffer. UDPBufSize = 64 << 10 )
Variables ¶
View Source
var Default = &Direct{dialTimeout: time.Second * 3}
Default dialer.
Functions ¶
func Copy ¶ added in v0.11.0
Copy copies from src to dst. it will try to avoid memory allocating by using WriteTo or ReadFrom method, if both failed, then it'll fallback to call CopyBuffer method.
func CopyBuffer ¶ added in v0.11.0
CopyBuffer copies from src to dst with a userspace buffer.
func OutboundIP ¶ added in v0.11.0
func OutboundIP() string
OutboundIP returns preferred outbound ip of this machine.
func RegisterDialer ¶
func RegisterDialer(name string, c DialerCreator)
RegisterDialer is used to register a dialer.
func RegisterServer ¶
func RegisterServer(name string, c ServerCreator)
RegisterServer is used to register a proxy server
Types ¶
type Conn ¶ added in v0.11.0
Conn is a connection with buffered reader.
type DialerCreator ¶
DialerCreator is a function to create dialers.
type Direct ¶
type Direct struct {
// contains filtered or unexported fields
}
Direct proxy.
type Proxy ¶ added in v0.8.1
type Proxy interface { // Dial connects to the given address via the proxy. Dial(network, addr string) (c net.Conn, dialer Dialer, err error) // DialUDP connects to the given address via the proxy. DialUDP(network, addr string) (pc net.PacketConn, writeTo net.Addr, err error) // Get the dialer by dstAddr. NextDialer(dstAddr string) Dialer // Record records result while using the dialer from proxy. Record(dialer Dialer, success bool) }
Proxy is a dialer manager.
type Server ¶
type Server interface { // ListenAndServe sets up a listener and serve on it ListenAndServe() // Serve serves a connection Serve(c net.Conn) }
Server interface
type ServerCreator ¶
ServerCreator is a function to create proxy servers
Directories ¶
Path | Synopsis |
---|---|
Package http implements a http proxy.
|
Package http implements a http proxy. |
Package obfs implements simple-obfs of ss
|
Package obfs implements simple-obfs of ss |
Package reject implements a virtual proxy which always reject requests.
|
Package reject implements a virtual proxy which always reject requests. |
Package socks5 implements a socks5 proxy.
|
Package socks5 implements a socks5 proxy. |
Package ws implements a simple websocket client.
|
Package ws implements a simple websocket client. |
Click to show internal directories.
Click to hide internal directories.