Skip to content
AbolfazlZarei-devPublic

About

کتابخانه Moxra (مکسرا) برای تشخیص محتوای NSFW در پایتون با استفاده از ONNX، با پشتیبانی از تصاویر، GIF و ویدئو، پردازش CPU/GPU و پردازش ناهمگام.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

🚀 Moxra — Python NSFW Content Detection & Moderation

🛡️ هوشمند، سریع و آماده برای تولید

Moxra (مکسرا) یک کتابخانه قدرتمند Python برای تشخیص محتوای نامناسب (NSFW) و Content Moderation است که با استفاده از ONNX Runtime امکان تحلیل تصاویر، GIF و ویدئو را با پشتیبانی از CPU و GPU فراهم می‌کند.

GitHub Stars GitHub Forks PyPI Version PyPI Downloads

Python 3.8+ ONNX Runtime CPU GPU MIT License

🌐 Website • 🐛 Report a Bug • ⭐ GitHub


✨ Moxra چیست؟

Moxra (مکسرا) یک کتابخانه و SDK مبتنی بر Python برای NSFW Detection، Image Classification و Content Moderation است.

Moxra می‌تواند محتوای تصویری را تحلیل کرده و احتمال دسته‌های مختلف را در اختیار برنامه قرار دهد. این کتابخانه برای استفاده در پروژه‌هایی مانند:

  • 💬 پیام‌رسان‌ها و شبکه‌های اجتماعی
  • 🤖 ربات‌ها و سرویس‌های هوش مصنوعی
  • 🌐 وب‌سایت‌ها و پلتفرم‌های اشتراک محتوا
  • 🛡️ سیستم‌های Content Moderation
  • 📤 سرویس‌های آپلود تصویر و ویدئو
  • 🎮 پلتفرم‌های اجتماعی و کامیونیتی‌ها
  • 🔐 سیستم‌های فیلترینگ و مدیریت محتوا

طراحی شده است.

Moxra = Modern NSFW Detection & Content Moderation for Python


🌟 چرا Moxra؟

قابلیت وضعیت
🖼️ تشخیص تصویر ✅
🎞️ تشخیص GIF ✅
🎥 تشخیص ویدئو ✅
⚡ پردازش Async ✅
💻 CPU Inference ✅
🚀 GPU Inference ✅
🔥 CUDA ✅
🧠 ONNX Runtime ✅
📊 امتیاز NSFW ✅
🎯 دسته‌بندی محتوا ✅
🧕 Veil Detection ✅
📦 دریافت مستقیم Binary Data ✅
⚙️ تنظیمات قابل شخصی‌سازی ✅
📈 Statistics ✅
🧹 مدیریت حافظه ✅

📦 نصب

نصب نسخه معمولی

pip install moxra

نصب با پشتیبانی GPU

pip install "moxra[gpu]"

پس از نصب:

from moxra import MoxraDetector

detector = MoxraDetector()

result = detector.classify_with_veil("image.jpg")

print(result["is_nsfw"])

⚡ شروع سریع

در ساده‌ترین حالت، فقط چند خط کد برای شروع نیاز دارید:

from moxra import MoxraDetector

detector = MoxraDetector()

result = detector.classify_with_veil("image.jpg")

if result["is_nsfw"]:
    print("🚫 NSFW content detected")
else:
    print("✅ Safe content")

🧠 نحوه عملکرد

Moxra محتوای ورودی را دریافت کرده و آن را با مدل‌های Machine Learning و ONNX پردازش می‌کند.

                ┌─────────────────┐
                │      Input      │
                └────────┬────────┘
                         │
             ┌───────────┼───────────┐
             │           │           │
             ▼           ▼           ▼
          Image         GIF        Video
             │           │           │
             └───────────┼───────────┘
                         ▼
                ┌─────────────────┐
                │ Moxra Detector  │
                └────────┬────────┘
                         │
                         ▼
                ┌─────────────────┐
                │ ONNX Runtime    │
                │ CPU / CUDA      │
                └────────┬────────┘
                         │
                         ▼
                ┌─────────────────┐
                │ Classification  │
                └────────┬────────┘
                         │
                         ▼
             ┌────────────────────────┐
             │ Safe / Suspicious /    │
             │ NSFW + Probabilities   │
             └────────────────────────┘

