Tutorials

Migrer de NopeCHA vers l'extension CaptchaAI

Périmètre sûr : ce guide s'applique exclusivement à vos propres applications, environnements de QA, de préproduction ou de production, ou à des systèmes pour lesquels vous disposez d'une autorisation écrite. Il ne décrit ni l'automatisation de sites tiers, ni le contournement de protections, ni l'évasion d'un anti-bot.

Migrer de NopeCHA vers l'extension CaptchaAI se résume à reproduire un workflow de navigateur stable, pas à cocher une case une seule fois. Quatre éléments décident de la réussite de la bascule : l'état du compte, le profil de navigateur, le gestionnaire de CAPTCHA sélectionné et le comportement de la page une fois le token appliqué.

Ce qui change concrètement en passant de NopeCHA à CaptchaAI

Les deux extensions résolvent des CAPTCHA ; la différence tient au modèle opérationnel. CaptchaAI expose une API unique et facture au thread plutôt qu'à la résolution :

  • Familles couvertes : reCAPTCHA v2 et v3, Cloudflare Turnstile et Challenge, GeeTest v3, CAPTCHA image/OCR et grilles d'images.
  • Facturation au thread : le plan BASIC ($15/mois, 5 threads) inclut des résolutions illimitées par thread ; vous augmentez la capacité en ajoutant des threads.
  • À vérifier avant de basculer : hCaptcha et FunCaptcha (Arkose Labs) ne sont pas pris en charge, et GeeTest v4 est annoncé « à venir ».

Préparer un environnement isolé

Avant d'écrire la moindre ligne, mettez en place trois garde-fous :

  • Isolez l'environnement de QA de la production.
  • Stockez la clé CaptchaAI dans un coffre ou un secret CI, jamais en clair dans le code.
  • Chargez un profil de navigateur dédié et persistant par environnement, pour ne pas mélanger cookies et état de session.

Encapsuler l'appel à l'API CaptchaAI

Isolez l'appel à CaptchaAI dans une fonction réutilisable. Son contrat reste simple :

  • en entrée, la sitekey et l'URL de la page de votre propre application ;
  • en sortie, un token, avec la durée d'appel et le code retour tracés.

Exemple : créer une tâche Turnstile en Node.js

Voici une fonction qui soumet une tâche et récupère son identifiant :

import fetch from 'node-fetch';

const API_KEY = process.env.CAPTCHAAI_KEY;

export async function createTurnstileTask(siteKey, pageUrl) {
  const res = await fetch('https://api.captchaai.com/createTask', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      clientKey: API_KEY,
      task: {
        type: 'TurnstileTaskProxyless',
        websiteURL: pageUrl,
        websiteKey: siteKey,
      },
    }),
  });
  const data = await res.json();
  return data.taskId;
}

Le même contrat se transpose vers Python ou Go ; seul le type de tâche change.

Vérifier le token côté backend

Le token retourné doit être vérifié par votre propre backend avant toute opération métier : cette étape bloque toute requête fondée sur un token périmé ou contrefait. Appliquez toujours le token dans la même session que celle qui a déclenché le défi — même contexte de navigateur, même client HTTP, même jar de cookies. Une session incohérente est la cause la plus fréquente de rejet après résolution.

Observabilité et journalisation

Instrumentez les appels CAPTCHA pour obtenir des métriques exploitables : durée d'obtention du token, code retour HTTP et identifiant de tâche. Ces signaux distinguent deux mesures trop souvent confondues : la réussite de la résolution et celle du workflow complet.

Séparez les journaux par environnement et corrélez les identifiants à votre traçage distribué (OpenTelemetry, par exemple) pour rejouer un scénario à partir d'un seul identifiant. Si vos logs contiennent des données de formulaires réels, minimisez les données personnelles et vérifiez vos obligations RGPD avant conservation, même si le worker tourne sur une région européenne comme eu-west-3 (Paris).

Liste de contrôle avant la mise en production

  • Le périmètre est strictement limité à vos propres applications ou à des sources autorisées.
  • La clé CaptchaAI est stockée dans un secret CI ou un coffre, jamais dans le code source.
  • NopeCHA est désactivé sur le profil de test pour éviter que deux extensions ne traitent le même défi.
  • Les durées d'appel et les codes retour sont tracés pour chaque exécution.
  • Une stratégie de retry idempotent, avec backoff exponentiel borné, gère les erreurs transitoires.
  • Les tests sont rejouables et reproductibles depuis votre intégration continue.

FAQ

Faut-il désinstaller NopeCHA avant d'installer l'extension CaptchaAI ?

Pas obligatoirement, mais désactivez NopeCHA sur le profil de navigateur qui exécute vos tests. Deux extensions actives sur la même page peuvent traiter le même défi en parallèle et fausser vos mesures.

L'extension CaptchaAI fonctionne-t-elle avec un profil de navigateur persistant ?

Oui, et c'est même recommandé. Un profil persistant par environnement conserve l'état de session et les cookies entre les exécutions, au plus près du comportement réel des utilisateurs.

CaptchaAI prend-il en charge hCaptcha comme certaines configurations NopeCHA ?

Non — hCaptcha n'est pas pris en charge, pas plus que FunCaptcha (Arkose Labs). CaptchaAI couvre reCAPTCHA v2 et v3, Cloudflare Turnstile et Challenge, GeeTest v3, ainsi que les CAPTCHA image/OCR et les grilles d'images. GeeTest v4 est annoncé « à venir ».

Quel plan CaptchaAI choisir pour démarrer la migration ?

Commencez par le plan BASIC ($15/mois, 5 threads), qui inclut des résolutions illimitées par thread. La facturation étant au thread et non à la résolution, vous augmentez la capacité en ajoutant des threads.

Guides connexes

Fiabilisez vos workflows CAPTCHA avec une approche méthodique et reproductible. – Obtenez votre clé CaptchaAI.

Les commentaires sont désactivés pour cet article.