Voici Cap : une alternative CAPTCHA Proof-of-Work privée, légère et open source.
Cap : Une alternative aux CAPTCHA basée sur la preuve de travail.
Description du projet
Cap est une alternative CAPTCHA légère, moderne et open-source qui s'appuie sur la preuve de travail SHA-256. Elle se veut une solution rapide, respectueuse de la vie privée et facile à intégrer pour vérifier l'authenticité des utilisateurs. Conçue pour remplacer les systèmes CAPTCHA existants, elle met l'accent sur la performance et l'expérience utilisateur. Cap est développée en JavaScript et fonctionne sur n'importe quel environnement d'exécution JS (Bun, Node.js, Deno). Pour les environnements non-JS, une image Docker autonome est disponible.
Elle se compose de deux parties principales :
- @cap.js/widget
: Une bibliothèque JavaScript pour afficher le CAPTCHA et résoudre les défis à l'aide de Web Workers et de WASM.
- @cap.js/server
: Une bibliothèque sans dépendances pour créer et valider les défis côté serveur.
Des paquets et fonctionnalités supplémentaires utiles incluent :
- @cap.js/solver
: Un solveur côté serveur pour les interactions machine-à-machine.
- @cap.js/cli
: Une interface en ligne de commande pour résoudre les CAPTCHA, principalement pour les tests ou les environnements sans support de navigation JavaScript.
- Mode autonome : Une image Docker offrant une API REST simple et une interface utilisateur interactive pour la création/validation des défis, permettant une utilisation avec n'importe quel langage/framework.
- @cap.js/wasm
: Solveurs WASM expérimentaux développés en Rust.
- Middleware de point de contrôle : Des bibliothèques comme @cap.js/checkpoint-hono
, @cap.js/checkpoint-express
et @cap.js/middleware-elysia
pour une expérience similaire aux points de contrôle de navigateur de Cloudflare.
Instructions d'utilisation
Cap peut être intégrée en utilisant ses bibliothèques JavaScript (@cap.js/widget
et @cap.js/server
) dans des environnements d'exécution JavaScript. Pour les environnements non-JavaScript, l'image Docker autonome fournit une API REST pour l'interaction. Des guides de démarrage rapide détaillés et une documentation complète sont disponibles via les liens du projet.
Caractéristiques clés
- Légèreté :
@cap.js/widget
ne pèse que 12 Ko une fois minifié et compressé avec Brotli, ce qui le rend 250 fois plus petit que hCaptcha. - Confidentialité : Utilise la preuve de travail, éliminant le besoin de suivi, d'empreintes numériques ou de collecte de données.
- Preuve de travail (PoW) : Emploie la PoW SHA-256, la rendant plus facile à résoudre pour les humains (en effectuant un petit calcul) et plus difficile pour les bots.
- Entièrement personnalisable : Auto-hébergeable, permettant la personnalisation du backend et du frontend, ou via des variables CSS.
- Mode autonome : Image Docker disponible pour une utilisation avec n'importe quel langage de programmation ou framework via une API REST simple.
- Mode invisible : Peut fonctionner de manière invisible en arrière-plan à l'aide d'une API JavaScript.
- Mode flottant : Le CAPTCHA reste caché jusqu'à ce qu'il soit explicitement nécessaire.
- Entièrement open-source : Sous licence Apache 2.0.
- Sans dépendances : Conçue en JavaScript sans dépendances externes pour les composants principaux.
- Compatibilité multi-runtime : Fonctionne sur Bun, Node.js, Deno.
- Conforme RGPD/CCPA : Sa conception axée sur la confidentialité est naturellement conforme à ces réglementations.
Utilisateurs cibles
Cap est idéal pour : - Les développeurs et organisations à la recherche d'une alternative CAPTCHA axée sur la confidentialité et la performance. - Les sites web et applications qui ont besoin de protéger leurs API contre les bots. - Les plateformes en ligne qui cherchent à prévenir le spam sur les formulaires. - Les services nécessitant le blocage des tentatives de connexion automatisées. - Les projets qui ont besoin de se sécuriser contre l'abus des offres gratuites.
Liens du projet
- Dépôt GitHub : https://github.com/tiagorangel1/cap
- Documentation/Site web : https://capjs.js.org/
Scénarios d'application
- Protection des API : Sécurisation des API REST contre les requêtes automatisées et les attaques de bots.
- Prévention du spam de formulaire : Implémentation de CAPTCHA sur les formulaires de contact, d'inscription et les sections de commentaires pour prévenir les soumissions de spam.
- Sécurité de la connexion : Ajout d'une couche de protection contre les attaques par force brute et les tentatives de connexion automatisées.
- Prévention de l'abus des offres gratuites : Atténuation de l'utilisation abusive des services gratuits ou des ressources limitées en garantissant une interaction humaine légitime.
- Points de contrôle de type Cloudflare : Utilisation des middlewares fournis pour créer des expériences de point de contrôle de navigateur pour une sécurité renforcée.