Versions in this module Expand all Collapse all v1 v1.0.0 Nov 12, 2023 Changes in this version + const HTTP1 + const HTTP2 + var ErrNoClue = errors.New("not enough information for making a decision") + var ErrorSniffFailed = errors.New("all sniffer failed") + var ErrorUnsupportedSniffer = errors.New("unsupported sniffer") + func IsValidTLSVersion(major, minor byte) bool + func NewSniffer(name sniffer.Type, snifferConfig SnifferConfig) (sniffer.Sniffer, error) + func ReadClientHello(data []byte) (*string, error) + func SniffHTTP(b []byte) (*string, error) + func SniffTLS(b []byte) (*string, error) + type BaseSniffer struct + func NewBaseSniffer(ports utils.IntRanges[uint16], networkType constant.NetWork) *BaseSniffer + func (*BaseSniffer) Protocol() string + func (*BaseSniffer) SniffData(bytes []byte) (string, error) + func (bs *BaseSniffer) SupportNetwork() constant.NetWork + func (bs *BaseSniffer) SupportPort(port uint16) bool + type HTTPSniffer struct + func NewHTTPSniffer(snifferConfig SnifferConfig) (*HTTPSniffer, error) + func (http *HTTPSniffer) Protocol() string + func (http *HTTPSniffer) SniffData(bytes []byte) (string, error) + func (http *HTTPSniffer) SupportNetwork() C.NetWork + type QuicSniffer struct + func NewQuicSniffer(snifferConfig SnifferConfig) (*QuicSniffer, error) + func (quic QuicSniffer) Protocol() string + func (quic QuicSniffer) SniffData(b []byte) (string, error) + func (quic QuicSniffer) SupportNetwork() C.NetWork + type SnifferConfig struct + OverrideDest bool + Ports utils.IntRanges[uint16] + type SnifferDispatcher struct + var Dispatcher *SnifferDispatcher + func NewCloseSnifferDispatcher() (*SnifferDispatcher, error) + func NewSnifferDispatcher(snifferConfig map[sniffer.Type]SnifferConfig, forceDomain *trie.DomainSet, ...) (*SnifferDispatcher, error) + func (sd *SnifferDispatcher) Enable() bool + func (sd *SnifferDispatcher) TCPSniff(conn *N.BufferedConn, metadata *C.Metadata) bool + func (sd *SnifferDispatcher) UDPSniff(packet C.PacketAdapter) bool + type TLSSniffer struct + func NewTLSSniffer(snifferConfig SnifferConfig) (*TLSSniffer, error) + func (tls *TLSSniffer) Protocol() string + func (tls *TLSSniffer) SniffData(bytes []byte) (string, error) + func (tls *TLSSniffer) SupportNetwork() C.NetWork