Vether
04Module · Navigateur

Spoofing JavaScript : Canvas, WebGL, AudioContext, fonts

L'extension Antidetect intercepte 40+ APIs JavaScript pour retourner des valeurs spoofées cohérentes et stables par profil.

6 min de lecture·Mise à jour 2026-05-18

Le fingerprinting est la collecte de signaux distinctifs (Canvas hash, WebGL renderer, fonts installées, AudioContext bruit) qui, combinés, identifient votre navigateur de manière quasi-unique parmi des millions. L'extension Vether Antidetect intercepte ces APIs et retourne des valeurs spoofées stables par profil (pour éviter l'incohérence) et plausibles (pour ne pas être détecté comme spoofé).

Canvas API

Le test classique : un site dessine un texte spécifique sur un canvas invisible et lit le hash de l'image résultante. Les différences de rendering (anti-aliasing, sub-pixel positioning, GPU driver) produisent des hashes différents même entre deux PC identiques. Vether intercepte canvas.toDataURL() et getImageData() pour ajouter un bruit aléatoire stable par profil — invisible à l'œil nu, mais qui change le hash.

WebGL fingerprint

WebGL expose 3 valeurs critiques : VENDOR (Intel / NVIDIA / AMD), RENDERER (modèle GPU exact), et SHADING_LANGUAGE_VERSION. Vether spoofe ces 3 valeurs en restant cohérent avec le User-Agent (un UA macOS aura un renderer Apple GPU, pas une RTX 4090).

AudioContext fingerprint

Moins connu mais puissant : un site génère un signal audio synthétique et lit la sortie. Les différences de DAC matériel produisent un hash unique. Vether injecte un bruit gaussien sub-audible dans OfflineAudioContext.startRendering().

Fonts list

La liste des fonts installées est extrêmement identifiante (un user avec Adobe Creative Suite a 100+ fontes uniques). Vether retourne une liste fixée de fonts standard Windows/macOS/Linux selon le profil.

Autres APIs interceptées (35+)

  • navigator.hardwareConcurrency (nombre de cores CPU)
  • navigator.deviceMemory (RAM exposée en GB)
  • navigator.connection (effectiveType, downlink, rtt)
  • navigator.getBattery() (charge level, charging)
  • navigator.mediaDevices.enumerateDevices() (caméras, micros)
  • navigator.permissions.query() (geolocation, notifications)
  • navigator.maxTouchPoints (0 desktop, 5 mobile)
  • screen.width, screen.height, screen.colorDepth
  • window.devicePixelRatio
  • Intl.DateTimeFormat().resolvedOptions().timeZone
  • Intl.Locale (langue navigateur)
  • performance.now() (timing fingerprint — bruit léger)
  • Date.now() (synchro NTP du profil)
  • Et 22 autres...
💡
Tester votre fingerprint
Cliquez « Test fingerprint » dans l'onglet Navigateur. Vether ouvre amiunique.org, fingerprintjs.github.io et browserleaks.com dans le profil actif. Les 3 sites doivent retourner un score d'unicité élevé (= profil pas reconnu comme unique = bon spoofing).

Articles liés