Skip to content

ashtonav/opencaptcha

Repository files navigation

OpenCaptcha

banner

codecov Maintainability Rating .NET license

OpenCaptcha is an open source, free, public API that generates CAPTCHA images from text.

OpenCaptcha provides:

Usage

Example 1: Generated CAPTCHA images are randomly distorted.

banner

Try it out

curl -X 'POST' \
  'https://api.opencaptcha.io/captcha' \
  -H 'Content-Type: application/json' \
  -d '{ "text": "captcha" }'

Example 2: Generated CAPTCHA images can contain text in many languages.

banner

Try it out

curl -X 'POST' \
  'https://api.opencaptcha.io/captcha' \
  -H 'Content-Type: application/json' \
  -d '{ "text": "普通" }'

Example 3: Generated CAPTCHA images can be in a different colors

banner

Try it out

curl -X 'POST' \
  'https://api.opencaptcha.io/captcha' \
  -H 'Content-Type: application/json' \
  -d '{
    "text": "hello world",
    "theme": {
      "primaryColor": "#ADD8E6",
      "secondaryColor": "#FFFFFF"
    }
  }'

Installation

Option 1: Using Docker (recommended for self-hosting)

Requirements

  • Docker

How to Run

  1. From the root folder of the project, run the following commands:
    docker build -t opencaptcha -f ./src/Captcha.WebApi/Dockerfile .
    docker run -it -p 5280:8080 opencaptcha
  2. The API can be accessed at http://localhost:5280.

Option 2: Using Visual Studio (recommended for development purposes)

Requirements

  • Visual Studio 2022
    • With ASP.NET and web development installed from the Visual Studio Installer
  • .NET 9 SDK

How to Run

  1. Open the solution in Visual Studio 2022.
  2. Build and launch the Captcha.WebApi project.
  3. The API can be accessed at https://localhost:5280.

How to Test

  1. Open the solution in Visual Studio 2022.
  2. Run the tests in Test Explorer.

Acknowledgments

A significant portion of this project, especially the CAPTCHA generation code, is inspired by work originally published on February 9, 2004, by BrainJar.

Contributing

Pull requests are accepted.

License

MIT