root c977306020 feat: Improve Anime-Sama search with fuzzy matching
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>
2026-01-23 08:28:15 +00:00
2026-01-23 08:17:10 +00:00
2026-01-23 08:17:10 +00:00
2026-01-23 08:17:10 +00:00

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.

S
Description
No description provided
Readme 8.2 MiB
Languages
Python 75.8%
HTML 10.6%
JavaScript 8.7%
TypeScript 2.5%
CSS 2.3%