Documentation
¶
Index ¶
- Constants
- Variables
- func GetConnect(reader *bufio.Reader) (hostname string, port uint16, err error)
- func GetHandshake(reader *bufio.Reader) (methods []byte, err error)
- func GetUserPass(reader *bufio.Reader) (user string, password string, err error)
- func SendAuthResult(writer *bufio.Writer, status byte) (err error)
- func SendConnectResponse(writer *bufio.Writer, res byte) (err error)
- func SendHandshakeResponse(writer *bufio.Writer, status byte) (err error)
- type HttpBasicAuth
- type HttpProxy
- type LocalDispatcher
- type ServeFile
- type SocksProxy
- type TransparentProxy
Constants ¶
View Source
const SO_ORIGINAL_DST = 80
Variables ¶
View Source
var ( ErrProtocol = errors.New("protocol error") ErrWrongFmt = errors.New("connect packet wrong format") ErrUnknownAddrType = errors.New("unknown addr type") ErrIPv6 = errors.New("ipv6 not support yet") ErrAuthPacket = errors.New("Auth Packet Error") ErrAuthMethod = errors.New("auth method wrong") ErrAuthFailed = errors.New("auth failed") )
Functions ¶
Types ¶
type HttpBasicAuth ¶
type HttpBasicAuth struct {
ReqHeader string
RespHeader string
RespStatus int
// contains filtered or unexported fields
}
func NewHttpBasicAuth ¶
func NewHttpBasicAuth(upstream http.Handler) (bauth *HttpBasicAuth)
func NewProxyBasicAuth ¶
func NewProxyBasicAuth(upstream http.Handler) (bauth *HttpBasicAuth)
func (*HttpBasicAuth) AddUserPass ¶
func (bauth *HttpBasicAuth) AddUserPass(usr, pwd string)
func (*HttpBasicAuth) Authenticate ¶
func (bauth *HttpBasicAuth) Authenticate(req *http.Request) bool
func (*HttpBasicAuth) ServeHTTP ¶
func (bauth *HttpBasicAuth) ServeHTTP(w http.ResponseWriter, req *http.Request)
type HttpProxy ¶
type HttpProxy struct {
Auth http.Handler
Handler http.Handler
// contains filtered or unexported fields
}
type LocalDispatcher ¶
type LocalDispatcher struct {
// contains filtered or unexported fields
}
func (*LocalDispatcher) ServeHTTP ¶
func (l *LocalDispatcher) ServeHTTP(w http.ResponseWriter, req *http.Request)
type ServeFile ¶
type ServeFile struct {
// contains filtered or unexported fields
}
func NewServeFile ¶
type SocksProxy ¶
type SocksProxy struct {
// contains filtered or unexported fields
}
func NewSocksProxy ¶
func NewSocksProxy(dialer netutil.Dialer, username, password string) (p *SocksProxy)
func (*SocksProxy) ServeConn ¶
func (p *SocksProxy) ServeConn(conn net.Conn)
func (*SocksProxy) SocksHandler ¶
func (*SocksProxy) Start ¶
func (p *SocksProxy) Start(addr string)
type TransparentProxy ¶
type TransparentProxy struct {
// contains filtered or unexported fields
}
func NewTransparentProxy ¶
func NewTransparentProxy(dialer netutil.Dialer) (tproxy *TransparentProxy)
func (*TransparentProxy) ServeConn ¶
func (tproxy *TransparentProxy) ServeConn(conn net.Conn)
func (*TransparentProxy) Start ¶
func (tproxy *TransparentProxy) Start(addr string)
Click to show internal directories.
Click to hide internal directories.