OSS探訪

画像認証を使わず、Proof of Workでボット対策をセルフホストする

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
7,924
主要言語
JavaScript
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/03
ページ内ナビ

概要

Capは、画像を選ばせる従来型CAPTCHAの代わりに、Proof of Workとブラウザの実行特性を使ったchallengeでボットを見分ける仕組みです。推奨構成のCap StandaloneはDockerで動作し、Web管理画面、複数site key、reCAPTCHA互換のsiteverify APIを自分の環境で運用できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

画像パズルなしでchallengeを実行する

利用者に画像選択を要求せず、Proof of Workとinstrumentation challengesを組み合わせてボット対策を行います。widgetは自分のCapインスタンスへ接続できます。

出典:[1][2]

reCAPTCHA互換の検証APIで既存実装へ組み込みやすい

Standaloneはsiteverify APIを提供し、widgetが返したtokenをバックエンドから検証できます。reCAPTCHAから移行する際も、検証フローを近い形で構成できます。

出典:[2]

DockerとValkeyで管理画面付きの自己運用環境を作る

公式構成はCapコンテナとValkeyを組み合わせ、管理画面からsite keyを作成します。3.1.13ではhealth endpointとgraceful shutdownも追加されています。

出典:[2][3]

向いている用途

プライバシーを重視し、CAPTCHAの処理を自分の環境に置きたいWebサービスに向く

第三者CAPTCHAへの通信や追跡を避けつつ、フォーム、サインアップ、ログインなどの自動化対策を追加したい場合に検討できます。

出典:[1]

導入前の確認

管理キーを初期値のまま公開しない

公式Compose例のADMIN_KEYは例示値です。ドキュメントは32文字以上を推奨しているため、公開前に十分強い値へ変更します。

出典:[2]

逆プロキシ配下では実IPとレート制限の設定を確認する

公開インスタンスはwidgetから到達可能である必要があります。逆プロキシを使う場合は、rate limitingが正しいclient IPを参照できるよう公式optionsを確認します。

出典:[2]

Apache-2.0のNOTICEと再配布条件を確認する

root LICENSEはApache-2.0です。改変・再配布する場合はlicenseと必要な著作権・NOTICE情報を保持します。

出典:[4]

参考にした公式資料

  1. [1]tiagozip/cap README(2026-10-03)
  2. [2]Cap Standalone guide(2026-10-03)
  3. [3]Cap Standalone 3.1.13 release(2026-10-03)
  4. [4]Cap Apache-2.0 license(2026-10-03)
編集部からの補足

第三者のCAPTCHAサービスへ利用者データを送らずにボット対策を置きたい場合に比較しやすい選択肢です。公開運用では、強いADMIN_KEY、HTTPS、逆プロキシ側の実IP引き継ぎとレート制限を先に確認してください。

3ステップで試す

  1. 1

    安定版のStandalone構成を取得

    Cap Standalone 3.1.13の公式Compose構成を取得します。

    git clone --branch 'standalone@3.1.13' --depth 1 https://github.com/tiagozip/cap.git && cd cap/standalone
  2. 2

    管理キーを強い値へ変更

    公開前にADMIN_KEYを32文字以上の十分強い値へ変更します。

    Edit docker-compose.yml and replace ADMIN_KEY: your_secret_password
  3. 3

    コンテナを起動して管理画面を確認

    http://localhost:3000を開き、管理キーでログインしてsite keyを作成します。

    docker compose up -d
公式READMEで確認

成長

成長の推移 · 直近30日

7,924 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
18
Open PR
2

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • captcha
  • javascript
  • proof-of-work
  • antispam
  • anti-abuse
  • anti-bot
  • defense
  • anti-scraper
Stars
7,924
Forks
601
Watchers
25
Open Issues
6
Contributors
30
所有者種別
User
主要言語
JavaScript
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/03

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?