Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changing JA3 & UserAgent doesn't change akamai hash #324

Open
64chevy opened this issue Feb 6, 2024 · 7 comments
Open

Changing JA3 & UserAgent doesn't change akamai hash #324

64chevy opened this issue Feb 6, 2024 · 7 comments
Assignees
Labels
Selected for Development This feature will be implemented

Comments

@64chevy
Copy link

64chevy commented Feb 6, 2024

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 64chevy added the triage This ticket will be looked at shortly label Feb 6, 2024
@lif0
Copy link
Contributor

lif0 commented Feb 9, 2024

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

@64chevy
Copy link
Author

64chevy commented Feb 10, 2024

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.

@Danny-Dasilva
Copy link
Owner

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
Copy link
Owner

Danny-Dasilva commented Feb 17, 2024

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

func parseUserAgent(userAgent string) UserAgent {
switch {
case strings.Contains(strings.ToLower(userAgent), "chrome"):
return UserAgent{chrome, []string{":method", ":authority", ":scheme", ":path"}}
case strings.Contains(strings.ToLower(userAgent), "firefox"):
return UserAgent{firefox, []string{":method", ":path", ":authority", ":scheme"}}
default:
return UserAgent{chrome, []string{":method", ":authority", ":scheme", ":path"}}
}
}

@Danny-Dasilva Danny-Dasilva added Selected for Development This feature will be implemented and removed triage This ticket will be looked at shortly labels Feb 17, 2024
@dr3adx
Copy link

dr3adx commented Feb 23, 2024

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

func parseUserAgent(userAgent string) UserAgent {
switch {
case strings.Contains(strings.ToLower(userAgent), "chrome"):
return UserAgent{chrome, []string{":method", ":authority", ":scheme", ":path"}}
case strings.Contains(strings.ToLower(userAgent), "firefox"):
return UserAgent{firefox, []string{":method", ":path", ":authority", ":scheme"}}
default:
return UserAgent{chrome, []string{":method", ":authority", ":scheme", ":path"}}
}
}

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
Copy link

dr3adx commented Mar 8, 2024

@Danny-Dasilva bro? check comment above

@Danny-Dasilva
Copy link
Owner

@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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Selected for Development This feature will be implemented
Projects
None yet
Development

No branches or pull requests

4 participants