Danny-Dasilva / CycleTLS

Spoof TLS/JA3 fingerprints in GO and Javascript
GNU General Public License v3.0
823 stars 164 forks source link

Akamai Not matching browser fingerprint #126

Open wengooooo opened 1 year ago

wengooooo commented 1 year ago

Description

The Akamai fingerprint of cycletls doesnt match the fingerprint of the browser im attempting to imitate. tls.peet.ws calls akamai_fingerprint and akamai_fingerpring_hash are both different from the actual browser

I use the latest version.

Reproduction code:

client := cycletls.Init()
response, _ := client.Do("https://tls.peet.ws/api/clean", cycletls.Options{
Ja3:         "771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-23-65281-10-11-35-16-5-13-18-51-45-43-27-17513,29-23-24,0",
UserAgent:   "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.4896.127 Safari/537.36",
}, "GET")

Results returned by cycletls:

{
  "ja3": "771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-23-65281-10-11-35-16-5-13-18-51-45-43-27-17513,29-23-24,0",
  "ja3_hash": "e1d8b04eeb8ef3954ec4f49267a783ef",
  "akamai": "1:65536,3:1000,4:6291456,5:16384,6:262144|15663105|0|m,a,s,p",
  "akamai_hash": "c1375f42959bb1bf1ade5d15eed59ba6"
}

Results returned by actual chrome:

// 20220724150500
// https://tls.peet.ws/api/clean

{
  "ja3": "771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-23-65281-10-11-35-16-5-13-18-51-45-43-27-17513,29-23-24,0",
  "ja3_hash": "e1d8b04eeb8ef3954ec4f49267a783ef",
  "akamai": "1:65536,3:1000,4:6291456,6:262144|15663105|0|m,a,s,p",
  "akamai_hash": "7ad845f20fc17cc8088a0d9312b17da1"
}

Issue Type

Bug

Operating System

Windows 10

Node Version

Other

Golang Version

Go 16.x

Relevant Log Output

No response

Danny-Dasilva commented 1 year ago

I am aware of two bugs, one is that we are sending SETTINGS_MAX_FRAME_SIZE on chrome when we should not be and the second one is incorrect pseudo header order for firefox. I'll have fixes in the next release