Aller au contenu
Identités · profils · persistance

Une identité de navigateur par compte

Un compte qui se connecte depuis une nouvelle machine à chaque fois se remarque, tout comme deux comptes qui en partagent une. Clearcote donne à chaque compte sa propre seed : il revient comme le même appareil à chaque session, tandis que le compte suivant ressemble à une autre machine.

Les identités à seed sont incluses dans toutes les formules. Pour en exécuter plusieurs à la fois, il faut Pro ou le build ouvert.

Une seed et un répertoire de profil par compte

import { launchPersistentContext } from "clearcote";

// one seed and one user-data directory per account
const ctx = await launchPersistentContext("./profiles/account-42", {
  fingerprint: "account-42",
  proxy: { server: "http://gateway:8080", username: "u", password: "p" },
  geoip: true,
});

Points clés

Même seed, même appareil

Réutilisez une seed et le persona revient à l'identique : même GPU, même écran, même gamme de matériel et mêmes polices. Il n'y a rien à stocker ; la seed est l'identité.

Nouvelle seed, autre machine

Les relectures canvas et WebGL varient selon la seed et selon le site : deux comptes ne partagent pas une même empreinte de rendu.

Un état qui persiste

Un contexte persistant conserve les cookies, le localStorage, IndexedDB et le cache d'une exécution à l'autre, comme un vrai profil de navigateur.

Un proxy par identité

Associez chaque identité à sa propre sortie et à geoip : son fuseau horaire et sa langue suivent ainsi cette IP à chaque fois.

Des profils enregistrés dans le code

Profile stocke la seed, le proxy et les options de lancement en JSON sous ~/.clearcote/profiles : un script lance ainsi un compte par son nom.

Une application de bureau pour le travail manuel

Le Profile Manager crée, étiquette et lance des profils sous forme de fenêtres de navigateur normales, chacun avec son propre proxy et son propre stockage.

Ce qui fait une identité

Deux choses font une identité : ce que le navigateur déclare et ce dont il se souvient. La seed couvre la première, de façon déterministe. Un répertoire de données utilisateur, ou un profil hébergé, couvre la seconde : les cookies, le stockage des sites et tout ce que transporte un visiteur qui revient.

Sachez ce qui sépare les identités et ce qui ne les sépare pas. Canvas et WebGL séparent les comptes. L'audio rendu et les client rects, non : ils viennent de la machine sous-jacente et sont identiques pour toutes les identités qui y tournent, exactement comme pour deux personnes sur un matériel identique. Si un site fait des corrélations sur ces valeurs, la réponse passe par des machines distinctes, pas par un autre switch.

Un profil d'appareil importé modifie les valeurs que lit une page, pas la façon dont les pixels sont rendus : deux comptes sur deux profils d'une même machine dessinent donc toujours le même canvas. Pour séparer le rendu, utilisez une seed par compte sans profil, et ne combinez pas une seed avec un profil.

Où conserver les identités

OutilCe qu'il stockeIdéal pour
Contexte persistant du SDKUn répertoire de données utilisateur par compteLes scripts sur vos propres machines
Profile du SDKSeed, proxy et options de lancement en JSONLancer des comptes par leur nom depuis le code
Profile ManagerUn répertoire de données par profil, plus proxy, tags et notesPiloter des identités à la main dans une fenêtre
Profils hébergésCookies, localStorage et IndexedDB, chiffrésDes sessions cloud qui démarrent déjà connectées

Cas d'usage

Agences

Gardez les connexions de chaque client sur sa propre identité, pour que les sessions d'un client ne se mélangent jamais avec celles d'un autre.

Gestion de boutiques en ligne

Gérez des boutiques ou des régions distinctes sans que leurs sessions déteignent les unes sur les autres.

QA avec de nombreux utilisateurs de test

Gérez des dizaines de comptes de test connectés, chacun sur un appareil stable.

Recherche longitudinale

Revisitez les mêmes pages depuis le même appareil pendant des semaines et mesurez ce qui change.

Clearcote est conçu pour la confidentialité, les tests, la recherche et l'automatisation licite. Vous êtes responsable de l'usage que vous en faites et du respect des conditions d'utilisation des sites que vous visitez.

Le diff

38 921 lignes entre Chromium d'origine et Clearcote Pro.

C'est l'écart entre le build Pro et le Chromium livré par Google. Chaque valeur qu'un site peut lire est définie là où Chromium la calcule, si bien que la page, ses workers et ses iframes décrivent tous le même appareil.

  • Canvas
  • WebGL
  • WebGPU
  • Audio
  • Polices
  • Écran et fenêtre
  • WebRTC
  • TLS
  • Client hints
  • Timing des saisies
  • Voix et codecs
Lire les patchs du build ouvert sur GitHub

Build Pro, compté sur sa pile de patchs r57 (Chromium 156.0.8078.47). Le build ouvert gratuit est un ensemble de patchs plus restreint et public.

Chromium 156.0.8078.47 → Clearcote Pro r57

345 files changed, 35915 insertions(+), 3006 deletions(-)

240 patchs

Fichiers modifiés, par domaine

  • Moteur de rendu (Blink)118
  • Navigateur (chrome/)52
  • Couche content42
  • Composants39
  • Pile réseau22
  • Interface et fenêtres14
  • TLS (BoringSSL)11
  • V8 et URL17
  • Tout le reste30

Offres qui l'incluent

Les identités à seed et les contextes persistants sont inclus dans toutes les formules. L'offre Gratuit avec GitHub exécute un navigateur à la fois : pour faire tourner plusieurs identités simultanément sur le dernier build, il faut Pro.

Comparer les offres

FAQ

Comment éviter que des comptes soient reliés entre eux ?

Donnez à chacun sa propre seed, son propre répertoire de profil persistant et son propre proxy, avec geoip activé. Ne partagez ni cookies ni stockage entre eux, et ne changez pas la seed d'un compte.

Faut-il changer d'empreinte à chaque session ?

Non. Un compte connecté qui arrive sur un nouvel appareil à chaque visite est un signal plus fort que n'importe quelle valeur que vous feriez tourner. Gardez une seule seed pendant toute la vie du compte.

Quelle différence entre une seed et un profil d'appareil ?

Une seed dérive tout un persona synthétique ainsi que le bruit canvas et WebGL par site. Un profil d'appareil substitue les valeurs exactes déclarées par un vrai Chrome, mais le rendu vient toujours de votre machine. Utilisez l'un ou l'autre : une seed combinée à un profil active la couche de bruit et fait que certains champs du profil ne s'appliquent que partiellement.

Puis-je gérer des profils sans écrire de code ?

Oui. Le Profile Manager est une application de bureau qui crée, organise et lance des profils sous forme de fenêtres de navigateur normales, chacun avec un proxy et un stockage persistant.

Est-il permis d'utiliser plusieurs comptes ?

Cela dépend des conditions d'utilisation de chaque site et de la loi là où vous vous trouvez, pas du navigateur. Clearcote est conçu pour la confidentialité, les tests, la recherche et l'automatisation légale, et vous êtes responsable de l'usage que vous en faites.

Aller plus loin dans la documentation

Fonctionnalités associées

Essayer Clearcote

S'utilise tel quel avec Playwright et Puppeteer, cohérent jusqu'au handshake TLS, avec un build open source comme point de départ.

Gratuit pour un navigateur : GitHub, une vérification de carte ou un compte Google d'entreprise. Jamais débité.