🖼️ تشخیص تصویر

روش پیشنهادی

from moxra import MoxraDetector

detector = MoxraDetector()

result = detector.classify_with_veil("photo.jpg")

print(result)

تشخیص ساده

predictions = detector.predict_image("photo.jpg")

print(predictions)

📊 ساختار نتیجه

نمونه خروجی:

{
    "predictions": {
        "neutral": 0.85,
        "sexy": 0.08,
        "porn": 0.04,
        "hentai": 0.02,
        "drawing": 0.01
    },

    "is_nsfw": False,
    "is_safe": True,
    "is_suspicious": False,

    "nsfw_score": 0.14,

    "dominant_category": "neutral",

    "veil": {
        "has_veil": False,
        "confidence": 0.0
    }
}

فیلدهای مهم

فیلد توضیح
predictions احتمال هر دسته
is_nsfw تشخیص نهایی NSFW
is_safe تشخیص محتوای ایمن
is_suspicious محتوای مشکوک
nsfw_score امتیاز کلی NSFW
dominant_category دسته غالب
veil اطلاعات مربوط به Veil Detection

🎞️ تشخیص GIF

Moxra می‌تواند GIF را فریم‌به‌فریم تحلیل کرده و نتیجه را بر اساس فریم‌های پردازش‌شده ارائه کند.

result = detector.predict_gif("animation.gif")

print(result)

🎥 تشخیص ویدئو

result = detector.predict_video(
    "video.mp4",
    sample_rate=0.1,
    max_frames=100
)

print(result)

نمونه خروجی

{
    "average": {
        "neutral": 0.82,
        "sexy": 0.07,
        "porn": 0.04
    },

    "frames": [
        {
            "time": 0.1,
            "predictions": {
                "neutral": 0.90,
                "sexy": 0.05,
                "porn": 0.05
            }
        }
    ],

    "metadata": {
        "total_frames": 300,
        "processed_frames": 30,
        "fps": 30,
        "duration": 10.0
    }
}

کنترل پردازش ویدئو

sample_rate=0.1

یعنی تقریباً ۱۰٪ فریم‌ها برای تحلیل انتخاب شوند.

max_frames=100

حداکثر تعداد فریم‌هایی که پردازش می‌شوند.


📦 تشخیص Binary Data

برای زمانی که فایل را مستقیماً از API، HTTP Request، Database یا Storage دریافت می‌کنید:

from moxra import MoxraDetector

detector = MoxraDetector()

with open("image.jpg", "rb") as file:
    image_bytes = file.read()

result = detector.predict_bytes(image_bytes)

print(result)

این قابلیت برای ساخت APIهای Content Moderation بسیار کاربردی است.


⚡ پردازش Async

Moxra از پردازش ناهمگام برای اجرای چند عملیات در کنار یکدیگر پشتیبانی می‌کند.

import asyncio

from moxra import MoxraDetector


async def main():

    detector = MoxraDetector()

    tasks = [
        detector.predict_image_async("img1.jpg"),
        detector.predict_image_async("img2.jpg"),
        detector.predict_image_async("img3.jpg")
    ]

    results = await asyncio.gather(*tasks)

    for result in results:
        print(result)


asyncio.run(main())

مناسب برای:

  • API Servers
  • Batch Processing
  • Web Applications
  • Moderation Pipelines
  • Bot Systems
  • High-Concurrency Applications

🚀 CPU یا GPU؟

Moxra برای سناریوهای مختلف قابل تنظیم است.

CPU

from moxra import MoxraDetector, Config

config = Config(
    device="cpu"
)

detector = MoxraDetector(config)

CUDA / GPU

from moxra import MoxraDetector, Config

config = Config(
    device="cuda"
)

detector = MoxraDetector(config)

TensorRT

config = Config(
    device="tensorrt"
)

برای استفاده از GPU باید وابستگی‌های موردنیاز محیط CUDA نیز روی سیستم نصب و آماده باشند.


