Files
Agora/README.md
T

7.7 KiB

🐍 Hydr'Hacked

Important

Merci de bien lire tout ça avant de déployer le server
Si vous êtes débutant(e) cette vidéo devrait répondre à vos questions
Vidéo tutoriel + DB

Hydr'Hacked Logo

"Un immense merci à l'équipe technique d'Hydracker pour sa générosité. On a trouvé votre API tellement 'ouverte d'esprit' qu'on s'est permis de l'aider à partager ses liens sans les contraintes futiles d'un navigateur ou d'un abonnement. C'est presque trop facile, mais comme on dit : c'est l'intention qui compte." 💅


🚀 Présentation

Hydr'Hacked est une solution complète (Serveur API + Interface Web) pour crawler, rechercher et télécharger du contenu depuis plusieurs sources :

  • 🆓 ZT : Source principale, 100% gratuite et sans token (films et séries).
  • 📰 ZTNews : Source secondaire gratuite (ZT News) pour des exclusivités et nouveaux ajouts.
  • FreeTélécharger (FreeTel) : Source alternative gratuite avec de multiples miroirs.
  • 🗄️ LocalDB : Base de données locale intégrée pour des recherches hors-ligne instantanées (Films, Séries, Jeux, Logiciels, Musique, etc.).
  • 🛡️ Hydracker : Source premium secondaire (nécessite un token et une configuration).

Important

Nouveauté : La recherche, les tendances, les films ET les séries sont désormais 100% gratuits et sans aucun token par défaut grâce aux plugins ZT, ZTNews et FreeTel.
La db locale (LocalDB) est au même endroit que la vidéo tuto ;) au dessus.

Fonctionnalités

  • 🔍 Recherche & Tendances : Chercher vos films et séries ou récupérer les tendances.
  • 🗄️ Base de Données Locale : Recherche instantanée et hors-ligne grâce au plugin natif LocalDB.
  • 💻 Interface web : Interface web moderne et responsive (Dark Mode, animations fluides).
  • 🔗 Affichage des liens : Copier-coller le lien final s'affiche en un clic.
  • Intégration JDownloader : Envoi automatique des liens vers votre instance JDownloader (si activé dans les paramètres).

🔑 Ce qui nécessite (ou pas) un token

Fonctionnalité 100% gratuit
🔍 Recherche Gratuit (ZT / LocalDB)
🔥 Tendances Gratuit (ZT)
🎬 Films (liens 1fichier) Gratuit (ZT / LocalDB)
🖼️ Affiches (posters) Gratuit (proxy intégré)
📺 Séries (liens 1fichier) Gratuit (ZT / LocalDB)
🎮 Jeux / Logiciels / Ebooks Gratuit (LocalDB uniquement)

📸 Screenshots

Interface Web

Screenshot

Qualités

Screenshot


🛠️ Installation

🐳 Via Docker (Recommandé)

C'est la méthode la plus simple pour garder un environnement propre. Nous utilisons désormais une image pré-construite qui se met à jour automatiquement.

# 1. Cloner le projet (si ce n'est pas déjà fait)
git clone https://gitlab.com/nonobzh22/hydr-hacked

# 2. Préparer la configuration
cp .env.example .env

# 3. Lancer l'application
docker compose up -d

📍 Accès : http://localhost:3067

Tip

L'application utilise l'image registry.gitlab.com/nonobzh22/hydr-hacked:latest. Elle est reconstruite automatiquement à chaque mise à jour, vous n'avez plus besoin de compiler localement.


💻 Installation Manuelle

Pour ceux qui préfèrent une installation classique.

Prérequis : Node.js v20+

# 1. Préparer la configuration
cp .env.example .env

# 2. Installer les dépendances
npm install

# 3. Lancer l'application (compiler et démarrer)
npm run build && npm start

Tip

Si vous avez make installé, vous pouvez simplifier les commandes :

  • make start : Installe, compile et lance l'application.
  • make dev : Développement avec rechargement automatique (ou npm run dev).

