4.9 KiB
4.9 KiB
🐺 Lycostorrent
Version 1.0.0 | Interface de recherche de torrents multi-sources
📋 Description
Lycostorrent est une interface web unifiée pour rechercher des torrents sur plusieurs sources :
- Jackett - Agrégateur d'indexers
- Prowlarr - Gestionnaire d'indexers
- Flux RSS - Sources personnalisées
L'application enrichit automatiquement les résultats avec les métadonnées de TMDb (films/séries) et Last.fm (musique).
✨ Fonctionnalités
Recherche
- 🔍 Recherche multi-trackers simultanée
- 🏷️ Parsing intelligent des titres (qualité, codec, langue, HDR)
- 🔄 Filtres dynamiques côté client
- 📊 Tri par seeders, taille, date, nom
- 📱 Interface responsive (mobile-friendly)
Nouveautés
- 🎬 Dernières sorties Films/Séries avec affiches TMDb
- 🎵 Dernières sorties Musique avec pochettes Last.fm
- 🎌 Catégorie Anime dédiée
- 📦 Regroupement intelligent des versions
Administration
- ⚙️ Configuration des catégories par tracker
- 🏷️ Gestion des tags de parsing
- 📡 Gestion des flux RSS avec Flaresolverr
🚀 Installation
Prérequis
- Docker & Docker Compose
- Jackett et/ou Prowlarr configurés
- Clés API : TMDb, Last.fm (optionnel)
Docker Compose
version: '3.8'
services:
lycostorrent:
build: .
container_name: lycostorrent
ports:
- "5555:5000"
environment:
# Sources (au moins une requise)
- JACKETT_URL=http://jackett:9117
- JACKETT_API_KEY=votre_api_key
- PROWLARR_URL=http://prowlarr:9696
- PROWLARR_API_KEY=votre_api_key
# Enrichissement (optionnel mais recommandé)
- TMDB_API_KEY=votre_api_key
- LASTFM_API_KEY=votre_api_key
# Flaresolverr pour RSS protégés (optionnel)
- FLARESOLVERR_URL=http://flaresolverr:8191
# Logs
- LOG_LEVEL=INFO
volumes:
- ./config:/app/config
- ./logs:/app/logs
restart: unless-stopped
Lancement
docker-compose up -d
Accéder à : http://votre-ip:5555
📁 Structure
lycostorrent/
├── app/
│ ├── main.py # Application Flask
│ ├── config.py # Configuration
│ ├── indexer_manager.py # Gestion Jackett/Prowlarr
│ ├── jackett_api.py # API Jackett
│ ├── prowlarr_api.py # API Prowlarr
│ ├── tmdb_api.py # API TMDb
│ ├── lastfm_api.py # API Last.fm
│ ├── torrent_parser.py # Parsing des titres
│ ├── rss_source.py # Gestion flux RSS
│ ├── templates/ # Templates HTML
│ └── static/ # CSS, JS
├── config/ # Configuration persistante
├── logs/ # Logs applicatifs
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
├── VERSION
├── CHANGELOG.md
└── README.md
🔧 Configuration
Variables d'environnement
| Variable | Requis | Description |
|---|---|---|
JACKETT_URL |
* | URL de Jackett |
JACKETT_API_KEY |
* | Clé API Jackett |
PROWLARR_URL |
* | URL de Prowlarr |
PROWLARR_API_KEY |
* | Clé API Prowlarr |
TMDB_API_KEY |
Non | Clé API TMDb (enrichissement) |
LASTFM_API_KEY |
Non | Clé API Last.fm (enrichissement) |
FLARESOLVERR_URL |
Non | URL Flaresolverr (RSS protégés) |
LOG_LEVEL |
Non | Niveau de log (INFO, DEBUG, WARNING) |
* Au moins Jackett OU Prowlarr requis
Obtenir les clés API
📱 Pages
| Route | Description |
|---|---|
/ |
Page de recherche |
/latest |
Nouveautés (films, séries, anime, musique) |
/admin/latest |
Config catégories par tracker |
/admin/parsing |
Config tags de parsing |
/admin/rss |
Config flux RSS |
🔒 Sécurité
- ✅ Headers HTTP de sécurité
- ✅ Validation des entrées
- ✅ Protection XSS
- ✅ Protection SSRF
- ✅ Masquage des secrets
Voir SECURITY_AUDIT.md pour les détails.
📝 Changelog
Voir CHANGELOG.md pour l'historique des versions.
🐛 Dépannage
Aucun tracker trouvé
- Vérifier les URLs et clés API
- Vérifier que Jackett/Prowlarr sont accessibles
Pas d'enrichissement TMDb
- Vérifier la clé API TMDb
- Les logs montrent les erreurs de recherche
RSS retourne 403
- Activer Flaresolverr
- Ajouter les cookies de session
📄 Licence
Projet personnel - Usage privé uniquement.
Développé avec ❤️ et l'aide de Claude (Anthropic)