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:
Binary file not shown.
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 15 KiB |
@@ -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 express = require("express");
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
const { exec } = require("child_process");
|
const { exec } = require("child_process");
|
||||||
|
const path = require("path");
|
||||||
|
|
||||||
router.post("/", (req, res) => {
|
router.post("/", (req, res) => {
|
||||||
const options = {
|
const options = {
|
||||||
@@ -14,6 +15,12 @@ router.post("/", (req, res) => {
|
|||||||
return res.status(400).send("❌ URL manquante !");
|
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`;
|
let command = `yt-dlp`;
|
||||||
|
|
||||||
if (options.audioOnly) {
|
if (options.audioOnly) {
|
||||||
@@ -25,18 +32,18 @@ router.post("/", (req, res) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
command += ` -f ${options.quality}`;
|
command += ` -f ${options.quality}`;
|
||||||
command += ` -o "downloads/%(title)s.%(ext)s"`;
|
command += ` -o "${outputTemplate}"`;
|
||||||
command += ` "${options.url}"`;
|
command += ` "${options.url}"`;
|
||||||
|
|
||||||
console.log("🔧 Commande finale :", command);
|
console.log("🔧 Commande finale :", command);
|
||||||
|
|
||||||
exec(command, (error, stdout, stderr) => {
|
exec(command, (error, stdout, stderr) => {
|
||||||
if (error) {
|
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.");
|
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é !");
|
res.send("✅ Téléchargement terminé !");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,27 +1,38 @@
|
|||||||
const express = require("express");
|
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 fs = require("fs");
|
||||||
|
const path = require("path");
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
|
|
||||||
|
// import des routes
|
||||||
const infoRoute = require("./routes/info");
|
const infoRoute = require("./routes/info");
|
||||||
const downloadRoute = require("./routes/download");
|
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
|
// Créer un sous-dossier "Freedom Loader Output" dans le dossier Téléchargements
|
||||||
fs.mkdirSync("downloads"); // On le crée
|
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
|
// servir le dossier public comme site
|
||||||
app.use("/download", downloadRoute); // on associe le contenu de infos.js à /download
|
app.use(express.static("public"));
|
||||||
// route pour l'info
|
|
||||||
app.use("/info", infoRoute); // on associe le contenu de infos.js à /info
|
|
||||||
|
|
||||||
|
// routes
|
||||||
|
app.use("/download", downloadRoute); // ex: /download
|
||||||
|
app.use("/info", infoRoute); // ex: /info
|
||||||
|
|
||||||
app.listen(8080, () => {
|
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