Documentation
¶
Index ¶
- Constants
- type Reservoir
- func (Reservoir) CaddyModule() caddy.ModuleInfo
- func (r *Reservoir) GetLastQUICVisitor(ip string) (string, bool)
- func (r *Reservoir) NewQUICVisitor(ip, fullKey string)
- func (r *Reservoir) Provision(ctx caddy.Context) error
- func (r *Reservoir) QUICFingerprinter() *clienthellod.QUICFingerprinter
- func (r *Reservoir) Start() error
- func (r *Reservoir) Stop() error
- func (r *Reservoir) TLSFingerprinter() *clienthellod.TLSFingerprinter
Constants ¶
View Source
const ( CaddyAppID = "clienthellod" DEFAULT_TLS_FP_TTL = clienthellod.DEFAULT_TLSFINGERPRINT_EXPIRY // TODO: select a reasonable value DEFAULT_QUIC_FP_TTL = clienthellod.DEFAULT_QUICFINGERPRINT_EXPIRY // TODO: select a reasonable value )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Reservoir ¶
type Reservoir struct { // TlsTTL (Time-to-Live) is the duration for which each TLS fingerprint // is valid. The entry will remain in the reservoir for at most this // duration. // // There are scenarios an entry gets removed sooner than this duration, including // when a TLS ClientHello is successfully served by the handler. TlsTTL caddy.Duration `json:"tls_ttl,omitempty"` // QuicTTL (Time-to-Live) is the duration for which each QUIC fingerprint // is valid. The entry will remain in the reservoir for at most this // duration. // // Given the fact that some implementations would prefer reusing the previously established // QUIC connection instead of establishing a new one everytime, it is recommended to set // a longer TTL for QUIC. QuicTTL caddy.Duration `json:"quic_ttl,omitempty"` // contains filtered or unexported fields }
Reservoir implements caddy.App and caddy.Provisioner. It is used to store the ClientHello extracted from the incoming TLS by ListenerWrapper for later use by the Handler when ServeHTTP is called.
func (Reservoir) CaddyModule ¶
func (Reservoir) CaddyModule() caddy.ModuleInfo
CaddyModule implements CaddyModule() of caddy.Module. It returns the Caddy module information.
func (*Reservoir) GetLastQUICVisitor ¶
GetLastQUICVisitor returns the last QUIC visitor for the given IP address.
func (*Reservoir) NewQUICVisitor ¶
NewQUICVisitor updates the map entry for the given IP address.
func (*Reservoir) QUICFingerprinter ¶
func (r *Reservoir) QUICFingerprinter() *clienthellod.QUICFingerprinter
QUICFingerprinter returns the QUICFingerprinter instance.
func (*Reservoir) TLSFingerprinter ¶
func (r *Reservoir) TLSFingerprinter() *clienthellod.TLSFingerprinter
TLSFingerprinter returns the TLSFingerprinter instance.
Click to show internal directories.
Click to hide internal directories.