
Documenter les composants internes de l'agent commercial de Fingerprint Pro, et non la bibliothèque open-source FingerprintJS.
143 signaux nommés. Le bundle dépaqueté. Le format filaire décodé.
Exécutez-le dans votre navigateur · Lire la documentation · Carte des signaux · Sources des collecteurs
| 143 signaux, un par ligne | surfaces touchées, codes de statut, constantes comparées, forme des valeurs |
| L'agent, lisible | noms CRC32 résolus, tables déchiffrées, wrappers repliés, liaisons renommées, épinglé par hachage |
| Chaque collecteur dans son propre fichier | un signal plus uniquement les helpers qu'il atteint, au lieu d'un bundle de 200 Ko |
| Les collecteurs, exécutables | collect, buildPayload, frame, send depuis une console. Sans agent, sans réseau |
| Format filaire, de bout en bout | JSON en octets, deflate-raw au-delà de 1024, scellé avec une clé embarquée dans la trame |
Ce dont visitor_id est fonction | 7 champs brisent à eux seuls une correspondance, s56 est un bearer token, pas une empreinte |
L'ensemble du dépôt est publié sur
proofofbots.github.io/fingerprint-pro-internals :
le guide, chaque carte générée sous forme de tableau filtrable, les 143 sources de collecteurs avec
coloration syntaxique, et l'explorateur interactif. npm run site le construit dans
docs/, qui est ce que GitHub Pages sert depuis main. Ouvrez docs/index.html via HTTP
pour prévisualiser une compilation en local.
npm install
npm run fetch # download the pinned bundle, verify its hash
npm run all # deobfuscate, verify, regenerate every map
npm run site # rebuild the documentation site into docs/
npm run capture # serve the capture page, open it once per browser
Pour lire plutôt qu'exécuter, commencez par la carte des signaux pour l'inventaire et les sources des collecteurs pour le code derrière chaque signal.
Pour observer l'agent sur un site en direct, collez spy/fpspy.js dans DevTools.
Pour exécuter les collecteurs sans agent et sans réseau, ouvrez
l'explorateur, ou servez le
dépôt et ouvrez collector/index.html pour le tableau brut.
Tout ceci décrit une compilation épinglée : jsl/4.0.0, sha256 250c7dfe…, récupérée le 2026-08-07.
Le tenant publie de nouvelles compilations et les chemins changent. npm run fetch vérifie la
référence épinglée et npm run diff indique ce qui a changé.
sources qui fait
correspondre l'identifiant filaire au collecteur, si bien que la carte reprend les libellés
de l'agent, et non des libellés attribués. 143 identifiants, dont 4 planifiés en premier parce
qu'ils sont lents.
01-architecture,
04-collections56, le blob que le serveur émet sur la branche GET et que le client rejoue, est un bearer
token. Tout payload portant un jeton lié répond en tant que ce visiteur, peu importe ce que
rapporte l'appareil. Lorsqu'il est vide, sept champs brisent à eux seuls la correspondance
d'identité, et le reste tient jusqu'à ce que six groupes d'entre eux bougent en même temps.
06-identityvisitor_id est fonctionLe bundle fourni n'est pas redistribué ici. agent/agent.clean.js est un travail dérivé : le même
programme avec l'obfuscation supprimée et toutes les liaisons renommées. agent/pin.json contient
le hachage de l'original afin que chacun puisse le récupérer et vérifier.
Les captures et les fichiers de preuve sont des exécutions contre le tenant de démonstration public de Fingerprint avec sa clé API publique. Les entrées de stockage tierces, les sessions proxy et les adresses IP sont supprimées avant que quoi que ce soit n'atterrisse dans l'arborescence, et les trames stockées sont reconstruites à partir des payloads publiés plutôt que conservées telles qu'envoyées.
Domaine public, Unlicense. Utilisez-le comme bon vous semble, partout, à des fins commerciales ou non, sans aucune attribution requise.
« Fingerprint » et la marque fingerprint sont des marques déposées de Fingerprint. Ce projet est non officiel et sans affiliation, approbation ni soutien de leur part, et le logo ci-dessus est un dérivé de leur marque utilisé pour identifier ce qui est documenté ici.
Contact, y compris pour les demandes de retrait et les questions juridiques : [email protected]
| répertoire | ce qu'il contient |
|---|
docs/ | l'analyse, plus le site généré que GitHub Pages sert |
agent/ | le bundle et le worker désobfusqués, les tables de chaînes déchiffrées, la référence épinglée |
reference/ | cartes générées : signaux, slices, schéma, enveloppe, codes, endpoints, observé |
collector/ | fp-collect.js, les collecteurs et le codec réunis en un module simple |
site/ | source du site généré |
spy/ | le script d'instrumentation DevTools |
captures/ | trois captures navigateur de la compilation épinglée |
profiles/ | un profil d'appareil qui se compile en un payload |
evidence/ | les lignes brutes derrière les conclusions sur l'identité et l'attribution |
tools/ | la chaîne d'outils, une tâche par fichier |
artifacts/ | tout ce qui est généré et qui n'est pas versionné |