⚙️ تنظیمات پیشرفته

from moxra import MoxraDetector, Config

config = Config(
    model_type="i3",
    device="cuda",

    nsfw_threshold=0.85,
    safe_threshold=0.25,
    suspicious_threshold=0.60,

    cleanup_interval=100,

    intra_threads=2,
    inter_threads=1
)

detector = MoxraDetector(config)

Model Types

مدل مورد استفاده را می‌توانید با توجه به نیاز خود انتخاب کنید:

d
m2
i3

🌍 Environment Variables

Moxra امکان تنظیم Configuration از طریق Environment Variable را نیز فراهم می‌کند.

Linux / macOS

export MOXRA_MODEL_TYPE="d"
export MOXRA_DEVICE="cpu"
export MOXRA_NSFW_THRESHOLD="0.85"

Windows CMD

set MOXRA_MODEL_TYPE=d
set MOXRA_DEVICE=cpu
set MOXRA_NSFW_THRESHOLD=0.85

استفاده در Python

from moxra import MoxraDetector, Config

config = Config.from_env()

detector = MoxraDetector(config)

🎯 دسته‌بندی محتوا

Moxra می‌تواند محتوای ورودی را در دسته‌های مختلف طبقه‌بندی کند.

Category توضیح
🟢 neutral محتوای عادی و ایمن
🟡 sexy محتوای حساس / تحریک‌کننده
🔴 porn محتوای صریح نامناسب
🟣 hentai محتوای انیمه حساس
🔵 drawing نقاشی و محتوای هنری

🛡️ Content Moderation

یکی از کاربردهای اصلی Moxra ساخت سیستم‌های خودکار Content Moderation است.

برای مثال:

result = detector.classify_with_veil("uploaded_image.jpg")

if result["is_nsfw"]:
    print("🚫 Content blocked")
else:
    print("✅ Content accepted")

می‌توانید Moxra را در جریان پردازش محتوای سرویس خود قرار دهید:

User Upload
     │
     ▼
   Moxra
     │
     ├── SAFE ───────► Publish
     │
     ├── SUSPICIOUS ─► Review
     │
     └── NSFW ───────► Block

📈 Statistics

برای مشاهده آمار پردازش:

stats = detector.get_stats()

print(
    f"Inferences: {stats['inference_count']}"
)

print(
    f"Device: {stats['device']}"
)

print(
    f"Uptime: {stats['uptime_seconds']} seconds"
)

🧹 مدیریت حافظه

برای آزادسازی منابع:

detector.cleanup()

💡 مثال واقعی: فیلتر تصاویر

from moxra import MoxraDetector
import os
import shutil


detector = MoxraDetector()

images = [
    "photo1.jpg",
    "photo2.jpg",
    "photo3.jpg"
]

for image in images:

    if not os.path.exists(image):
        continue

    result = detector.classify_with_veil(image)

    if result["is_nsfw"]:
        print(f"🚫 Blocked: {image}")
        shutil.move(image, "nsfw/")
    else:
        print(f"✅ Safe: {image}")
        shutil.move(image, "safe/")

📊 نمایش نتیجه در Terminal

from moxra import MoxraDetector

detector = MoxraDetector()

result = detector.classify_with_veil("image.jpg")

print("=" * 45)
print("🛡️ Moxra Content Analysis")
print("=" * 45)

for category, probability in result["predictions"].items():

    bar = "█" * int(probability * 40)

    print(
        f"{category:<10} "
        f"{probability * 100:5.1f}% "
        f"{bar}"
    )

print("=" * 45)

print(
    f"NSFW Score: "
    f"{result['nsfw_score'] * 100:.1f}%"
)

print(
    "Status:",
    "🚫 NSFW" if result["is_nsfw"] else "✅ SAFE"
)

print("=" * 45)

🔌 API Server

Moxra همچنین شامل ساختار API Server است.

برای اطلاعات مربوط به API Server و نحوه استفاده از آن، فایل زیر را ببینید:

API_SERVER.md

این بخش می‌تواند برای ساخت سرویس‌های جداگانه Content Moderation و اتصال Moxra به سایر زبان‌ها و اپلیکیشن‌ها استفاده شود.


