पैकेज, रिपॉज़िटरी और ऐप श्रेणियाँ खोजें

omjo_captcha कवर
पैकेज विवरणv0.0.10

omjo_captcha

फ्लटर के लिए एक कस्टमाइज़ किया गया टेक्स्ट-आधारित CAPTCHA विजेट जिसमें यादृच्छिक रंगीन अक्षर और रेखाएं होती हैं। कोई बैकएंड की आवश्यकता नहीं है।

AndroidiOSWebmacOSWindowsLinux
30-दिन डाउनलोड
21
लाइक
2
Pub अंक
160

पैकेज इंस्टॉल करें

flutter pub add omjo_captcha

पैकेज अवलोकन

सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।

omjo_captcha एक Flutter विजेट है जो किसी बैकएंड के बिना कस्टमाइज़ करने योग्य, टेक्स्ट-आधारित CAPTCHA प्रदान करता है। यह रैंडम रंगीन अक्षर और सजावटी लाइनें उत्पन्न करता है ताकि बॉट्स द्वारा स्वचालित फॉर्म सबमिशन को रोका जा सके। सरलता और एकीकरण के लिए डिज़ाइन किया गया, यह उपयोगकर्ता सत्यापन की आवश्यकता वाले फॉर्म में बिना किसी दिक्कत के फिट हो जाता है। यह पैकेज Android, iOS, Web, macOS, Windows और Linux जैसे कई प्लेटफॉर्म का समर्थन करता है, जिससे यह क्रॉस-प्लेटफॉर्म एप्लिकेशन के लिए लचीला बन जाता है।

उपयोग

  • फॉर्म स्पैम सुरक्षा
  • लॉगिन/साइनअप प्रवाह में उपयोगकर्ता सत्यापन
  • वेब और मोबाइल ऐप्स में बॉट डिटेक्शन
  • सरल फ्रंटएंड केवल CAPTCHA समाधान
  • सार्वजनिक फॉर्म में सुरक्षा को बढ़ावा देना

मुख्य विशेषताएँ

  • कस्टमाइज़ किए गए चरित्र रंग और शैली
  • यादृच्छिक पाठ और लाइन पैटर्न
  • कोई बैकएंड निर्भरता नहीं
  • प्लेटफॉर्म के अनुकूलता
  • Flutter फॉर्म के साथ आसान एकीकरण
  • निर्धारित करने योग्य कठिनाई स्तर

इनके लिए उपयुक्त

  • हल्का CAPTCHA चाहने वाले विकासकर्ता
  • सख्त गोपनीयता आवश्यकताओं वाले प्रोजेक्ट
  • केवल फ्रंटएंड सुरक्षा कार्यान्वयन
  • मोबाइल और वेब एप्लिकेशन
  • त्वरित CAPTCHA सेटअप की आवश्यकता वाले प्रोटोटाइप या MVP

विचार योग्य बातें

  • उच्च सुरक्षा वातावरण के लिए उपयुक्त नहीं
  • दृश्य पैटर्न पहचान तक सीमित
  • अवेलेबिलिटी समायोजन की आवश्यकता हो सकती है
  • क्लाइंट-साइड यादृच्छिकता पर निर्भर करता है
  • ऑडियो या छवि-आधारित CAPTCHAs का समर्थन नहीं करता है

मूल README

संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।

omjo_captcha

pub package

A customizable, client-side CAPTCHA widget for Flutter with randomized colorful characters and noise lines.
No backend required — perfect for login forms, guestbooks, or simple human verification needs.


Captcha Screenshot


✨ Features

  • 🎨 Randomized colored characters
  • 🔀 Noise/disturbance lines for bot resistance
  • 🔄 Easy CAPTCHA refresh
  • ✅ Custom validation logic
  • 🚫 Works entirely offline (no server needed)

🌐 Live Demo

🧪 Try it directly in your browser (no installation needed):
👉 https://omjocaptcha.netlify.app


📦 Installation

Add this to your pubspec.yaml:

dependencies:
  omjo_captcha: ^0.0.1

Then run:

flutter pub get

🚀 Usage

Here's a simple example:

import 'package:flutter/material.dart';
import 'package:omjo_captcha/omjo_captcha.dart';
import 'dart:math';

class CaptchaPreview extends StatefulWidget {
  const CaptchaPreview({super.key});

  @override
  State<CaptchaPreview> createState() => _CaptchaPreviewState();
}

class _CaptchaPreviewState extends State<CaptchaPreview> {
  late List<CaptchaChar> characters;
  late List<CaptchaLine> lines;

  @override
  void initState() {
    super.initState();
    _generateCaptcha();
  }

  void _generateCaptcha() {
    final random = Random();
    const text = 'A7B2X';

    characters = text.split('').map((char) {
      return CaptchaChar(
        char: char,
        color: _randomColor(random),
        yOffset: 10 + random.nextDouble() * 10,
        rotation: (random.nextDouble() - 0.5) * 0.3,
      );
    }).toList();

    lines = List.generate(5, (_) {
      return CaptchaLine(
        start: Offset(random.nextDouble() * 120, random.nextDouble() * 50),
        end: Offset(random.nextDouble() * 120, random.nextDouble() * 50),
        color: _randomColor(random),
      );
    });

    setState(() {});
  }

  Color _randomColor(Random random) {
    return Color.fromARGB(
      255,
      100 + random.nextInt(156),
      100 + random.nextInt(156),
      100 + random.nextInt(156),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: [
        CustomPaint(
          size: const Size(150, 50),
          painter: CaptchaPainter(characters, lines),
        ),
        const SizedBox(height: 10),
        ElevatedButton(
          onPressed: _generateCaptcha,
          child: const Text('Refresh Captcha'),
        ),
      ],
    );
  }
}

📁 Folder Structure

lib/
├── omjo_captcha.dart
└── src/
    ├── captcha_painter.dart
    ├── models/
    │   ├── captcha_char.dart
    │   └── captcha_line.dart

🧪 Example App

Clone this repo and run the example:

cd example
flutter run

💡 Tips

  • You can wrap this CAPTCHA in a TextFormField widget for login forms.
  • Combine with your auth logic to validate user input against captchaText.

🛠️ Contributing

Contributions are welcome!
If you found a bug or want a new feature, please open an issue or submit a pull request.


Support the Project

If you find this plugin helpful, consider supporting its development:

  • Buy Me a Coffee

Your support is greatly appreciated!


📄 License

MIT © Abu Khoerul Iskandar Ali (Omjo)
See LICENSE for details.


🙌 Credits

Built with 💙 using Flutter.

श्रेणियाँ

सोर्स रिपॉज़िटरी

इस पैकेज का उपयोग करने वाले प्रोजेक्ट

अभी कोई डेटा उपलब्ध नहीं है।