Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // values are from CI build BuildCommit = "GIT_COMMIT_PLACEHOLDER" BuildTag = "GIT_TAG_PLACEHOLDER" )
View Source
var ( ProxyServerLog = log.New(os.Stderr, "[proxyserver] ", logFlags) HTTPServerLog = log.New(os.Stderr, "[http] ", logFlags) PrometheusLog = log.New(os.Stderr, "[metrics] ", logFlags) ReverseProxyLog = log.New(os.Stderr, "[reverseproxy] ", logFlags) FingerprintLog = log.New(os.Stderr, "[fingerprint] ", logFlags) CertWatcherLog = log.New(os.Stderr, "[certwatcher] ", logFlags) DefaultLog = log.New(os.Stderr, "[fingerproxy] ", logFlags) // The Prometheus metric registry used by fingerproxy PrometheusRegistry = prometheus.NewRegistry() // The header injectors that injects fingerprint headers to forwarding requests, // defaults to [fingerproxy.DefaultHeaderInjectors] GetHeaderInjectors = DefaultHeaderInjectors )
Functions ¶
func DefaultHeaderInjectors ¶
func DefaultHeaderInjectors() []reverseproxy.HeaderInjector
DefaultHeaderInjectors is the default header injector set that injects JA3, JA4, and Akamai HTTP2 fingerprints. Override fingerproxy.GetHeaderInjectors to replace this to your own injectors.
func Run ¶
func Run()
Run fingerproxy. To customize the fingerprinting algorithms, use "header injectors". See fingerproxy.GetHeaderInjectors for more info.
Types ¶
This section is empty.
Directories ¶
Path | Synopsis |
---|---|
example
|
|
pkg
|
|
fingerprint
Package `fingerprint` reads `metadata` and calculate the JA3, JA4, HTTP2 fingerprints, etc.
|
Package `fingerprint` reads `metadata` and calculate the JA3, JA4, HTTP2 fingerprints, etc. |
hack
Package hack includes wraps and hacks of Go net stack.
|
Package hack includes wraps and hacks of Go net stack. |
http2
Package http2 implements the HTTP/2 protocol.
|
Package http2 implements the HTTP/2 protocol. |
http2/h2c
Package h2c implements the unencrypted "h2c" form of HTTP/2.
|
Package h2c implements the unencrypted "h2c" form of HTTP/2. |
http2/h2i
The h2i command is an interactive HTTP/2 console.
|
The h2i command is an interactive HTTP/2 console. |
http2/hpack
Package hpack implements HPACK, a compression format for efficiently representing HTTP header fields in the context of HTTP/2.
|
Package hpack implements HPACK, a compression format for efficiently representing HTTP header fields in the context of HTTP/2. |
ja4
Package `ja4` implements JA4 algorithm based on utls.
|
Package `ja4` implements JA4 algorithm based on utls. |
ja4pcap
Package `ja4pcap` is just a test helper for the `ja4` package that adopts the test cases from the [official JA4 repo].
|
Package `ja4pcap` is just a test helper for the `ja4` package that adopts the test cases from the [official JA4 repo]. |
metadata
Package `metadata` has a struct that stores information captured by `proxyserver`.
|
Package `metadata` has a struct that stores information captured by `proxyserver`. |
proxyserver
Package `proxyserver` listens and accepts TLS connections.
|
Package `proxyserver` listens and accepts TLS connections. |
reverseproxy
Package `reverseproxy` forwards the requests to backends.
|
Package `reverseproxy` forwards the requests to backends. |
Click to show internal directories.
Click to hide internal directories.