CycleTLS icon indicating copy to clipboard operation
CycleTLS copied to clipboard

Changing JA3 & UserAgent doesn't change akamai hash

Open 64chevy opened this issue 1 year ago • 7 comments

Description

I have tested with 20+ different ja3 & their respective user agents with a new residential proxy everytime. I always get the same akamai_hash & akamai_text from (https://tls.peet.ws/api/all & https://tls.browserleaks.com/json).

akamai values should be different if we change all these 3 things right? Is there any way to resolve this?

Issue Type

Bug

Operating System

Mac OS

Node Version

None

Golang Version

Other

Relevant Log Output

No response

64chevy avatar Feb 06 '24 18:02 64chevy

because akamai_fingerprint and akamai_fingerprint_hash use WINDOW_UPDATE, PRIORITY and other data, akamai_fingerprint and akamai_fingerprint_hash don't use ciphers, extensions

lif0 avatar Feb 09 '24 20:02 lif0

Yeah, its bassed on SETTINGS, WINDOW_UPPDATE & PRIORITY frames. Is there a way to modify it? No point of changing ja3 if the akamai hash remains same.

64chevy avatar Feb 10 '24 00:02 64chevy

I'm planning on adding a way to configure this, akamai will typically use the akamai hash in conjunction with a ja3 to do validation. If you're wondering why changing the ja3 isn't changing the akamai hash that is because CycleTLS parses the User-Agent to determine SETTINGS, WINDOW_UPDATE & PRIORITY frames.

Danny-Dasilva avatar Feb 17 '24 04:02 Danny-Dasilva

I'll add configuration options for this but currently we determine what we send based on Chrome/Firefox User agents.

https://github.com/Danny-Dasilva/CycleTLS/blob/4184f73d94b8be9ccd9ce45f43a1b8cef3b5f46a/cycletls/utils.go#L28-L38

Danny-Dasilva avatar Feb 17 '24 04:02 Danny-Dasilva

I'll add configuration options for this but currently we determine what we send based on Chrome/Firefox User agents.

https://github.com/Danny-Dasilva/CycleTLS/blob/4184f73d94b8be9ccd9ce45f43a1b8cef3b5f46a/cycletls/utils.go#L28-L38

hello bro thanks for everything, please add ability to customize HTTP2 data like header_table_size and window_size, etc

there is a library that already implemented http2 spoofing: https://github.com/Noooste/azuretls-client you can use their code, theyre based on utls as well

p.s please give me your discord bro so i can send you everything i have

dr3adx avatar Feb 23 '24 17:02 dr3adx

@Danny-Dasilva bro? check comment above

dr3adx avatar Mar 08 '24 08:03 dr3adx

@dr3adx

p.s please give me your discord bro so i can send you everything i have discord is danny_dasilva also feel free to join the cycletls discord server https://discord.gg/gsmxMHrwhu

Danny-Dasilva avatar Aug 10 '24 20:08 Danny-Dasilva