Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetSupportedBrowsers ¶
func GetSupportedBrowsers() []string
GetSupportedBrowsers returns list of supported browsers
func GetSupportedVersions ¶
GetSupportedVersions returns list of supported versions for specified browser
Types ¶
type BasicAuth ¶
type BasicAuth struct {
// contains filtered or unexported fields
}
BasicAuth handles HTTP Basic Authentication for proxy
func NewBasicAuth ¶
NewBasicAuth creates a new basic auth handler
func (*BasicAuth) GetAuthRequiredResponse ¶
GetAuthRequiredResponse returns HTTP 407 response for auth required
type BrowserFingerprint ¶
BrowserFingerprint contains complete browser fingerprint
func GetBrowserFingerprint ¶
func GetBrowserFingerprint(userAgent string) (*BrowserFingerprint, error)
GetBrowserFingerprint gets complete browser fingerprint from User-Agent
type BrowserInfo ¶
BrowserInfo contains browser information
func ParseUserAgent ¶
func ParseUserAgent(userAgent string) (*BrowserInfo, error)
ParseUserAgent parses User-Agent string
type BufferedMITMConn ¶ added in v1.0.6
BufferedMITMConn wraps a connection with a buffered reader for protocol detection
type CertManager ¶
type CertManager struct {
// contains filtered or unexported fields
}
CertManager manages certificate generation for MITM
func NewCertManager ¶
func NewCertManager() (*CertManager, error)
NewCertManager creates a new certificate manager
func (*CertManager) GetCACert ¶
func (cm *CertManager) GetCACert() []byte
GetCACert returns the CA certificate in PEM format
func (*CertManager) GetCertificate ¶
func (cm *CertManager) GetCertificate(hostname string) (*tls.Certificate, error)
GetCertificate returns a certificate for the given hostname
type ChunkedWriter ¶ added in v1.0.6
type ChunkedWriter struct {
// contains filtered or unexported fields
}
ChunkedWriter is a helper to wrap a net.Conn to write in chunked encoding format.
func NewChunkedWriter ¶ added in v1.0.6
func NewChunkedWriter(conn net.Conn, useChunked bool) *ChunkedWriter
NewChunkedWriter creates a new ChunkedWriter.
func (*ChunkedWriter) Close ¶ added in v1.0.6
func (cw *ChunkedWriter) Close() error
Close finalizes the stream. For chunked encoding, it writes the final zero-length chunk. This is implicitly called by io.Copy when the source reader returns EOF.
type Config ¶
type Config struct {
Addr string
Port string
UserAgent string
Payload string
UpstreamProxy string
Username string
Password string
CertFile string
KeyFile string
Verbose int
}
Config holds the proxy server configuration
type HTTP2Fingerprint ¶
type HTTP2Fingerprint struct {
Settings string
WindowUpdate string
Priority string
PseudoHeader string
}
HTTP2Fingerprint contains HTTP/2 fingerprint configuration
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager manages all azuretls sessions
func (*Manager) GetSession ¶
GetSession gets or creates session based on configuration
func (*Manager) GetSessionCount ¶
GetSessionCount returns current session count
type PayloadInjector ¶
type PayloadInjector struct {
// contains filtered or unexported fields
}
PayloadInjector handles JavaScript payload injection into responses
func NewPayloadInjector ¶
func NewPayloadInjector(payload string) *PayloadInjector
NewPayloadInjector creates a new payload injector
func (*PayloadInjector) InjectIntoResponse ¶
func (p *PayloadInjector) InjectIntoResponse(body []byte, contentType string) []byte
InjectIntoResponse injects payload into HTTP response based on content type
func (*PayloadInjector) PrependToBuffer ¶
func (p *PayloadInjector) PrependToBuffer(buf *bytes.Buffer, contentType string)
PrependToBuffer prepends payload to buffer for streaming responses
func (*PayloadInjector) ShouldInject ¶
func (p *PayloadInjector) ShouldInject(contentType string) bool
ShouldInject checks if payload should be injected based on content type
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server represents the MaskTunnel proxy server