🏗️ ساختار پروژه

moxra/
│
├── .github/
│   └── workflows/
│
├── moxra/
│   └── Core Library
│
├── moxra_model/
│   └── Models
│
├── static/
│   └── img/
│
├── templates/
│
├── version/
│
├── API_SERVER.md
├── LICENSE
├── README.md
├── pyproject.toml
├── requirements.txt
├── setup.py
└── run.py

📚 Documentation

مستندات Moxra به بخش‌های مختلف تقسیم شده‌اند:

بخش توضیح
📦 Installation نصب کتابخانه
⚡ Quick Start شروع سریع
🖼️ Image Detection تشخیص تصویر
🎞️ GIF Detection تشخیص GIF
🎥 Video Detection تشخیص ویدئو
⚡ Async پردازش Async
🚀 GPU / CUDA شتاب‌دهی GPU
⚙️ Configuration تنظیمات
🔌 API Server ساخت API
📊 Statistics آمار
🛡️ Moderation سیستم فیلترینگ

🔍 Moxra برای چه کسانی است؟

Moxra برای توسعه‌دهندگانی ساخته شده که به یک راهکار Python برای:

NSFW Image Detection

NSFW Video Detection

Image Content Classification

AI Content Moderation

Automatic Media Filtering

Python Computer Vision

ONNX Inference

نیاز دارند.


🧩 تکنولوژی‌های استفاده‌شده


📋 خطاهای رایج

Exception توضیح
FileNotFoundError فایل یا مسیر موردنظر پیدا نشده است
ValueError مقدار یا فرمت ورودی نامعتبر است
RuntimeError خطا در فرآیند پردازش یا Inference

همیشه مطمئن شوید مسیر فایل، فرمت ورودی و وابستگی‌های موردنیاز به‌درستی تنظیم شده‌اند.


🐍 Python Compatibility

Moxra برای:

Python 3.8+

طراحی شده است.


📄 License

Moxra تحت MIT License منتشر شده است.

این بدان معناست که می‌توانید از Moxra در پروژه‌های شخصی و تجاری مطابق شرایط مجوز استفاده کنید.

مشاهده:

LICENSE


👨‍💻 توسعه‌دهنده

Abolfazl Zarei

ابوالفضل زارعی

Software Developer • Full-Stack Developer • Open Source Developer

GitHub Website Telegram Rubika


⭐ حمایت از Moxra

اگر Moxra برای پروژه شما مفید بود:

⭐ به Repository ستاره بدهید.

🍴 پروژه را Fork کنید.

📢 آن را با توسعه‌دهندگان دیگر به اشتراک بگذارید.

🐛 مشکلات را در GitHub Issues گزارش کنید.

💡 برای بهبود Moxra پیشنهاد خود را مطرح کنید.

هر ⭐ به دیده‌شدن بیشتر پروژه در GitHub کمک می‌کند.


🤝 مشارکت

مشارکت در توسعه Moxra آزاد است.

اگر ایده، Bug Fix یا Feature جدیدی دارید:

Fork
  ↓
Create Branch
  ↓
Make Changes
  ↓
Commit
  ↓
Pull Request

🔐 Disclaimer

Moxra یک ابزار automated content classification است.

نتایج مدل‌های Machine Learning ممکن است در برخی تصاویر، ویدئوها یا شرایط نوری دقیق نباشند. برای سیستم‌های حساس، می‌توانید خروجی Moxra را در کنار قوانین اختصاصی، Thresholdها و بررسی انسانی استفاده کنید.


🌐 Moxra

🛡️ Detect. Classify. Moderate.

Moxra — Python NSFW Detection & Content Moderation

🌐 Website

⭐ Star on GitHub

📦 PyPI


Made with ❤️ by Abolfazl Zarei

© Moxra — Open Source

About

کتابخانه Moxra (مکسرا) برای تشخیص محتوای NSFW در پایتون با استفاده از ONNX، با پشتیبانی از تصاویر، GIF و ویدئو، پردازش CPU/GPU و پردازش ناهمگام.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages