Friendly Captcha offers a privacy aware captcha service. This repository provides a lite server version of the service with some basic features for puzzle and verification on your own machine. The Friendly Captcha service normally works by serving challenges with the difficulty based on the likelihood of being a real human user, as well as being highly available. This implementation is much simpler but will work for small hobby projects.
This distribution is licensed under a non-commercial source available license, which means you can run this server yourself for non-commercial or internal projects.
If you need more advanced security features and reliability or want to support our work, we highly recommend to subscribe to the Friendly Captcha service and/or sponsor us on GitHub.
- PHP 7.4 or higher
- sodium support
- apcu support
You need a web server running PHP 7.4 or later.
- Install the public folder to the your document root.
- Copy and adapt env.template.php to env.php
- Change the friendly captcha widgets endpoint to user your server
- In your backend configuration, use the your own server endpoint and
Instead of https://api.friendlycaptcha.com/api/v1/siteverify
use https://yourserver/siteverify.php
.
Instead of https://(eu-)api.friendlycaptcha.eu/api/v1/puzzle"
use https://yourserver/puzzle.php
.
- Check of signature
- Check of puzzles
- Check of timestamps
- Replay checks
- Basic difficulty scaling
This software is fair-code distributed under Apache 2.0 with Commons Attribution Clause license.
- Check your server log for errors
- Open /puzzle.php manually and see if there are any errors displayed
- Is LibSodium available?
- This should not happen, maybe file an issue including the server logs
- Friendly Captcha recommends to accept Captcha solutions on server errors, so also here check for server errors
- Is APCU and LibSodium available?