PHPackages                             ralkage/flarum-ext-cap-captcha - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Security](/categories/security)
4. /
5. ralkage/flarum-ext-cap-captcha

ActiveFlarum-extension[Security](/categories/security)

ralkage/flarum-ext-cap-captcha
==============================

Self-hosted CAPTCHA using Cap (proof-of-work) for registration and login protection

1.0.1(3mo ago)016↓75%MITJavaScript

Since Mar 22Pushed 3mo agoCompare

[ Source](https://github.com/Ralkage/flarum-ext-cap-captcha)[ Packagist](https://packagist.org/packages/ralkage/flarum-ext-cap-captcha)[ Docs](https://ralkage.com)[ RSS](/packages/ralkage-flarum-ext-cap-captcha/feed)WikiDiscussions 1.x Synced 3w ago

READMEChangelog (3)Dependencies (1)Versions (5)Used By (0)

Cap CAPTCHA
===========

[](#cap-captcha)

[![License: MIT](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE)

Self-hosted CAPTCHA extension for [Flarum](https://flarum.org) using [Cap](https://capjs.js.org/) — a modern, privacy-focused, proof-of-work CAPTCHA alternative. No image puzzles, no third-party tracking.

How It Works
------------

[](#how-it-works)

Cap uses SHA-256 proof-of-work instead of visual puzzles. When a user clicks the checkbox, their browser performs a computational challenge in the background. No images to identify, no data sent to third parties.

- 250x smaller than hCaptcha (~20KB, zero dependencies)
- Loads in milliseconds
- Fully accessible
- Self-hosted — your data stays on your server

Features
--------

[](#features)

- **Registration protection** — Cap widget on the sign-up form (enabled by default)
- **Login protection** — Optional Cap widget on the login form
- **Server-side verification** — Tokens verified against your Cap Standalone instance
- **Admin settings** — Configure endpoint, secret key, and which forms to protect
- **Privacy-first** — No telemetry, no tracking, fully self-hosted

Prerequisites
-------------

[](#prerequisites)

You need a running Cap Standalone server. The easiest way is Docker:

```
# docker-compose.yml
version: "3.8"
services:
  cap:
    image: tiago2/cap:latest
    container_name: cap
    ports:
      - "3000:3000"
    environment:
      ADMIN_KEY: your_secret_password
    volumes:
      - cap-data:/usr/src/app/.data
    restart: unless-stopped

volumes:
  cap-data:
```

```
docker compose up -d
```

Then access `http://localhost:3000`, log in with your admin key, and create a site key.

Installation
------------

[](#installation)

```
composer require ralkage/flarum-ext-cap-captcha
php flarum cache:clear
```

Enable the extension in the admin panel under **Extensions &gt; Cap CAPTCHA**.

Configuration
-------------

[](#configuration)

In the extension settings:

SettingDescription**Cap API Endpoint**Your Cap instance URL with site key, e.g. `https://cap.example.com/your-site-key/`**Cap Secret Key**Your site key's secret from the Cap dashboard**Require CAPTCHA on registration**Show widget on sign-up form (default: on)**Require CAPTCHA on login**Show widget on login form (default: off)Requirements
------------

[](#requirements)

- Flarum `^1.8`
- PHP 8.0+
- A running [Cap Standalone](https://capjs.js.org/guide/standalone/) server

Links
-----

[](#links)

- [Ralkage](https://ralkage.com)
- [Packagist](https://packagist.org/packages/ralkage/flarum-ext-cap-captcha)
- [Cap Documentation](https://capjs.js.org/)
- [GitHub](https://github.com/Ralkage/flarum-ext-cap-captcha)

License
-------

[](#license)

MIT License. See [LICENSE](LICENSE) for details.

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance82

Actively maintained with recent releases

Popularity8

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

5

Last Release

96d ago

Major Versions

1.0.0 → 2.x-dev2026-03-23

### Community

Maintainers

![](https://www.gravatar.com/avatar/4415106be37759e15d2f1304df343a37e478dad0f832b6f35860631ffc9b6afb?d=identicon)[Ralkage](/maintainers/Ralkage)

---

Top Contributors

[![Ralkage](https://avatars.githubusercontent.com/u/2059356?v=4)](https://github.com/Ralkage "Ralkage (3 commits)")

---

Tags

securityspamcaptcharegistrationproof-of-workcap

### Embed Badge

![Health badge](/badges/ralkage-flarum-ext-cap-captcha/health.svg)

```
[![Health](https://phpackages.com/badges/ralkage-flarum-ext-cap-captcha/health.svg)](https://phpackages.com/packages/ralkage-flarum-ext-cap-captcha)
```

###  Alternatives

[gregwar/captcha-bundle

Captcha bundle

3524.8M33](/packages/gregwar-captcha-bundle)[gregwar/captcha

Captcha generator

1.8k9.9M150](/packages/gregwar-captcha)[s1syphos/php-simple-captcha

Simple captcha generator

2639.5k9](/packages/s1syphos-php-simple-captcha)[flarum-lang/russian

Russian language pack for Flarum.

12127.5k](/packages/flarum-lang-russian)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
