Tooluck logoTooluck
SKILL.md

tls-fingerprint-impersonation

Agent skill fromuphiago/recon-skills

Spoof TLS ClientHello and JA4 fingerprints for browser impersonation.

How to install tls-fingerprint-impersonation

install tls-fingerprint-impersonation
# install the recon-skills pack with the skills CLI
npx skills add uphiago/recon-skills

# or add only this skill to Claude Code: copy the folder

recon/tls-fingerprint-impersonation/

# into

~/.claude/skills/tls-fingerprint-impersonation/ (all projects)

.claude/skills/tls-fingerprint-impersonation/ (one project)

recon/tls-fingerprint-impersonation/SKILL.md

MITFull file
1# TLS Fingerprint Impersonation
2
3Spoof TLS ClientHello parameters — cipher suites, key exchange groups, signature algorithms, and extension order — to match real browsers at the JA3/JA4 fingerprint level. Uses patched rustls to rebuild the TLS layer with browser-identical configurations. Bypasses TLS fingerprinting detection (Cloudflare, Akamai, F5) that flags non-browser TLS stacks. Supports 20 browser profiles including Chrome 100-142, Firefox 128-144, Safari iOS 18, and OkHttp 3-5 (Android).
4
5## When to Use
6
7- Target returns 403/blocked on curl/httpx even with correct User-Agent headers.
8- Cloudflare or Akamai is fingerprinting TLS ClientHello (JA3/JA4 mismatch with browser).
9- API probing requires mobile-app impersonation (OkHttp fingerprint for Android).
10- Need high-throughput HTTP requests that pass TLS fingerprint checks without running a full browser.
11- Target shows different behavior based on TLS fingerprint (mobile vs desktop endpoints).
12
13## Prerequisites
14
15- `terminal` with python3.
16- Python: `pip install impit` (wraps the Rust library via PyO3).
17- Or Node.js: `npm install impit` (native binding).
18- Or Rust: `impit` crate with patched dependencies in Cargo.toml.
19
20## How to Run
21
22```bash
23# Check if a target blocks non-browser TLS
24curl --max-time 30 --connect-timeout 10 -sk https://target.com | head -1
25# If 403, test with browser impersonation:
26python3 -c "
27from impit import Impit
28impit = Impit.builder().with_fingerprint('chrome142').build()
29…

Excerpt shown under the repository's MIT license.

More skills in recon-skills

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates