XOR-op / ja-tools

Library for parroting JA3/JA4 TLS fingerprints with rustls.
MIT License
2 stars 0 forks source link
cipher-suites clienthello fingerprinting obfuscation parrot tls tls-extension

ja-tools

A high-level implementation of ClienHelloOverride from patched rustls, as well as JA3/JA4 support.

What This Crate Does

Version Support

We use the forked version of rustls with necessary modifications. Every rustls version has a corresponding branch in the forked repository. See the next section for more details.

How to Use

Because this crate relies on the patched rustls, it's impossible to directly use it from crates.io. Instead, you need to use it by adding the following to your Cargo.toml:

ja-tools = { git = "https://github.com/XOR-op/ja-tools.git", branch = "main" }

and add the following to your root Cargo.toml of the workspace (if you have only one Cargo.toml file, add there):

[patch.crates-io]
rustls = { git = "https://github.com/XOR-op/rustls.delta.git", branch = "v0.23.12" }

Adding these will resolve all the same version rustls in the direct or indirect dependencies to the patched crate. If a different version of rustls is used by one dependency, this crate will not work on that particular dependency.

[^1]: Overriding Dependencies from Cargo Book

License

This project is licensed under the MIT License.