A fork of golang.org/x/net that adds Chrome HTTP/2 fingerprint compatibility, designed to pair with uTLS HelloChrome_Auto for a complete Chrome fingerprint stack at both the TLS and HTTP/2 layers.
SETTINGS order - 2,4,5,6 -> 1,2,4,6 HEADER_TABLE_SIZE - 4096 -> 65536 INITIAL_WINDOW_SIZE - 65535 -> 6291456 MAX_HEADER_LIST_SIZE - 10485760 -> 262144 WINDOW_UPDATE - 1GB -> 15663105 PRIORITY frames - none -> static Chrome tree Pseudo-header "order" - :authority first -> :method first Header "order" - map (random) -> Chrome observed order
//in go.mod
replace golang.org/x/net => github.com/ajithor/http2chrome v0.0.3
//in your main code where http2 is being setup
transport := &http2.Transport{
ChromeCompatConfig: http2.ChromeCompatConfig{Enabled: true},
}
//Pair with uTLS
uConn := utls.UClient(conn, &utls.Config{
NextProtos: []string{"h2"},
}, utls.HelloChrome_Auto)- Does not set header values — caller is responsible for authentic Chrome header values.
- Does not handle HPACK dynamic table state across requests
- Chrome header order may vary slightly by Chrome version and request type