40977438ff7bb9863c854cb0d3599cbd8cf0bb8a
Add ability to download all episodes of a season with one click. Backend changes: - New POST /api/anime/download-season endpoint - Retrieves all episodes and creates download tasks for each - Returns list of task IDs and total episode count Frontend changes: - Add "Toute la saison" button next to episode selector - Button shown immediately when episodes are loaded - Confirmation dialog before starting batch download - Success message showing number of episodes queued Features: - Respects max_parallel limit (default: 3 concurrent downloads) - Proper episode naming (e.g., "Hells Paradise - Episode 01.mp4") - Works with all anime providers (Anime-Sama, Anime-Ultime, etc.) Example usage: - Click "Toute la saison" button on any anime card - Confirm the dialog - All episodes are queued and download automatically 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>
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 :
- Créez un fichier dans
app/downloaders/(ex:myhost.py) - Héritez de
BaseDownloader - Implémentez
can_handle(url)etget_download_link(url) - 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.
Description
Languages
Python
75.8%
HTML
10.6%
JavaScript
8.7%
TypeScript
2.5%
CSS
2.3%