Documentation ¶
Index ¶
- Constants
- Variables
- func HttpBasicAuth(h http.HandlerFunc, user, passwd string) http.HandlerFunc
- func MakeHttpGzipHandler(h http.Handler) http.Handler
- func NewHttpBasicAuthWraper(h http.Handler, user, passwd string) http.Handler
- func NewKcpConnFromUdp(conn *net.UDPConn, connected bool, raddr string) (net.Conn, error)
- type CloseNotifyConn
- type Conn
- func CheckAndEnableTLSServerConnWithTimeout(c net.Conn, tlsConfig *tls.Config, timeout time.Duration) (out Conn, err error)
- func ConnectServer(protocol string, addr string) (c Conn, err error)
- func ConnectServerByProxy(proxyUrl string, protocol string, addr string) (c Conn, err error)
- func ConnectServerByProxyWithTLS(proxyUrl string, protocol string, addr string, tlsConfig *tls.Config) (c Conn, err error)
- func ConnectTcpServer(addr string) (c Conn, err error)
- func ConnectWebsocketServer(addr string) (Conn, error)
- func WrapCloseNotifyConn(c net.Conn, closeFn func()) Conn
- func WrapConn(c net.Conn) Conn
- func WrapReadWriteCloserToConn(rwc io.ReadWriteCloser, underConn net.Conn) Conn
- func WrapTLSClientConn(c net.Conn, tlsConfig *tls.Config) (out Conn)
- type CustomListener
- type FakeUdpConn
- func (c *FakeUdpConn) Close() error
- func (c *FakeUdpConn) IsClosed() bool
- func (c *FakeUdpConn) LocalAddr() net.Addr
- func (c *FakeUdpConn) Read(b []byte) (n int, err error)
- func (c *FakeUdpConn) RemoteAddr() net.Addr
- func (c *FakeUdpConn) SetDeadline(t time.Time) error
- func (c *FakeUdpConn) SetReadDeadline(t time.Time) error
- func (c *FakeUdpConn) SetWriteDeadline(t time.Time) error
- func (c *FakeUdpConn) Write(b []byte) (n int, err error)
- type HttpAuthMiddleware
- type HttpAuthWraper
- type HttpGzipWraper
- type KcpListener
- type Listener
- type LogListener
- type StatsConn
- type TcpConn
- type TcpListener
- type UdpListener
- type UdpPacket
- type WebsocketListener
- type WrapLogConn
- type WrapReadWriteCloserConn
- func (conn *WrapReadWriteCloserConn) LocalAddr() net.Addr
- func (conn *WrapReadWriteCloserConn) RemoteAddr() net.Addr
- func (conn *WrapReadWriteCloserConn) SetDeadline(t time.Time) error
- func (conn *WrapReadWriteCloserConn) SetReadDeadline(t time.Time) error
- func (conn *WrapReadWriteCloserConn) SetWriteDeadline(t time.Time) error
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 NewHttpBasicAuthWraper ¶ added in v0.13.0
Types ¶
type CloseNotifyConn ¶ added in v0.21.0
func (*CloseNotifyConn) Close ¶ added in v0.21.0
func (cc *CloseNotifyConn) Close() (err error)
type Conn ¶
Conn is the interface of connections used in frp.
func CheckAndEnableTLSServerConnWithTimeout ¶ added in v0.27.1
func ConnectServer ¶ added in v0.12.0
func ConnectServerByProxy ¶ added in v0.19.0
func ConnectServerByProxyWithTLS ¶ added in v0.25.0
func ConnectTcpServer ¶
func ConnectWebsocketServer ¶ added in v0.21.0
addr: domain:port
func WrapCloseNotifyConn ¶ added in v0.21.0
closeFn will be only called once
func WrapReadWriteCloserToConn ¶ added in v0.11.0
func WrapReadWriteCloserToConn(rwc io.ReadWriteCloser, underConn net.Conn) Conn
type CustomListener ¶ added in v0.13.0
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 ¶
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) 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
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
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 ¶
func WrapLogListener ¶ added in v0.12.0
type LogListener ¶ added in v0.12.0
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
type TcpListener ¶
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 ¶
func (*UdpListener) Accept ¶
func (l *UdpListener) Accept() (Conn, error)
func (*UdpListener) Close ¶
func (l *UdpListener) Close() error
type WebsocketListener ¶ added in v0.21.0
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 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
Source Files ¶
Click to show internal directories.
Click to hide internal directories.