Noooste / azuretls-client

An easy-to-use HTTP client 100% in Go to spoof TLS/JA3 and HTTP2 fingerprint
MIT License
162 stars 21 forks source link

HTTP2 not being properly set. #113

Closed VegieIsCute closed 1 month ago

VegieIsCute commented 1 month ago

Describe the bug When setting HTTP2 using ApplyHTTP2, it is set. however when a request is sent to https://tls.peet.ws/api/all to confirm it, it is mismatched.

To Reproduce

session := azuretls.NewSession()
_ = session.ApplyHTTP2("1:65536,4:131072,5:16384,:1|12517377|0|m,p,a,s")
get, err := session.Get("https://tls.peet.ws/api/all")
if err != nil {
    fmt.Println("get failed")
}
fmt.Println(string(get.Body))

Expected behavior In the code i set "1:65536,4:131072,5:16384,:1|12517377|0|m,p,a,s" as the http2, but the response from tls.peet is "1:65536,4:131072,5:16384|00|0|m,a,s,p", they are very similar, but there is a few pieces missing, and the end is misordered.

Screenshots image

Desktop (please complete the following information):

Noooste commented 1 month ago

Hello, this is a new problem I recently noticed on peet page, it will be fixed as soon as possible!

Noooste commented 1 month ago

However, I can't reproduce this behavior on my side. Also, I don't know what the :1 means.

VegieIsCute commented 1 month ago

the akamai whitepaper probably has information on it. Akamai whitepaper.pdf

VegieIsCute commented 1 month ago

The fingerprint changed to "1:65536,4:131072,5:16384|12517377|3:0:0:201,5:0:0:101,7:0:0:1,9:0:7:1,11:0:3:1,13:0:0:241|m,p,a,s"