{"repo":"TianmuTNT/zzyCaptcha","free":true,"listed":false,"github":"https://github.com/TianmuTNT/zzyCaptcha","clone":"git clone https://github.com/TianmuTNT/zzyCaptcha.git","description":"A simple, self-hostable, \"persistence of vision\" CAPTCHA service. 一个简单的、可自行部署的、基于“视觉暂留”效果的验证码服务。","language":"Python","stars":23,"topics":["anti-bot","antibot","captcha","captcha-with-letters","cloudflare","firewall","persistence-of-vision","python","security","security-code"],"license":"Apache-2.0","category":"security-tools","readme_excerpt":"zzyCaptcha Read this in Chinese (简体中文) A simple, self-hostable, \"persistence of vision\" CAPTCHA service. This service generates animated GIF CAPTCHAs that are easy for humans to solve but difficult for bots to OCR. It provides a secure, backend-focused verification flow that is easy for developers to integrate into their websites. Features - Secure by Design : Verification is handled server-to-server, never exposing secret keys to the client. - Lightweight & Self-Contained : Uses a simple SQLite database, requiring no external database servers. - Easy to Integrate : Drop the widget into your form and verify submissions on your backend with a single API call. Tech Stack - Backend : Python 3, Flask - Image Generation : Pillow, NumPy - Database : SQLite Installation & Setup 1. Clone the repository: 2. Create and activate a virtual environment: 3. Install dependencies: 4. Configure the environment: Copy the example environment file and generate a secret key. Now, open the .env file and set a unique SECRET KEY . You can generate one with python -c 'import secrets; print(secrets.token hex(24))' . Running the Service - For Development: The service will be available at http://0.0.0.0:5000 . How to Integrate Integrating zzyCaptcha into your website involves two parts: 1. Frontend : Add the CAPTCHA widget to your form. 2. Backend : Verify the user's submission by making a server-to-server call to the zzyCaptcha service. See templates/demo.html for a complete example. Frontend Setup Inc","default_branch":null,"files":null,"tree":[],"storefront":"/r/TianmuTNT","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/TianmuTNT/zzyCaptcha/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."}