net

package
v0.29.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 29, 2019 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FrpWebsocketPath = "/~!frp"
)

Variables

View Source
var (
	ErrWebsocketListenerClosed = errors.New("websocket listener closed")
)
View Source
var (
	FRP_TLS_HEAD_BYTE = 0x17
)

Functions

func HttpBasicAuth added in v0.13.0

func HttpBasicAuth(h http.HandlerFunc, user, passwd string) http.HandlerFunc

func MakeHttpGzipHandler added in v0.13.0

func MakeHttpGzipHandler(h http.Handler) http.Handler

func NewHttpBasicAuthWraper added in v0.13.0

func NewHttpBasicAuthWraper(h http.Handler, user, passwd string) http.Handler

func NewKcpConnFromUdp added in v0.14.0

func NewKcpConnFromUdp(conn *net.UDPConn, connected bool, raddr string) (net.Conn, error)

Types

type CloseNotifyConn added in v0.21.0

type CloseNotifyConn struct {
	net.Conn
	log.Logger
	// contains filtered or unexported fields
}

func (*CloseNotifyConn) Close added in v0.21.0

func (cc *CloseNotifyConn) Close() (err error)

type Conn

type Conn interface {
	net.Conn
	log.Logger
}

Conn is the interface of connections used in frp.

func CheckAndEnableTLSServerConnWithTimeout added in v0.27.1

func CheckAndEnableTLSServerConnWithTimeout(c net.Conn, tlsConfig *tls.Config, timeout time.Duration) (out Conn, err error)

func ConnectServer added in v0.12.0

func ConnectServer(protocol string, addr string) (c Conn, err error)

func ConnectServerByProxy added in v0.19.0

func ConnectServerByProxy(proxyUrl string, protocol string, addr string) (c Conn, err error)

func ConnectServerByProxyWithTLS added in v0.25.0

func ConnectServerByProxyWithTLS(proxyUrl string, protocol string, addr string, tlsConfig *tls.Config) (c Conn, err error)

func ConnectTcpServer

func ConnectTcpServer(addr string) (c Conn, err error)

func ConnectWebsocketServer added in v0.21.0

func ConnectWebsocketServer(addr string) (Conn, error)

addr: domain:port

func WrapCloseNotifyConn added in v0.21.0

func WrapCloseNotifyConn(c net.Conn, closeFn func()) Conn

closeFn will be only called once

func WrapConn

func WrapConn(c net.Conn) Conn

func WrapReadWriteCloserToConn added in v0.11.0

func WrapReadWriteCloserToConn(rwc io.ReadWriteCloser, underConn net.Conn) Conn

func WrapTLSClientConn added in v0.25.0

func WrapTLSClientConn(c net.Conn, tlsConfig *tls.Config) (out Conn)

type CustomListener added in v0.13.0

type CustomListener struct {
	log.Logger
	// contains filtered or unexported fields
}

Custom listener

func NewCustomListener added in v0.13.0

func NewCustomListener() *CustomListener

func (*CustomListener) Accept added in v0.13.0

func (l *CustomListener) Accept() (Conn, error)

func (*CustomListener) Addr added in v0.13.0

func (l *CustomListener) Addr() net.Addr

func (*CustomListener) Close added in v0.13.0

func (l *CustomListener) Close() error

func (*CustomListener) PutConn added in v0.13.0

func (l *CustomListener) PutConn(conn Conn) error

type FakeUdpConn

type FakeUdpConn struct {
	log.Logger
	// contains filtered or unexported fields
}

func NewFakeUdpConn

func NewFakeUdpConn(l *UdpListener, laddr, raddr net.Addr) *FakeUdpConn

func (*FakeUdpConn) Close

func (c *FakeUdpConn) Close() error

func (*FakeUdpConn) IsClosed

func (c *FakeUdpConn) IsClosed() bool

func (*FakeUdpConn) LocalAddr

func (c *FakeUdpConn) LocalAddr() net.Addr

func (*FakeUdpConn) Read

func (c *FakeUdpConn) Read(b []byte) (n int, err error)

func (*FakeUdpConn) RemoteAddr

func (c *FakeUdpConn) RemoteAddr() net.Addr

func (*FakeUdpConn) SetDeadline

func (c *FakeUdpConn) SetDeadline(t time.Time) error

func (*FakeUdpConn) SetReadDeadline

func (c *FakeUdpConn) SetReadDeadline(t time.Time) error

func (*FakeUdpConn) SetWriteDeadline

func (c *FakeUdpConn) SetWriteDeadline(t time.Time) error

func (*FakeUdpConn) Write

func (c *FakeUdpConn) Write(b []byte) (n int, err error)

type HttpAuthMiddleware added in v0.20.0

type HttpAuthMiddleware struct {
	// contains filtered or unexported fields
}

func NewHttpAuthMiddleware added in v0.20.0

func NewHttpAuthMiddleware(user, passwd string) *HttpAuthMiddleware

func (*HttpAuthMiddleware) Middleware added in v0.20.0

func (authMid *HttpAuthMiddleware) Middleware(next http.Handler) http.Handler

type HttpAuthWraper added in v0.13.0

type HttpAuthWraper struct {
	// contains filtered or unexported fields
}

