Le module Gofile Downloader permet d'interagir facilement avec l'API de Gofile.io pour récupérer des fichiers hébergés sur leur plateforme. Il simplifie les étapes d'authentification et d'accès aux fichiers partagés en utilisant un token invité. Ce module est destiné à être utilisé dans des applications Node.js pour automatiser le téléchargement de fichiers à partir de Gofile.io.
- Node.js (version 12 ou supérieure)
- npm (ou yarn)
Dans le terminal, exécutez la commande suivante pour installer le module via npm :
npm install gofile-downloader
Si vous voulez cloner ce repository directement depuis GitHub, utilisez la commande suivante :
git clone https://github.com/jujukingg/gofile-downloader.git
cd gofile-downloader
npm install
Voici un aperçu des différentes fonctionnalités du module gofile-downloader
.
Une fois que vous avez un contentId
, vous pouvez obtenir un lien de téléchargement direct du fichier hébergé sur Gofile.io.
const { getDownloadLink } = require('gofile-downloader');
(async () => {
try {
const contentId = 'ID_OU_LIEN'; // Remplacez par un ID de contenu valide
const link = await getDownloadLink(contentId);
console.log(`Lien de téléchargement : ${link}`);
} catch (err) {
console.error('Erreur :', err.message);
}
})();
Pour interagir avec l'API de Gofile, vous devez d'abord obtenir un token invité. Ce token est nécessaire pour effectuer des requêtes sur l'API.
const { getToken } = require('gofile-downloader');
(async () => {
try {
const token = await getToken();
console.log(`Token récupéré : ${token}`);
} catch (err) {
console.error('Erreur :', err.message);
}
})();
Cette fonction permet de récupérer une liste de tous les fichiers d'un contenu partagé. Pour chaque fichier, le nom, la taille et le lien de téléchargement seront fournis.
const { listFiles } = require('gofile-downloader');
(async () => {
try {
const contentId = 'ID_OU_LIEN'; // Remplacez par un ID valide
const files = await listFiles(contentId);
files.forEach(file => {
console.log(`Nom : ${file.name}, Taille : ${file.size} octets, Lien : ${file.link}`);
});
} catch (err) {
console.error('Erreur :', err.message);
}
})();
Cette fonction permet de récupérer le contenu d'un fichier spécifique (en l’occurrence, son lien direct).
const { getContent } = require('gofile-downloader');
(async () => {
try {
const contentId = 'ID_OU_LIEN'; // Remplacez par un ID de contenu valide
const token = await getToken();
const wt = await getWt();
const content = await getContent(contentId, token, wt);
console.log(`Contenu récupéré : ${content}`);
} catch (err) {
console.error('Erreur :', err.message);
}
})();
Le module récupère aussi la valeur wt
, nécessaire pour effectuer certaines requêtes à l'API.
const { getWt } = require('gofile-downloader');
(async () => {
try {
const wt = await getWt();
console.log(`Valeur wt récupérée : ${wt}`);
} catch (err) {
console.error('Erreur :', err.message);
}
})();
Retourne le lien de téléchargement d'un fichier spécifié par son contentId
.
const downloadLink = await getDownloadLink('ID_OU_LIEN');
Liste les fichiers d'un contenu spécifié par contentId
, avec leur nom, taille et lien de téléchargement.
const files = await listFiles('ID_OU_LIEN');
Récupère le contenu d'un fichier spécifique à partir de son contentId
, du token
et de la valeur wt
.
const content = await getContent('ID_OU_LIEN', token, wt);
Retourne un token invité pour interagir avec l'API de Gofile.io.
const token = await getToken();
Récupère la valeur wt
nécessaire pour effectuer certaines requêtes sur l'API de Gofile.io.
const wt = await getWt();
-
CONTENT_ID :
Vous pouvez définir manuellement uncontentId
(l'ID ou le lien Gofile) directement dans le fichier à la ligne 4 du fichiertest.js
.
Sinon, vous pouvez aussi passer l'ID ou le lien directement en argument lors du test.
Pour tester le module, exécutez simplement le fichier test.js
.
Il contient plusieurs exemples pour utiliser toutes les fonctions disponibles.
Assurez-vous d'avoir installé toutes les dépendances avant d'exécuter les tests.
npm test ["ID_OU_LIEN"]
- L'argument
"ID_OU_LIEN"
est optionnel :- Si vous le fournissez, il sera utilisé.
- Sinon, la valeur définie dans le fichier
test.js
(ligne 4) sera prise par défaut.
Ce projet est sous licence ISC, avec une exigence supplémentaire :
- Toute utilisation, modification, distribution ou réutilisation de ce module doit obligatoirement inclure une mention claire de l'auteur original (JujuKing) dans votre projet, votre documentation ou votre dépôt.
- Si vous modifiez ou améliorez ce code, vous devez forker le dépôt original et conserver un lien vers celui-ci.
- Toute reprise du code sans attribution claire à l'auteur initial est strictement interdite.