2026-09-15 21:56:10 +02:00
2026-09-15 21:56:10 +02:00
2026-09-15 21:56:10 +02:00
2026-09-15 21:56:10 +02:00
2026-09-15 21:56:10 +02:00
2026-09-15 21:56:10 +02:00
2026-09-15 21:56:10 +02:00
2026-09-15 21:56:10 +02:00
2026-09-15 21:56:10 +02:00
2026-09-15 21:56:10 +02:00
2026-09-15 21:56:10 +02:00
2026-09-15 21:56:10 +02:00
2026-09-15 21:56:10 +02:00
2026-09-15 21:56:10 +02:00

🐍 Agora

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

Agora 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

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

  • 🆓 Zone-Telechargement (ZT) : Source principale, 100% gratuite et sans token (films et séries). Les affiches et titres sont automatiquement enrichis par TMDB.
  • 📰 ZTNews : Source secondaire gratuite (Zone-Téléchargement News) pour des exclusivités et nouveaux ajouts.
  • FreeTélécharger (FreeTel) : Source alternative gratuite avec de multiples miroirs.
  • 🍿 FS24 : Source spécialisée pour des films, séries et animés via streaming/téléchargement direct communautaire (nécessite un compte).
  • 🎬 FlixArt : Source communautaire avec liens DDL, qualités et langues détaillées (nécessite un compte).
  • 📦 Loadix : Source communautaire avec une API JSON propre — tendances, récents, recherche et qualités (pas de compte requis).
  • 🎥 Movix : Source alternative gratuite de films et séries.
  • 🗄️ 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é 1.5.2 : Ajout du plugin FS24 avec support des tendances et ajouts récents, correction de l'enrichissement TMDB pour ZT, et sécurisation des paramètres utilisateurs (qui sont désormais stockés dans database/config.json et n'écrasent plus votre fichier .env). Nouveauté 1.5.4 : Petite correction d'urgence concernant un encodage d'URL qui faisait planter les appels à l'API Hydracker (Erreur 401 Unauthorized sur les channels et titles). Nouveauté 1.5.5 :

  • Hydracker : Correction de l'erreur 403 sur l'accès aux liens en utilisant l'endpoint /download pour les films et les séries. Les saisons sont désormais récupérées directement via la fiche du titre, et les liens de séries s'obtiennent en itérant sur les épisodes.
  • FreeTélécharger : Mise à jour de l'expression régulière du domaine pour supporter le nouveau TLD .biz (et tout autre changement de TLD futur pour liens.free-telecharger.*).

Nouveauté 1.5.6 :

  • Loadix : Nouveau plugin communautaire avec recherche, tendances, ajouts récents et affichage détaillé des qualités/langues/tailles. Les liens sont protégés par Cloudflare Turnstile — l'utilisateur est redirigé vers le site pour résoudre le captcha manuellement.
  • FlixArt : Nettoyage complet du plugin — suppression de toute la logique Turnstile embarquée (impossible à résoudre en local). L'utilisateur est désormais redirigé vers le site source.
  • Architecture : Toutes les URLs sont désormais 100% dynamiques via database/config.json — plus aucun lien en dur dans le code source.

La db locale (LocalDB) est au même endroit que la vidéo tuto ;) au dessus.

Nouveauté 1.5.9 :

  • Movix & TMDB : Implémentation directe de l'API TMDB pour des tendances et récents ultra qualitatifs. Recherche automatique en arrière-plan lors du clic.
  • Filtres et Interface : Ajout d'une icône TMDB sur chaque affiche pour faire des recherches rapidement, et filtres Films/Séries sur la page des ajouts récents.
  • JDownloader : Option de 'Démarrage forcé' indépendante de l'ajout automatique.
  • Nettoyage : Disparition d'Hydracker et nettoyage silencieux d'Uptobox.

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://github.com/NoNoBzH22/Agora

# 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 ghcr.io/nonobzh22/Agora: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 Zone-Telechargement.
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).
HYDRACKER_API_KEY Optionnel Votre token Hydracker.
FS24_URL Optionnel URL complète de FS24.
FS24_USERNAME Optionnel Identifiant FS24.
FS24_PASSWORD Optionnel Mot de passe FS24.
MOVIX_URL Optionnel URL complète de Movix.
FLIXART_URL Optionnel URL complète de FlixArt.
FLIXART_USERNAME Optionnel Identifiant FlixArt.
FLIXART_PASSWORD Optionnel Mot de passe FlixArt.
LOADIX_URL Optionnel URL complète de Loadix.
SECRET Requis Clé secrète pour les sessions.
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'Agora 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.

🤝 Un Projet Communautaire

Agora 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).

S
Description
Agora - API Proxy and Frontend
Readme 13 MiB
Languages
TypeScript 55.6%
JavaScript 22%
EJS 14.1%
CSS 7.9%
Makefile 0.3%