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

107 lines
3.1 KiB
Markdown

# 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
```bash
# 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 :**
```bash
curl -X POST http://localhost:8000/api/download \
-H "Content-Type: application/json" \
-d '{"url": "https://1fichier.com/?xxxxx"}'
```
**Lister les téléchargements :**
```bash
curl http://localhost:8000/api/downloads
```
**Mettre en pause :**
```bash
curl -X POST http://localhost:8000/api/download/{task_id}/pause
```
**Reprendre :**
```bash
curl -X POST http://localhost:8000/api/download/{task_id}/resume
```
**Annuler :**
```bash
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`.