├── .gitignore ├── upd_toc.sh ├── .github └── ISSUE_TEMPLATE │ └── new-integration.md ├── package.json └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/* 2 | -------------------------------------------------------------------------------- /upd_toc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #markdown-toc -i README.md 3 | node node_modules/markdown-toc/cli.js -i README.md 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/new-integration.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: New Integration 3 | about: Report a new Integration 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Reminder: issues in this report are not for general support** 11 | Email support@hcaptcha.com if you need integration help. 12 | 13 | **Frontend, Backend, or Other?** 14 | 15 | **What is the name of the library or platform?** 16 | 17 | **Link to the code or docs** 18 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hcaptcha-integrations-list", 3 | "version": "1.0.0", 4 | "description": "A list of all known hCaptcha integrations and tutorials", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/hCaptcha/hcaptcha-integrations-list.git" 12 | }, 13 | "keywords": [ 14 | "hcaptcha" 15 | ], 16 | "author": "hCaptcha ", 17 | "license": "MIT", 18 | "bugs": { 19 | "url": "https://github.com/hCaptcha/hcaptcha-integrations-list/issues" 20 | }, 21 | "homepage": "https://github.com/hCaptcha/hcaptcha-integrations-list#readme", 22 | "dependencies": { 23 | "markdown-toc": "^1.2.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # hCaptcha integrations list 2 | A collection of all known integration packages for hCaptcha. 3 | 4 | **This is a community-maintained list.** Added or found another one? Open a PR to submit it! 5 | 6 | Instructions: run `npm install`, edit README.md, then run `./upd_toc.sh` to re-create the TOC. 7 | (Please maintain alpha-sort order.) 8 | 9 | ## Table of Contents 10 | 11 | 12 | 13 | - [Frontend](#frontend) 14 | * [JavaScript](#javascript) 15 | + [All via WebComponents](#all-via-webcomponents) 16 | + [Angular](#angular) 17 | + [Ember.js](#emberjs) 18 | + [Plain JS reference](#plain-js-reference) 19 | + [Preact](#reactjs) 20 | + [ReactJS](#reactjs) 21 | + [Vanilla JS (use with Angular, Vue, etc)](#vanilla-js-use-with-angular-vue-etc) 22 | + [Vue JS](#vue-js) 23 | + [SolidJS](#solidjs) 24 | - [Backend](#backend) 25 | * [AdonisJS middleware](#adonisjs-middleware) 26 | * [Cloudflare Worker siteverify](#cloudflare-worker-siteverify) 27 | * [curl](#curl) 28 | * [Elixir](#elixir) 29 | * [Firebase App Check (hCaptcha as Custom Provider)](#firebase-app-check-hcaptcha-as-custom-provider) 30 | * [Go middleware](#go-middleware) 31 | * [Go-hCaptcha](#go-hcaptcha) 32 | * [Keycloak](#keycloak) 33 | * [Java](#java) 34 | * [Laravel](#laravel) 35 | * [NestJS](#nestjs) 36 | * [Next.js API Routes](#nextjs-api-routes) 37 | * [node.js](#nodejs) 38 | * [Plain PHP](#plain-php) 39 | * [Python: Django](#python-django) 40 | * [Python: Django + Crispy](#python-django--crispy) 41 | * [Python: Flask](#python-flask) 42 | * [Ruby/Rails](#rubyrails) 43 | * [Rust](#rust) 44 | - [Serverless Backend](#serverless-backend) 45 | * [Cloudflare: Rust](#cloudflare-rust) 46 | * [Cloudflare: JS](#cloudflare-js) 47 | * [Fastly: Rust](#fastly-rust) 48 | - [Native Integrations: CMS platforms](#native-integrations-cms-platforms) 49 | * [MyBB](#mybb) 50 | * [XenForo](#xenforo) 51 | * [Oracle Recruiting Cloud](#oracle-recruiting-cloud) 52 | 53 | - [Plugins](#plugins) 54 | * [Craft CMS](#craft-cms) 55 | + [Freeform Plugin](#freeform-plugin) 56 | * [Drupal](#drupal) 57 | * [Invision Community](#invision-community) 58 | * [Joomla](#joomla) 59 | + [Joomla RSForm!Pro Plugin](#joomla-rsformpro-plugin) 60 | * [Magento](#magento) 61 | * [MediaWiki](#mediawiki) 62 | * [OXID eShop](#oxid-eshop) 63 | * [phpBB](#phpbb) 64 | * [Plone](#plone) 65 | + [Volto Form Block](#volto-form-block) 66 | * [SMF](#smf) 67 | * [Silverstripe](#silverstripe) 68 | * [Symfony](#symfony) 69 | * [Typo3](#typo3) 70 | * [Umbraco](#umbraco) 71 | + [UmbracoForms.uCaptcha](#umbracoformsucaptcha) 72 | * [Vanilla Forums](#vanilla-forums) 73 | * [WordPress](#wordpress) 74 | + [WordPress WPForms Plugin](#wordpress-wpforms-plugin) 75 | + [WordPress Ninja Forms Plugin](#wordpress-ninja-forms-plugin) 76 | * [XenForo](#xenforo-1) 77 | * [Kentico Xperience](#kentico-xperience) 78 | - [Chat protection bots](#chat-protection-bots) 79 | + [Honk](#honk) 80 | * [Telegram](#telegram) 81 | - [Mobile apps](#mobile-apps) 82 | * [iOS](#ios) 83 | * [Android](#android) 84 | * [React Native](#react-native) 85 | * [Flutter](#flutter) 86 | - [Access Management Platforms](#access-management-platforms) 87 | * [ForgeRock](#forgerock) 88 | - [More](#more) 89 | * [.NET and ASP.NET Core](#net-and-aspnet-core) 90 | * [RoundCube](#roundcube) 91 | * [Salesforce VFP (Aura)](#salesforce-vfp-aura) 92 | 93 | 94 | 95 | ## Frontend 96 | 97 | ### JavaScript 98 | 99 | #### All via WebComponents 100 | [vanilla-hcaptcha](https://github.com/hCaptcha/vanilla-hcaptcha) 101 | 102 | #### Angular 103 | See also: the [vanilla-hcaptcha](https://github.com/hCaptcha/vanilla-hcaptcha) WebComponent, which supports Angular. 104 | 105 | [hCaptcha Component Library for Angular](https://github.com/leNicDev/ng-hcaptcha) 106 | 107 | #### Ember.js 108 | [hCaptcha Component Library for Ember.js](https://github.com/sinankeskin/ember-h-captcha) 109 | 110 | #### Plain JS reference 111 | See also: the [vanilla-hcaptcha](https://github.com/hCaptcha/vanilla-hcaptcha) WebComponent. 112 | 113 | [Official docs](https://docs.hcaptcha.com/) 114 | 115 | #### ReactJS 116 | [hCaptcha Component Library for ReactJS](https://github.com/hCaptcha/react-hcaptcha) 117 | 118 | Note: also supports Preact. 119 | 120 | See also: the [vanilla-hcaptcha](https://github.com/hCaptcha/vanilla-hcaptcha) WebComponent, which supports React/Preact. 121 | 122 | #### Vanilla JS (use with Angular, Vue, etc) 123 | [Source](https://github.com/DSergiu/vanilla-hcaptcha) 124 | [NPM](https://www.npmjs.com/package/vanilla-hcaptcha) 125 | 126 | #### Vue JS 127 | See also: the [vanilla-hcaptcha](https://github.com/hCaptcha/vanilla-hcaptcha) WebComponent, which supports Vue 2/. 128 | 129 | [hCaptcha Component Library for Vue.js](https://github.com/hCaptcha/vue-hcaptcha) 130 | 131 | #### SolidJS 132 | [hCaptcha Component Library for Solid](https://github.com/Vexcited/solid-hcaptcha) 133 | 134 | ## Backend 135 | 136 | ### AdonisJS middleware 137 | [Code](https://github.com/NerdyLuffy/adonisjs-hcaptcha) 138 | 139 | ### Cloudflare Worker siteverify 140 | [Code](https://github.com/glenstack/glenstack/tree/master/packages/cf-workers-hcaptcha) 141 | 142 | ### curl 143 | [Official docs](https://docs.hcaptcha.com/#server) 144 | 145 | ### Elixir 146 | [Hex](https://hex.pm/packages/hcaptcha) 147 | 148 | ### Firebase App Check (hCaptcha as Custom Provider) 149 | [Full example](https://github.com/firebase/firebase-js-sdk/discussions/5095) 150 | 151 | ### Go middleware 152 | [Source](https://github.com/kataras/hcaptcha) 153 | 154 | ### Go-hCaptcha 155 | [Source](https://github.com/ross714/hcaptcha) 156 | [Full example](https://github.com/ross714/hcaptcha/tree/main/examples/fiber) 157 | 158 | ## Keycloak 159 | [Source](https://github.com/p08dev/keycloak-hcaptcha/) 160 | 161 | ### Java 162 | [Blog with source](https://golb.hplar.ch/2020/05/hcaptcha.html) 163 | 164 | ### Laravel 165 | [Full example blog with source](https://serversideup.net/laravel-hcaptcha-custom-validation-rule/) 166 | 167 | #### Packages 168 | 169 | - [codise/hclaravel](https://github.com/tojorodialson/hc-laravel) 170 | - [scyllaly/hcaptcha](https://github.com/Scyllaly/hcaptcha) 171 | - [buzz/laravel-h-captcha](https://github.com/thinhbuzz/laravel-h-captcha) 172 | - [rvxlab/hcaptcha](https://github.com/rvxlab/hcaptcha) 173 | 174 | ### NestJS 175 | [npm Package](https://www.npmjs.com/package/@gvrs/nestjs-hcaptcha) 176 | [GitHub Repository](https://github.com/alexgavrusev/nestjs-hcaptcha) 177 | 178 | ### Next.js API Routes 179 | [npm Package](https://www.npmjs.com/package/next-hcaptcha) 180 | [GitHub Repository](https://github.com/neg4n/next-hcaptcha) 181 | 182 | ### node.js 183 | [npm Package](https://www.npmjs.com/package/hcaptcha) 184 | 185 | ### Plain PHP 186 | [Full example blog with source](https://medium.com/@hCaptcha/using-hcaptcha-with-php-fc31884aa9ea) 187 | 188 | ### Python: Django 189 | [Source](https://github.com/tiesjan/django-hcaptcha-field) 190 | [PyPI](https://pypi.org/project/django-hcaptcha-field/) 191 | 192 | ### Python: Django + Crispy 193 | [Blog post with source](https://medium.com/python-in-plain-english/how-to-add-hcaptcha-to-your-django-crispy-form-and-be-more-privacy-conscious-273e7f39bbfd) 194 | 195 | ### Python: Flask 196 | [Source](https://github.com/KnugiHK/flask-hcaptcha) 197 | [PyPI](https://pypi.org/project/Flask-hCaptcha/) 198 | 199 | ### Ruby/Rails 200 | [RubyGems](https://rubygems.org/gems/hcaptcha) 201 | [Source](https://github.com/Nexus-Mods/hcaptcha) 202 | 203 | ### Rust 204 | [Source](https://github.com/jerusdp/hcaptcha-rs) 205 | 206 | ## Serverless Backend 207 | 208 | ### Cloudflare: Rust 209 | 210 | [hCaptcha verify endpoint using Cloudflare Workers written in Rust](https://github.com/rodneylab/hcaptcha-serverless-rust-worker) 211 | 212 | ### Cloudflare: JS 213 | 214 | [NPM package: Verify a hCaptcha token from within a Cloudflare Worker.](https://github.com/glenstack/glenstack) 215 | 216 | ### Fastly: Rust 217 | 218 | [hCaptcha Serverless on Fastly Compute@Edge (Rust)](https://github.com/JAR33/hcaptcha-fastly-compute) 219 | 220 | 221 | ## Native Integrations: CMS platforms 222 | 223 | ### MyBB 224 | Starting from verison 1.8.23: [Docs](https://docs.mybb.com/1.8/administration/spam/#captcha-images-for-registration--posting) & [Release Notes](https://mybb.com/versions/1.8.23/) 225 | 226 | ### XenForo 227 | Starting from version 2.2: [Announcement](https://xenforo.com/community/posts/1437264) 228 | 229 | ### Kentico Xperience 230 | 231 | [hCaptcha Kentico Xperience Form Component](https://github.com/wiredviews/xperience-hcaptcha) 232 | 233 | ### Oracle Recruiting Cloud 234 | 235 | [Oracle Recruiting Cloud hCaptcha Feature](https://docs.oracle.com/en/cloud/saas/talent-management/24a/faimh/enable-hcaptcha.html) 236 | 237 | ## Plugins 238 | 239 | ### Craft CMS 240 | 241 | [Plugin](https://plugins.craftcms.com/craft-hcaptcha) 242 | [Source](https://github.com/c10d-dev/craft-hcaptcha) 243 | 244 | #### Freeform Plugin 245 | 246 | [Plugin](https://plugins.craftcms.com/freeform) 247 | [Source](https://github.com/solspace/craft3-freeform) 248 | 249 | ### Drupal 250 | [Plugin](https://www.drupal.org/project/hcaptcha) 251 | 252 | ### Invision Community 253 | [Plugin](https://invisioncommunity.com/files/file/9657-hcaptcha-integration/) 254 | 255 | ### Joomla 256 | 257 | [Source](https://github.com/pe7er/hCaptcha) 258 | [Extension](https://extensions.joomla.org/extension/hcaptcha/) 259 | 260 | #### Joomla RSForm!Pro Plugin 261 | 262 | [Extension](https://www.rsjoomla.com/support/documentation/rsform-pro/plugins-and-modules/plugin-hcaptcha-spam-protection-.html) 263 | 264 | ### Magento 265 | 266 | [Plugin](https://magecomp.com/magento-2-hcaptcha.html) 267 | 268 | ### Mautic 269 | 270 | [Plugin](https://github.com/FireMultimedia/mautic-multi-captcha-bundle/tree/main) 271 | 272 | ### MediaWiki 273 | 274 | [Plugin](https://www.mediawiki.org/wiki/Extension:ConfirmEdit#hCaptcha) 275 | [Source](https://gerrit.wikimedia.org/r/mediawiki/extensions/ConfirmEdit) 276 | 277 | ### OXID eShop 278 | 279 | [Plugin](https://packagist.org/packages/tremendo/oxid-hcaptcha) 280 | [Source](https://github.com/KalteSterne/oxid-hcaptcha) 281 | 282 | ### phpBB 283 | [Extension](https://www.phpbb.com/customise/db/extension/hcaptcha/) 284 | 285 | ### Plone 286 | 287 | [Plugin](https://github.com/plone/plone.formwidget.hcaptcha) 288 | 289 | #### Volto Form Block 290 | 291 | [Volto form add-on](https://github.com/collective/volto-form-block) 292 | 293 | ### SMF 294 | 295 | [Add-on](https://custom.simplemachines.org/mods/index.php?mod=4255) 296 | 297 | 298 | ### Silverstripe 299 | 300 | [Plugin](https://packagist.org/packages/oposs/silverstripe-hcaptcha) 301 | [Source](https://github.com/oposs/silverstripe-hcaptcha) 302 | 303 | ### Symfony 304 | 305 | [Source](https://github.com/Meteo-Concept/hcaptcha-bundle) 306 | [Symfony/flex recipe](https://github.com/symfony/recipes-contrib/pull/979) 307 | 308 | ### Typo3 309 | 310 | [Blog post](https://susi.dev/hcaptcha) 311 | [Typo3 extension](https://extensions.typo3.org/extension/hcaptcha/) 312 | 313 | ### Umbraco 314 | 315 | #### UmbracoForms.uCaptcha 316 | 317 | [Source](https://github.com/AaronSadlerUK/UmbracoForms.uCaptcha) 318 | [Plugin](https://our.umbraco.com/packages/website-utilities/umbracoformsucaptcha/) 319 | [NuGet](https://www.nuget.org/packages/AaronSadler.uCaptcha/) 320 | 321 | ### Vanilla Forums 322 | [Plugin](https://open.vanillaforums.com/addon/hcaptcha-plugin) 323 | [Source](https://github.com/unkorneglosk/hcaptcha) 324 | 325 | ### WordPress 326 | [Plugin](https://wordpress.org/plugins/hcaptcha-for-forms-and-more/) 327 | [Source](https://github.com/hCaptcha/hcaptcha-wordpress-plugin) 328 | 329 | #### WordPress WPForms Plugin 330 | [Native integration: instructions to enable](https://wpforms.com/docs/how-to-set-up-and-use-hcaptcha-in-wpforms/) 331 | 332 | #### WordPress Ninja Forms Plugin 333 | [Native integration: instructions to enable](https://ninjaforms.com/docs/hcaptcha/) 334 | 335 | ### XenForo 336 | 337 | [Add-on](https://xenforo.com/community/resources/hcaptcha-integration.7696/) 338 | [Source](https://github.com/ticktackk/hCaptchaIntegrationForXF2) 339 | 340 | ## Chat protection bots 341 | 342 | #### Honk 343 | [source](https://github.com/KeithPatrick5/hcaptcha-honk-bot) 344 | 345 | ### Telegram 346 | [Blog post + code](https://medium.com/@hCaptcha/fight-spam-on-your-telegram-group-with-hcaptcha-2bab3efc34b3) 347 | 348 | ## Mobile apps 349 | 350 | ### iOS 351 | 352 | [iOS Native SDK](https://github.com/hCaptcha/HCaptcha-ios-sdk) 353 | 354 | ### Android 355 | 356 | [Android Native SDK](https://github.com/hCaptcha/hcaptcha-android-sdk) 357 | 358 | ### React Native 359 | 360 | [React Native integration](https://github.com/hCaptcha/react-native-hcaptcha) 361 | 362 | ### Flutter 363 | [Flutter example with source blog post](https://medium.com/@hCaptcha/implementing-hcaptcha-in-your-flutter-app-13ea6ddca71b) 364 | 365 | ## Access Management Platforms 366 | 367 | ### ForgeRock 368 | [Access Management: CAPTCHA Node config instructions](https://backstage.forgerock.com/docs/am/7/authentication-guide/auth-node-configuration-hints.html#auth-node-captcha) 369 | 370 | ## More 371 | 372 | ### .NET and ASP.NET Core 373 | [source](https://github.com/BenjaminAbt/hcaptcha) 374 | 375 | ### RoundCube 376 | [source](https://github.com/NeverBehave/rc_hcaptcha) 377 | 378 | ### Salesforce VFP (Aura) 379 | [source](https://github.com/chrisludovice/SFDX_hCaptcha) 380 | --------------------------------------------------------------------------------