Files
ohm_streaming/README.md
T
root cb3ea8d926 feat: Add SendVid downloader support
Add complete support for SendVid video hosting service used by Anime-Sama
for anime series like Hell's Paradise.

Changes:
- Create SendVidDownloader class with proper headers to avoid 403 errors
- Add SendVid detection and handling in AnimeSamaDownloader
- Update download_manager to include SendVid-specific headers
- Support custom episode naming (e.g., "Hells Paradise - Episode 01.mp4")

Technical details:
- SendVid embed pages require User-Agent and Referer headers
- Direct MP4 URLs extracted from <source> tags with IP/time-based parameters
- Tested with Hell's Paradise Episode 01 (7MB, 24min, 1280x720)

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-23 08:17:10 +00:00

3.1 KiB

Ohm Stream Downloader

Web application pour télécharger des fichiers depuis divers hébergeurs (1fichier, Doodstream, Rapidfile, etc.).

Fonctionnalités

  • Multi-hébergeurs : Support pour 1fichier, Doodstream, Rapidfile et plus
  • Téléchargements parallèles : Jusqu'à 3 téléchargements simultanés
  • Pause/Reprise : Mettez en pause et reprenez vos téléchargements
  • Interface web moderne : Interface intuitive avec progression en temps réel
  • API REST : Intégration facile avec d'autres applications

Installation

# Créer l'environnement virtuel
python3 -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# Installer les dépendances
pip install -r requirements.txt

# Lancer le serveur
uvicorn main:app --reload --host 0.0.0.0 --port 8000

Utilisation

Interface Web

Ouvrez votre navigateur sur : http://localhost:8000/web

Collez simplement un lien de téléchargement et cliquez sur "Télécharger".

API

Créer un téléchargement :

curl -X POST http://localhost:8000/api/download \
  -H "Content-Type: application/json" \
  -d '{"url": "https://1fichier.com/?xxxxx"}'

Lister les téléchargements :

curl http://localhost:8000/api/downloads

Mettre en pause :

curl -X POST http://localhost:8000/api/download/{task_id}/pause

Reprendre :

curl -X POST http://localhost:8000/api/download/{task_id}/resume

Annuler :

curl -X DELETE http://localhost:8000/api/download/{task_id}

API Endpoints

Méthode Endpoint Description
POST /api/download Créer un nouveau téléchargement
GET /api/downloads Lister tous les téléchargements
GET /api/download/{task_id} Statut d'un téléchargement
POST /api/download/{task_id}/pause Mettre en pause
POST /api/download/{task_id}/resume Reprendre
DELETE /api/download/{task_id} Annuler/Supprimer
GET /api/download/{task_id}/file Télécharger le fichier terminé
GET /web Interface web

Structure du Projet

Ohm_streaming/
├── main.py                  # Application FastAPI
├── app/
│   ├── models/              # Modèles de données
│   ├── downloaders/         # Extracteurs de liens par hébergeur
│   └── download_manager.py  # Gestionnaire de téléchargements
├── downloads/               # Fichiers téléchargés
├── templates/
│   └── index.html           # Interface web
└── static/                  # Fichiers statiques

Ajouter un Hébergeur

Pour ajouter le support d'un nouvel hébergeur :

  1. Créez un fichier dans app/downloaders/ (ex: myhost.py)
  2. Héritez de BaseDownloader
  3. Implémentez can_handle(url) et get_download_link(url)
  4. Ajoutez le downloader dans app/downloaders/__init__.py

Configuration

  • max_parallel : Nombre maximum de téléchargements simultanés (défaut: 3)
  • download_dir : Répertoire de stockage (défaut: "downloads")

Modifiez ces paramètres dans main.py.