Co-authored-by: barkeser2002 <45911502+barkeser2002@users.noreply.github.com>
AniScrap
AniScrap, modern ve ölçeklenebilir bir anime yayın ve yönetim platformudur. Django, Celery ve Redis altyapısı üzerine inşa edilmiş olup, HLS yayın, video şifreleme ve gelişmiş bir yönetim paneli sunar.
🚀 Özellikler
- Video İşleme: FFmpeg ile otomatik HLS transcoding (H.265/HEVC), segmentleme ve şifreleme.
- Gelişmiş Yönetim Paneli: Django-Unfold tabanlı, sunucu sağlığı (CPU/RAM), bant genişliği ve içerik istatistiklerini gösteren dashboard.
- Akıllı İçerik Yönetimi: Anime ve bölümler için Soft Delete özelliği, toplu işlemler.
- Reklam Sistemi: Dinamik reklam yerleşimi (AdSlots).
- Ödeme ve Abonelik: Shopier entegrasyonu ve abonelik planları.
- Güvenlik: IP tabanlı ban sistemi, oturum hızı sınırlama (Rate Throttling).
- Scraping: Otomatik içerik çekme modülü (
scraper_module).
🛠️ Teknoloji Yığını
- Backend: Python 3, Django 5.0+
- API: Django REST Framework
- Veritabanı: MySQL (Prod), SQLite (Dev)
- Kuyruk & Önbellek: Redis, Celery
- Video: FFmpeg, libtorrent
- Frontend: Django Templates, Tailwind CSS, Plyr, Hls.js
📋 Gereksinimler
Kuruluma başlamadan önce sisteminizde aşağıdakilerin yüklü olduğundan emin olun:
- Python 3.10 veya üzeri
- Redis Server
- FFmpeg (Video işleme için gereklidir)
- MySQL (Prod ortamı için opsiyonel)
⚙️ Kurulum
-
Depoyu Klonlayın:
git clone https://github.com/bariskeser/aniscrap-core.git cd aniscrap-core -
Sanal Ortam Oluşturun:
python -m venv venv source venv/bin/activate # Windows için: venv\Scripts\activate -
Bağımlılıkları Yükleyin:
pip install -r requirements.txt -
Ortam Değişkenleri: Varsayılan olarak proje SQLite veritabanı kullanacak şekilde ayarlanmamıştır. Geliştirme ortamı için
USE_SQLITEdeğişkenini kullanabilirsiniz.Linux/Mac:
export USE_SQLITE=TrueWindows (Powershell):
$env:USE_SQLITE="True" -
Veritabanı Kurulumu: Otomatik kurulum komutunu kullanarak veritabanını oluşturun ve varsayılan yönetici hesabını açın:
python manage.py migrate # Veya tam kurulum için (migration + superuser + site settings): python manage.py init_aniscrapNot:
init_aniscrapkomutuadminkullanıcısını123123123şifresiyle oluşturur. -
Sunucuyu Başlatın:
python manage.py runserver -
Celery Worker (Arka Plan İşleri): Video işleme gibi görevler için Celery worker'ı ayrı bir terminalde çalıştırın:
celery -A aniscrap_core worker -l info
🌐 Kullanım
- Ana Sayfa:
http://localhost:8000/ - Yönetim Paneli:
http://localhost:8000/admin/- Kullanıcı:
admin - Şifre:
123123123(Eğerinit_aniscrapçalıştırıldıysa)
- Kullanıcı:
📁 Proje Yapısı
aniscrap_core/: Proje ayarları.core/: Temel modeller, dashboard ve yardımcı araçlar.content/: Anime, Bölüm ve Video modelleri.users/: Kullanıcı yönetimi.billing/: Ödeme ve abonelik sistemleri.scraper_module/: İçerik botları.
📝 Notlar
- Video yüklemeleri ve encode işlemleri arka planda Celery ile yapılır. Redis servisinin çalıştığından emin olun.
- Prod ortamında
DEBUG=Falseve MySQL kullanılması önerilir.