c977306020ab0da4135ba0c2c554d1ec7bf6b10b
Replace direct URL conversion with official Anime-Sama search API that handles typos, partial matches, and returns multiple results with cover images. Changes: - Use /template-php/defaut/fetch.php API endpoint for search - Parse HTML search results to extract title, URL, and cover image - Return multiple results instead of single direct match - Support for fuzzy matching (e.g., "hell paradise" finds "Hell's Paradise") Examples: - "hell paradise" → finds "Hell's Paradise" (handles missing 's') - "one pie" → finds "One Piece" (handles incomplete words) - "dragon" → returns 5 Dragon Ball series with cover images 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%