func (*HttpAuthWraper) ServeHTTP added in v0.13.0

func (aw *HttpAuthWraper) ServeHTTP(w http.ResponseWriter, r *http.Request)

type HttpGzipWraper added in v0.13.0

type HttpGzipWraper struct {
	// contains filtered or unexported fields
}

func (*HttpGzipWraper) ServeHTTP added in v0.13.0

func (gw *HttpGzipWraper) ServeHTTP(w http.ResponseWriter, r *http.Request)

type KcpListener added in v0.12.0

type KcpListener struct {
	net.Addr

	log.Logger
	// contains filtered or unexported fields
}

func ListenKcp added in v0.12.0

func ListenKcp(bindAddr string, bindPort int) (l *KcpListener, err error)

func (*KcpListener) Accept added in v0.12.0

func (l *KcpListener) Accept() (Conn, error)

func (*KcpListener) Close added in v0.12.0

func (l *KcpListener) Close() error

type Listener

type Listener interface {
	Accept() (Conn, error)
	Close() error
	log.Logger
}

func WrapLogListener added in v0.12.0

func WrapLogListener(l net.Listener) Listener

type LogListener added in v0.12.0

type LogListener struct {
	net.Listener
	log.Logger
	// contains filtered or unexported fields
}

func (*LogListener) Accept added in v0.12.0

func (logL *LogListener) Accept() (Conn, error)

type StatsConn added in v0.15.0

type StatsConn struct {
	Conn
	// contains filtered or unexported fields
}

func WrapStatsConn added in v0.15.0

func WrapStatsConn(conn Conn, statsFunc func(total, totalWrite int64)) *StatsConn

func (*StatsConn) Close added in v0.15.0

func (statsConn *StatsConn) Close() (err error)

func (*StatsConn) Read added in v0.15.0

func (statsConn *StatsConn) Read(p []byte) (n int, err error)

func (*StatsConn) Write added in v0.15.0

func (statsConn *StatsConn) Write(p []byte) (n int, err error)

type TcpConn

type TcpConn struct {
	net.Conn
	log.Logger
}

Wrap for TCPConn.

func NewTcpConn

func NewTcpConn(conn net.Conn) (c *TcpConn)

type TcpListener

type TcpListener struct {
	net.Addr

	log.Logger
	// contains filtered or unexported fields
}

func ListenTcp

func ListenTcp(bindAddr string, bindPort int) (l *TcpListener, err error)

func (*TcpListener) Accept

func (l *TcpListener) Accept() (Conn, error)

Wait util get one new connection or listener is closed if listener is closed, err returned.

func (*TcpListener) Close

func (l *TcpListener) Close() error

type UdpListener

type UdpListener struct {
	net.Addr

	log.Logger
	// contains filtered or unexported fields
}

func ListenUDP

func ListenUDP(bindAddr string, bindPort int) (l *UdpListener, err error)

func (*UdpListener) Accept

func (l *UdpListener) Accept() (Conn, error)

func (*UdpListener) Close

func (l *UdpListener) Close() error

func (*UdpListener) WriteMsg

func (l *UdpListener) WriteMsg(buf []byte, remoteAddr *net.UDPAddr) (err error)

type UdpPacket

type UdpPacket struct {
	Buf        []byte
	LocalAddr  net.Addr
	RemoteAddr net.Addr
}

type WebsocketListener added in v0.21.0

type WebsocketListener struct {
	net.Addr

	log.Logger
	// contains filtered or unexported fields
}

func ListenWebsocket added in v0.21.0

func ListenWebsocket(bindAddr string, bindPort int) (*WebsocketListener, error)

func NewWebsocketListener added in v0.21.0

func NewWebsocketListener(ln net.Listener) (wl *WebsocketListener)

NewWebsocketListener to handle websocket connections ln: tcp listener for websocket connections

func (*WebsocketListener) Accept added in v0.21.0

func (p *WebsocketListener) Accept() (Conn, error)

func (*WebsocketListener) Close added in v0.21.0

func (p *WebsocketListener) Close() error

type WrapLogConn

type WrapLogConn struct {
	net.Conn
	log.Logger
}

type WrapReadWriteCloserConn added in v0.11.0

type WrapReadWriteCloserConn struct {
	io.ReadWriteCloser
	log.Logger
	// contains filtered or unexported fields
}

func (*WrapReadWriteCloserConn) LocalAddr added in v0.11.0

func (conn *WrapReadWriteCloserConn) LocalAddr() net.Addr

func (*WrapReadWriteCloserConn) RemoteAddr added in v0.11.0

func (conn *WrapReadWriteCloserConn) RemoteAddr() net.Addr

func (*WrapReadWriteCloserConn) SetDeadline added in v0.11.0

func (conn *WrapReadWriteCloserConn) SetDeadline(t time.Time) error

func (*WrapReadWriteCloserConn) SetReadDeadline added in v0.11.0

func (conn *WrapReadWriteCloserConn) SetReadDeadline(t time.Time) error

func (*WrapReadWriteCloserConn) SetWriteDeadline added in v0.11.0

func (conn *WrapReadWriteCloserConn) SetWriteDeadline(t time.Time) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL