{"repo":"a-ve/wicketkeeper","free":true,"listed":false,"github":"https://github.com/a-ve/wicketkeeper","clone":"git clone https://github.com/a-ve/wicketkeeper.git","description":"A privacy-friendly, self-hostable Proof-of-Work (PoW) CAPTCHA","language":"Go","stars":223,"topics":[],"license":null,"category":"self-hosted-apps","readme_excerpt":"A privacy-friendly, proof-of-work (PoW) captcha system designed to be a user-centric alternative to traditional captchas. Wicketkeeper protects your web forms from simple bots without requiring users to solve frustrating puzzles. It achieves this by issuing a small, client-side computational challenge that is easy for a modern device to solve but costly for bots to perform at scale. The system is comprised of a Go backend, an embeddable JavaScript client, and a full-stack demo application. --- Table of Contents - Features - How It Works - Project Structure - Getting Started: Full Demo Setup - Prerequisites - Step 1: Clone the Repository - Step 2: Run the Backend Services - Step 3: Build the Client Widget - Step 4: Run the Example Application - Usage of Individual Components - Wicketkeeper Server (Go) - Client Widget (JavaScript) Features - Proof-of-Work Engine: Replaces visual puzzles with a computational challenge that is easy for users but hard for bots. - Stateless & Secure: Uses signed JSON Web Tokens (JWTs) for challenge/response cycles, eliminating server-side session state. - Replay Attack Prevention: Leverages Redis Bloom filters for high-performance, time-windowed prevention of challenge reuse. - Embeddable Client Widget: A lightweight, dependency-free JavaScript widget that integrates easily into any web form. - Configurable: Easily adjust PoW difficulty, CORS origins, and ports via environment variables. - Containerized: Full Docker and Docker Compose support for e","default_branch":null,"files":null,"tree":[],"storefront":"/r/a-ve","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/a-ve/wicketkeeper/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}