mirror of
https://github.com/MasterAcnolo/Freedom-Loader.git
synced 2026-07-29 18:25:47 +02:00
Push avant l'enfer (PRIDEFUl - NF)
This commit is contained in:
@@ -1,31 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Document</title>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
// fetch("https://api.nobelprize.org/2.1/nobelPrizes")
|
||||
// .then(response => response.json())
|
||||
// .then(data => {
|
||||
// console.log(data);
|
||||
// return data;
|
||||
// // Faut prendre son temps et faire chaque chose en son temps
|
||||
// })
|
||||
// .then(data => document.write(JSON.stringify(data)))
|
||||
// .catch(error => console.log("Erreur:" , error))
|
||||
|
||||
fetch("https://api.chucknorris.io/jokes/random")
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
return data.value;
|
||||
})
|
||||
.then(jokes => document.write(JSON.stringify(jokes)))
|
||||
.catch(error => console.log("Erreur: ", error))
|
||||
|
||||
// Ne pas oublier de retourner les bons éléments au bon moment
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,6 +1,7 @@
|
||||
const express = require("express");
|
||||
const router = express.Router();
|
||||
const { exec } = require("child_process");
|
||||
const path = require("path");
|
||||
|
||||
router.post("/", (req, res) => {
|
||||
const options = {
|
||||
@@ -14,6 +15,12 @@ router.post("/", (req, res) => {
|
||||
return res.status(400).send("❌ URL manquante !");
|
||||
}
|
||||
|
||||
// Récupérer le chemin Freedom Loader Output depuis app.locals
|
||||
const outputFolder = req.app.locals.outputFolder;
|
||||
|
||||
// Construire le template de sortie
|
||||
const outputTemplate = path.join(outputFolder, "%(title)s.%(ext)s");
|
||||
|
||||
let command = `yt-dlp`;
|
||||
|
||||
if (options.audioOnly) {
|
||||
@@ -25,18 +32,18 @@ router.post("/", (req, res) => {
|
||||
}
|
||||
|
||||
command += ` -f ${options.quality}`;
|
||||
command += ` -o "downloads/%(title)s.%(ext)s"`;
|
||||
command += ` -o "${outputTemplate}"`;
|
||||
command += ` "${options.url}"`;
|
||||
|
||||
console.log("🔧 Commande finale :", command);
|
||||
|
||||
exec(command, (error, stdout, stderr) => {
|
||||
if (error) {
|
||||
console.error("Erreur yt-dlp :", stderr || error.message);
|
||||
console.error("❌ Erreur yt-dlp :", stderr || error.message);
|
||||
return res.status(500).send("❌ Erreur pendant le téléchargement.");
|
||||
}
|
||||
|
||||
console.log("yt-dlp terminé :", stdout);
|
||||
console.log("✅ yt-dlp terminé :", stdout);
|
||||
res.send("✅ Téléchargement terminé !");
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,27 +1,38 @@
|
||||
const express = require("express");
|
||||
const { exec } = require("child_process"); // Requis pour écrire dans un terminal
|
||||
const { exec } = require("child_process");
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
|
||||
const app = express();
|
||||
|
||||
// import des routes
|
||||
const infoRoute = require("./routes/info");
|
||||
const downloadRoute = require("./routes/download");
|
||||
|
||||
app.use(express.urlencoded({ extended: true })); // Pour pouvoir recevoir plein de truc
|
||||
// Chemin vers le dossier Téléchargements de l'utilisateur
|
||||
const downloadsPath = path.join(process.env.USERPROFILE, 'Downloads');
|
||||
|
||||
if (!fs.existsSync("downloads")) { // Si jamais il n'y a pas de dossier downloads
|
||||
fs.mkdirSync("downloads"); // On le crée
|
||||
// Créer un sous-dossier "Freedom Loader Output" dans le dossier Téléchargements
|
||||
const outputFolder = path.join(downloadsPath, 'Freedom Loader Output');
|
||||
|
||||
if (!fs.existsSync(outputFolder)) {
|
||||
fs.mkdirSync(outputFolder);
|
||||
console.log("✅ Dossier Freedom Loader Output créé dans Téléchargements.");
|
||||
}
|
||||
|
||||
app.use(express.static("public")); // Ca c'est pour ouvrir le serveur, comme ça plus besoin d'utiliser live server
|
||||
// rendre le chemin accessible à tes routes
|
||||
app.locals.outputFolder = outputFolder;
|
||||
|
||||
app.use(express.urlencoded({ extended: true }));
|
||||
|
||||
// route pour le formulaire de téléchargement
|
||||
app.use("/download", downloadRoute); // on associe le contenu de infos.js à /download
|
||||
// route pour l'info
|
||||
app.use("/info", infoRoute); // on associe le contenu de infos.js à /info
|
||||
// servir le dossier public comme site
|
||||
app.use(express.static("public"));
|
||||
|
||||
// routes
|
||||
app.use("/download", downloadRoute); // ex: /download
|
||||
app.use("/info", infoRoute); // ex: /info
|
||||
|
||||
app.listen(8080, () => {
|
||||
console.log("🟢 Serveur prêt sur http://localhost:8080 \n Bonjour!");
|
||||
console.log("🟢 Serveur prêt sur http://localhost:8080");
|
||||
console.log("📂 Dossier de sortie :", outputFolder);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user