Expand description
TLS fingerprint profile types with JA3/JA4 representation.
Provides domain types for modelling real browser TLS fingerprints so that automated sessions present cipher-suite orderings, extension lists, and ALPN preferences that match genuine browsers.
§Built-in profiles
Four static profiles ship with real-world TLS parameters:
| Profile | Browser |
|---|---|
CHROME_131 | Google Chrome 131 |
FIREFOX_133 | Mozilla Firefox 133 |
SAFARI_18 | Apple Safari 18 |
EDGE_131 | Microsoft Edge 131 |
§Example
use stygian_browser::tls::{CHROME_131, TlsProfile};
let profile: &TlsProfile = &*CHROME_131;
assert_eq!(profile.name, "Chrome 131");
let ja3 = profile.ja3();
assert!(!ja3.raw.is_empty());
assert!(!ja3.hash.is_empty());
let ja4 = profile.ja4();
assert!(ja4.fingerprint.starts_with("t13"));Structs§
- Cipher
Suite Id - TLS cipher-suite identifier (IANA two-byte code point).
- Ja4
- JA4 TLS fingerprint — the modern successor to JA3.
- Ja3Hash
- JA3 TLS fingerprint — raw descriptor string and its MD5 hash.
- Signature
Algorithm - TLS signature algorithm identifier (IANA two-byte code point).
- TlsExtension
Id - TLS extension identifier (IANA two-byte code point).
- TlsProfile
- A complete TLS fingerprint profile matching a real browser’s
ClientHello.
Enums§
- Alpn
Protocol - ALPN protocol identifier negotiated during the TLS handshake.
- Supported
Group - Named group (elliptic curve / key-exchange group) identifier.
- TlsVersion
- TLS protocol version.
Statics§
- CHROME_
131 - Google Chrome 131 TLS fingerprint profile.
- EDGE_
131 - Microsoft Edge 131 TLS fingerprint profile.
- FIREFOX_
133 - Mozilla Firefox 133 TLS fingerprint profile.
- SAFARI_
18 - Apple Safari 18 TLS fingerprint profile.
Functions§
- chrome_
tls_ args - Return Chrome launch flags that constrain TLS behaviour to approximate this profile’s protocol-version range.