feat: add new OkHTTP fingerprints #416
Merged
barjin merged 6 commits intoapify:masterfrom Mar 26, 2026
Merged
Conversation
- Add okhttp3 preset: TLS 1.2 only, CBC/RSA cipher suites, 9 extensions - Add okhttp5 preset: same TLS as okhttp4, different user-agent - Wire impit's extension_order to rustls's contiguous_extensions for deterministic TLS extension ordering (fixes JA3 hash randomization) - Restrict to TLS 1.2 when fingerprint has supported_versions: false - Point rustls patch to yfe404/rustls fork with extension_order support - Update Node.js and Python bindings with new browser variants
…order feat: OkHttp 3/5 presets + deterministic TLS extension ordering
barjin
commented
Mar 19, 2026
| .iter() | ||
| .filter_map(|ext| { | ||
| match ext { | ||
| ExtensionType::ServerName => Some(RustlsExtType::ServerName), |
Member
Author
There was a problem hiding this comment.
This is not necessary for now, but perhaps we could unify the enums somehow (use the rustls enum here?), so we don't have this duplicity. wdyt, does it make sense?
Contributor
There was a problem hiding this comment.
Agreed, the 1:1 mapping seem is redundant. Worth refactoring later imo
…lify TLS version branching - Point rustls dependency back to apify/rustls at merged commit - Wire supported_versions through to TlsExtensionsConfig so OkHttp 3's false value flows to rustls for extension suppression - Collapse 3 ClientConfig branches into 2 by extracting protocol_versions
… fields The previous rustls rev (c908559) was missing the supported_versions and extension_order fields on TlsExtensionsConfig, causing compilation failures. Updated to impit-main HEAD (d19ecc2b) which includes both the aws-lc-rs bump and the extension ordering feature.
yfe404
added a commit
to yfe404/proxy-mcp
that referenced
this pull request
Mar 27, 2026
Picks up apify/impit#416 which adds okhttp3, okhttp4, and okhttp5 browser presets. Closes #8.
Member
Author
|
Released in 0.13.0. |
Contributor
|
Thanks @barjin :) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds profiles for emulating the fingerprints of the OkHTTP library (JVM / Android HTTP client).
Closes #411