📍 Accès : http://localhost:3067


⚙️ Configuration (.env)

Créez un fichier .env à la racine du projet et configurez les variables suivantes :

Variable Type Description
ZT_URL Requis URL complète du site ZT.
ZTNEWS_URL Optionnel URL complète de la source ZTNews.
FT_URL Optionnel URL complète de la source FreeTélécharger.
HYDRACKER_URL Optionnel URL complète de votre instance Hydracker (nécessaire si plugin actif).
API_PASSWORD Requis Mot de passe pour l'écran de connexion initial.
SECRET Requis Clé secrète pour les sessions.
HYDRACKER_API_KEY Optionnel Votre token Hydracker.
PORT Optionnel Port de l'application (Défaut : 3067).
DB_PATH Optionnel Chemin vers la base locale (Défaut : ./database/darkiworld.db).
JD_HOST Optionnel IP/Hôte de JDownloader.
JD_API_PORT Optionnel Port API de JDownloader (Défaut : 3128).

Warning

Les URLs des sites sources ne sont volontairement pas renseignées par défaut. Vous devez les remplir vous-même avec les URLs des sites sources respectifs.

Tip

Comment obtenir ma HYDRACKER_API_KEY ? Connectez-vous sur votre instance Hydracker, cherchez la page Paramètres du compte et descendez jusqu'à Jetons d'accès API. Cliquez sur Créer un jeton et copiez le token généré dans le champ HYDRACKER_API_KEY de votre .env.

🧩 Créer un nouveau Plugin

L'architecture d'Hydr'Hacked est modulaire. Vous pouvez facilement ajouter une nouvelle source en créant un plugin qui implémente l'interface ISource.

1. Structure

Créez un dossier dans plugins/[NomDeVotreSource]/. Vous aurez généralement besoin de :

  • index.ts : Point d'entrée et implémentation de la classe.
  • api.ts : Fonctions d'appels réseau.
  • parser.ts : Logique d'extraction des données (Cheerio, JSON, etc.).

2. Implémentation

Votre classe doit implémenter ISource (src/types/source.ts) :

export interface ISource {
    name: string;
    healthCheck(): Promise<boolean>;
    search(query: string, mediaType?: MediaType): Promise<SearchResult[]>;
    getTrending(mediaType: MediaType): Promise<SearchResult[]>;
    getSelection(identifier: string, type?: string, seasonValue?: string | number): Promise<SelectionData>;
    resolveLink?(linkId: string): Promise<string | null>; // Optionnel
}

3. Enregistrement

À la fin de votre fichier index.ts, enregistrez votre source :

sourceRegistry.register(new VotrePluginAPI(CONFIG.VOTRE_URL));

Le serveur découvrira et chargera automatiquement votre plugin au démarrage.

Note Liminaire

Cet outil est une preuve de concept destinée à la recherche et à l'apprentissage. Son auteur ne cautionne aucun usage abusif ni aucune violation de droits tiers. Il appartient à chaque utilisateur de s'assurer que ses activités restent conformes à la législation ; la responsabilité de l'usage incombe exclusivement à l'utilisateur final.

🤝 Un Projet Communautaire

Hydr'Hacked est un projet fait par la communauté, pour la communauté. Parce que le savoir (et les liens de téléchargement) ne devrait jamais être prisonnier derrière des murs de paye ou des scripts de sécurité mal conçus. Chaque Pull Request est la bienvenue, tant qu'elle contribue à rendre l'accès encore plus fluide et... disons, "généreux".

Note Liminaire

Cet outil est une preuve de concept destinée à la recherche et à l'apprentissage. Son auteur ne cautionne aucun usage abusif ni aucune violation de droits tiers. Il appartient à chaque utilisateur de s'assurer que ses activités restent conformes à la législation ; la responsabilité de l'usage incombe exclusivement à l'utilisateur final.

📜 Licence

Projet sous licence MIT. Faites-en bon usage (ou pas, on ne juge pas).