Versions in this module Expand all Collapse all v2 v2.0.0 Sep 19, 2020 Changes in this version + const CmdClosed + const CmdData + const CmdDial + const CmdDialBack + const CmdHeartbeat + const CmdLogin + const CmdLoginBack + const ConnTypeChannel + const ConnTypeRaw + const SocksUriTypeBS + const SocksUriTypeNormal + var Log = log.New(os.Stdout, "", log.Ldate | log.Lmicroseconds | log.Lshortfile) + var LogLevel int = 3 + var ShowLog = 0 + func DebugLog(format string, args ...interface{}) + func ErrorLog(format string, args ...interface{}) + func InfoLog(format string, args ...interface{}) + func WarnLog(format string, args ...interface{}) + type AuthOption struct + Index int + Name string + Token string + type Channel struct + Heartbeat int64 + func (c *Channel) Context() interface{} + func (c *Channel) ID() uint64 + func (c *Channel) Index() int + func (c *Channel) Name() string + func (c *Channel) SetContext(v interface{}) + func (c *Channel) String() string + func (c *Channel) Type() int + type ChannelOption struct + Enable bool + Index int + Local string + Remote string + Token string + type Codable interface + Code func() byte + type Conn interface + Context func() interface{} + ID func() uint64 + Index func() int + Name func() string + SetContext func(v interface{}) + Type func() int + type ConnectedWaiter interface + Ready func() + Wait func() bool + type DialRawF func(sid uint64, uri string) (raw Conn, err error) + func (d DialRawF) DialRaw(sid uint64, uri string) (raw Conn, err error) + type Forward struct + Dialer func(uri string, raw io.ReadWriteCloser) (sid uint64, err error) + WebAuth string + WebSuffix string + func NewForward() *Forward + func (f *Forward) AddForward(loc, uri string) (err error) + func (f *Forward) FindForward(name string) (uri ForwardUri) + func (f *Forward) HostForwardF(w http.ResponseWriter, req *http.Request) + func (f *Forward) ProcName(name string, w http.ResponseWriter, req *http.Request) + func (f *Forward) ProcRouter(router ForwardUri, w http.ResponseWriter, req *http.Request) + func (f *Forward) ProcWebSubsH(w http.ResponseWriter, req *http.Request) + func (f *Forward) RemoveForward(name string) (err error) + type ForwardEntry []interface + type ForwardUri []string + func (f ForwardUri) String() string + func (f ForwardUri) URL() (local *url.URL, remote *url.URL, err error) + type Handler interface + DialRaw func(sid uint64, uri string) (raw Conn, err error) + OnConnClose func(raw Conn) error + OnConnDialURI func(channel Conn, conn string, parts []string) (err error) + OnConnLogin func(channel Conn, args string) (name string, index int, err error) + type InfoRWC struct + Info string + func NewInfoRWC(raw frame.ReadWriteCloser, info string) *InfoRWC + func (i *InfoRWC) String() string + type NormalAcessHandler struct + DialAccess [][]string + Dialer RawDialer + LoginAccess map[string]string + Name string + func NewNormalAcessHandler(name string, dialer RawDialer) (handler *NormalAcessHandler) + func (n *NormalAcessHandler) DialRaw(sid uint64, uri string) (raw Conn, err error) + func (n *NormalAcessHandler) OnConnClose(conn Conn) (err error) + func (n *NormalAcessHandler) OnConnDialURI(channel Conn, conn string, parts []string) (err error) + func (n *NormalAcessHandler) OnConnLogin(channel Conn, args string) (name string, index int, err error) + type PendingConn struct + Raw io.ReadWriteCloser + func NewPendingConn(raw io.ReadWriteCloser) (conn *PendingConn) + func (p *PendingConn) Close() (err error) + func (p *PendingConn) Read(b []byte) (n int, err error) + func (p *PendingConn) Start() + func (p *PendingConn) Write(b []byte) (n int, err error) + type Proxy struct + Cert string + Handler ProxyHandler + Key string + ReconnectDelay time.Duration + Running bool + func NewProxy(name string, handler Handler) (proxy *Proxy) + func (p *Proxy) Close() (err error) + func (p *Proxy) DialRaw(sid uint64, uri string) (raw Conn, err error) + func (p *Proxy) ListenMaster(addr string) (err error) + func (p *Proxy) Login(option *ChannelOption) (channel *Channel, err error) + func (p *Proxy) LoginChannel(reconnect bool, channels ...*ChannelOption) (err error) + func (p *Proxy) OnConnClose(conn Conn) (err error) + func (p *Proxy) OnConnDialURI(channel Conn, conn string, parts []string) (err error) + func (p *Proxy) OnConnLogin(channel Conn, args string) (name string, index int, err error) + func (p *Proxy) StartForward(name string, listen *url.URL, router string) (listener net.Listener, err error) + func (p *Proxy) StopForward(name string) (err error) + type ProxyHandler interface + DialRaw func(sid uint64, uri string) (raw Conn, err error) + OnConnClose func(conn Conn) (err error) + OnConnDialURI func(channel Conn, conn string, parts []string) (err error) + OnConnLogin func(channel Conn, args string) (name string, index int, err error) + type RawConn struct + func NewRawConn(raw io.ReadWriteCloser, bufferSize int, sid uint64, uri string) (conn *RawConn) + func (r *RawConn) Close() (err error) + func (r *RawConn) Context() interface{} + func (r *RawConn) ID() uint64 + func (r *RawConn) Index() int + func (r *RawConn) Name() string + func (r *RawConn) Read(b []byte) (n int, err error) + func (r *RawConn) ReadFrame() (frame []byte, err error) + func (r *RawConn) Ready() + func (r *RawConn) SetContext(v interface{}) + func (r *RawConn) SetReadTimeout(timeout time.Duration) + func (r *RawConn) SetTimeout(timeout time.Duration) + func (r *RawConn) SetWriteTimeout(timeout time.Duration) + func (r *RawConn) String() string + func (r *RawConn) Type() int + func (r *RawConn) Wait() bool + func (r *RawConn) Write(p []byte) (n int, err error) + func (r *RawConn) WriteFrame(buffer []byte) (n int, err error) + type RawDialer interface + DialRaw func(sid uint64, uri string) (raw Conn, err error) + type Router struct + BufferSize int + Handler Handler + Heartbeat time.Duration + Name string + func NewRouter(name string) (router *Router) + func (r *Router) Accept(raw frame.ReadWriteCloser) + func (r *Router) Bind(src Conn, srcSid uint64, dst Conn, dstSid uint64) + func (r *Router) Close() (err error) + func (r *Router) Dial(uri string, raw io.ReadWriteCloser) (sid uint64, err error) + func (r *Router) DialConn(uri string, raw io.ReadWriteCloser) (sid uint64, conn *RawConn, err error) + func (r *Router) JoinConn(conn frame.ReadWriteCloser, index int, args interface{}) (channel *Channel, err error) + func (r *Router) Register(channel Conn) + func (r *Router) SelectChannel(name string) (dst Conn, err error) + func (r *Router) StartHeartbeat() + func (r *Router) State() (state xmap.M) + func (r *Router) SyncDial(uri string, raw io.ReadWriteCloser) (sid uint64, err error) + func (r *Router) UniqueSid() (sid uint64) + type SocksProxy struct + Dialer func(utype int, uri string, raw io.ReadWriteCloser) (sid uint64, err error) + func NewSocksProxy() (socks *SocksProxy) + func (s *SocksProxy) Start(addr string) (err error) + type TableRouter []interface + func (t TableRouter) Next(conn Conn) (target Conn, rsid uint64) + func (t TableRouter) String() string + type WaitReadWriteCloser struct + func NewWaitReadWriteCloser(raw io.ReadWriteCloser) *WaitReadWriteCloser + func (w *WaitReadWriteCloser) Close() (err error) + func (w *WaitReadWriteCloser) String() string + func (w *WaitReadWriteCloser) Wait() Other modules containing this package github.com/codingeasygo/bsck