ports/

directory
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 4, 2026 License: MIT

README

Cross-language ports

testvectors.json

Conformance vectors every implementation must reproduce exactly. Regenerate with:

go run ./ports/gen

The generator asserts each value against the captured ground truth before writing the file, so a mismatch fails loudly instead of baking in a wrong vector. It covers:

  • K (MurmurHash3 x64-128) across several seeds
  • f and ife_hash over the ground-truth fe array
  • webgl_hash_webgl and network_info_rtt_type for two GPUs, plus the exact hash input string
  • screen_pixel_depth factor and the jsHeapSizeLimit table

python/ and node/

Both ports are complete and reach sup=1 against a live deployment. Neither is published to PyPI/npm yet.

Python Node
conformance 162 checks pass 163 checks pass
live solve sup=1 sup=1
key extraction ~0.12 s ~0.03 s
transport curl_cffi node-tls-client

Run them with python tests/conformance.py and npm test.

The blocker worth knowing

Arkose reads the TLS fingerprint (JA3/JA4), so neither transport can be pure. curl_cffi is C-backed and node-tls-client is Go-backed; the Go implementation remains the reference.

What each port covers
Module Python Node
MurmurHash3 x64-128, f, ife_hash hashes.py hashes.js
webgl fields, hash, network_info_rtt_type webgl.py webgl.js
the reversed hashes (f58835f, speech, codecs, …) derived.py derived.js
RSA key recovery from api.js vmkey.py vmkey.js
device sampling, jsHeapSizeLimit devices.py devices.js
91-field enhanced_fp assembly bda.py bda.js
RSA-OAEP + AES-GCM envelope crypto.py crypto.js
transport solver.py solver.js

Per-port usage docs are in python/README.md and node/README.md.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL