A Go package for generating and verifying image and audio CAPTCHAs with built-in storage and HTTP server support.
dchest/captcha is a Go package that implements generation and verification of CAPTCHA challenges. It creates image and audio representations of numeric sequences to distinguish human users from automated bots in web applications. The package includes built-in storage for captcha state and an HTTP server for easy integration.
Go developers building web applications that need to protect forms, logins, or other endpoints from automated abuse and bot submissions.
It provides a fully self-contained solution with no external dependencies, supports both visual and auditory challenges for accessibility, and offers a simple API with built-in HTTP serving capabilities, making it easy to integrate into existing Go web services.
Go package captcha implements generation and verification of image and audio CAPTCHAs.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Requires no external dependencies or files, making it easy to integrate into Go projects without additional setup, as emphasized in the README.
Provides a ready-to-use http.Handler for serving captcha images and audio directly from URLs, simplifying web integration without custom routing.
Includes WAV audio captchas in multiple languages (English, Russian, Chinese, Japanese, Portuguese) with random speed and pitch for enhanced accessibility and security.
Supports pluggable storage backends via the Store interface, allowing integration with databases or distributed systems beyond the default memory store.
The README explicitly warns it can be broken by advanced OCR algorithms, making it unsuitable for high-threat applications where robust bot detection is essential.
Captchas are limited to digits 0-9, which may be easier for bots to guess or solve compared to more complex alphanumeric or image-based alternatives.
The built-in memory store uses garbage collection triggered after CollectNum captchas, which can be inefficient for high-traffic or distributed systems without custom implementation.