gaukas / clienthellod

TLS ClientHello/QUIC Initial Packet reflection service
https://client.tlsfingerprint.io
Apache License 2.0
15 stars 2 forks source link

QUIC (UDP) fingerprinting for Caddy #3

Closed gaukas closed 1 year ago

gaukas commented 1 year ago

Caddy doesn't support UDP ListenerWrapper.

Need to modify Caddy's source here to extract QUIC ClientHello before passing into quic-go.

    lnAny, err := addr.Listen(s.ctx, 0, net.ListenConfig{})
    if err != nil {
        return err
    }
    ln := lnAny.(net.PacketConn)

    h3ln, err := caddy.ListenQUIC(ln, tlsCfg, &s.activeRequests)
    if err != nil {

https://github.com/caddyserver/caddy/blob/1af419e7eca0c7b8559ec2f3b397f948f1ef13c2/modules/caddyhttp/server.go#L524-L533

gaukas commented 1 year ago

Created another private repo addressing QUIC fingerprinting and will publish it when ready.