Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
3.5 KiB
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.