helper

package
v0.26.4 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2017 License: BSD-3-Clause Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoSNI = errors.New("No SNI in protocol")
View Source
var ErrTLSClientHello = errors.New("Invalid tls client hello")
View Source
var ErrTLSIncomplete = errors.New("TLS header incomplete")

Functions

func GetLocalIPv4

func GetLocalIPv4() []string

func GetRequestURLString

func GetRequestURLString(req *http.Request) string

func HTTPProxyConnect added in v0.26.0

func HTTPProxyConnect(proxyURL *url.URL, c net.Conn, addr string) error

func HTTPProxyDial added in v0.26.0

func HTTPProxyDial(proxyURL string, addr string, timeout time.Duration) (net.Conn, error)

func IPv42Int

func IPv42Int(ip string) (int64, error)

func IsPrivateIP

func IsPrivateIP(ip string) bool

func IsTimeoutError added in v0.26.0

func IsTimeoutError(err error) bool

func Long2IPv4

func Long2IPv4(i uint64) string

func PKCS7Pad

func PKCS7Pad(buf *bytes.Buffer, blen int)

func PKCS7Unpad

func PKCS7Unpad(in []byte) []byte

Returns slice of the original data without padding.

func PrepareRegexp

func PrepareRegexp(rule string) (*regexp.Regexp, error)

func RandAsciiString

func RandAsciiString(n int) string

func RandBetween

func RandBetween(min, max int) int

func ReadWithoutComment

func ReadWithoutComment(file string, commentPrefix string) ([]byte, error)

func Socks5ProxyConnect added in v0.26.0

func Socks5ProxyConnect(proxyURL *url.URL, conn net.Conn, addr string) error

func Socks5ProxyDial added in v0.26.0

func Socks5ProxyDial(proxyURL string, addr string, timeout time.Duration) (net.Conn, error)

func TLSParseSNI

func TLSParseSNI(data []byte) (string, error)

func TLSReplaceSNI

func TLSReplaceSNI(data []byte, sni string) ([]byte, string, error)

func WildcardMatch

func WildcardMatch(text string, pattern string) bool

Types

type BufferChunkReader

type BufferChunkReader struct {
	io.Reader
	Err error
}

func (*BufferChunkReader) Read

func (r *BufferChunkReader) Read(p []byte) (int, error)

type DebugReader added in v0.26.3

type DebugReader struct {
	io.Reader
	Buf bytes.Buffer
}

func (*DebugReader) Read added in v0.26.3

func (r *DebugReader) Read(p []byte) (int, error)

type ProxyChannelConnection added in v0.26.4

type ProxyChannelConnection interface {
	io.ReadWriteCloser
	SetReadDeadline(t time.Time) error
	SetWriteDeadline(t time.Time) error
	SetDeadline(t time.Time) error
}

Jump to

Keyboard shortcuts

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