Push avant l'enfer (PRIDEFUl - NF)

This commit is contained in:
MasterAcnolo
2025-06-28 21:19:48 +02:00
parent b9460dbceb
commit bfb3e0cbdf
4 changed files with 31 additions and 44 deletions

View File

@@ -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>

View File

@@ -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é !");
});
});

View File

@@ -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);
});