Indexeur haute performance pour YGG Torrent écrit en Rust
🤖 Fork "Vibe Code" — Intégration FlareSolverr
Ce fork a été modifié par vibe coding (assisté par IA) pour intégrer FlareSolverr comme mécanisme de fallback contre les challenges Cloudflare.
Quand
wreqseul n'arrive plus à passer le challenge CF (erreur 403, pas de cookieygg_), ygege délègue automatiquement la résolution à un conteneur FlareSolverr, récupère les cookies de bypass, et les réinjecte dans le clientwreqpour poursuivre le login normalement.Fichiers modifiés :
src/flaresolverr.rs(nouveau),src/config.rs,src/auth.rs,src/main.rs,docker/compose.yml
- ⚡ Recherche quasi instantanée
- 🔒 Bypass Cloudflare automatisé via émulation TLS/HTTP2 (wreq)
- 🛡️ Fallback FlareSolverr optionnel si le bypass
wreqéchoue (nouveau) - 🔄 Résolution automatique du domaine actuel de YGG Torrent
- 🔁 Reconnexion transparente aux sessions expirées + cache de sessions
- 🌐 Contournement des DNS menteurs (fallback Cloudflare DNS)
- 💾 Consommation mémoire faible (~15 Mo en release sur Linux)
- 🔍 Recherche modulaire (nom, seed, leech, commentaires, date, etc.)
- 📦 Aucune dépendance externe, aucun driver de navigateur
L'image officielle est disponible sur le GitHub Container Registry :
docker pull ghcr.io/obijc/ygege:latestNote : Pour compiler l'image vous-même, consultez le Guide Docker complet.
Éditez docker/compose.yml pour renseigner vos identifiants YGG et optionnellement activer FlareSolverr :
services:
ygege:
image: ghcr.io/obijc/ygege:latest
environment:
YGG_USERNAME: "votre_username"
YGG_PASSWORD: "votre_password"
# FLARESOLVERR_URL: "http://flaresolverr:8191" # Décommenter pour activer
# Décommenter le bloc ci-dessous pour activer FlareSolverr :
# flaresolverr:
# image: ghcr.io/flaresolverr/flaresolverr:latest
# ports:
# - "8191:8191"cd docker
docker compose up -dFlareSolverr est un service qui résout les challenges Cloudflare via un vrai navigateur headless. Ygege l'utilise uniquement en fallback : si le bypass wreq classique échoue, ygege envoie une requête à FlareSolverr, récupère les cookies de résolution, les injecte dans son client HTTP, et reprend le flow normal.
- Dans
docker/compose.yml, décommentez le serviceflaresolverr - Décommentez la ligne
FLARESOLVERR_URLdans les env vars deygege - Relancez :
docker compose up -d
| Variable d'environnement | Description | Exemple |
|---|---|---|
FLARESOLVERR_URL |
URL du service FlareSolverr (optionnel) | http://flaresolverr:8191 |
| Variable | Description | Défaut |
|---|---|---|
YGG_USERNAME |
Identifiant YGG (obligatoire) | — |
YGG_PASSWORD |
Mot de passe YGG (obligatoire) | — |
BIND_IP |
IP d'écoute | 0.0.0.0 |
BIND_PORT |
Port d'écoute | 8715 |
LOG_LEVEL |
Niveau de log (off, error, warn, info, debug, trace) |
debug |
TMDB_TOKEN |
Token API TMDB (optionnel, pour recherche TMDB/IMDB) | — |
YGG_DOMAIN |
Forcer un domaine YGG spécifique | auto-détecté |
TURBO_ENABLED |
Mode turbo | false |
FLARESOLVERR_URL |
URL FlareSolverr (optionnel) | — |
Copiez ygege.yml dans {appdata prowlarr}/Definitions/Custom/, puis redémarrez Prowlarr.
Note
URL par défaut : http://localhost:8715/. En Docker Compose : http://ygege:8715/.
Copiez ygege.yml dans {appdata jackett}/cardigann/definitions/, puis redémarrez Jackett.
- Cookie magique : Ygege injecte
account_created=truepour désactiver le challenge CF initial - Émulation TLS/HTTP2 : Via wreq, reproduction fidèle du fingerprint Chrome 132
- Fallback FlareSolverr (nouveau) : Si le cookie
ygg_n'est pas obtenu, FlareSolverr résout le challenge via un vrai navigateur headless
Warning
L'émulation wreq ne fonctionne plus à partir de Chrome 133+ (HTTP/3). C'est la raison d'être de l'intégration FlareSolverr.
Articles recommandés :
- Rust 1.85.0+
- OpenSSL 3+
- Dépendances de wreq
Ou utilisez simplement Docker : voir le Guide Docker.
