mirror of
https://github.com/MasterAcnolo/Freedom-Loader.git
synced 2026-07-29 18:25:47 +02:00
60 lines
1.8 KiB
JavaScript
60 lines
1.8 KiB
JavaScript
const express = require("express");
|
|
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");
|
|
|
|
// Chemin vers le dossier Téléchargements de l'utilisateur
|
|
const downloadsPath = path.join(process.env.USERPROFILE, 'Downloads');
|
|
|
|
// 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.");
|
|
}
|
|
|
|
// rendre le chemin accessible à tes routes
|
|
app.locals.outputFolder = outputFolder;
|
|
|
|
app.use(express.urlencoded({ extended: true }));
|
|
|
|
// servir le dossier public comme site
|
|
// app.use(express.static("public"));
|
|
app.use(express.static(path.join(__dirname, "../public")));
|
|
|
|
|
|
// routes
|
|
app.use("/download", downloadRoute); // ex: /download
|
|
app.use("/info", infoRoute); // ex: /info
|
|
|
|
app.get("/", (req, res) => {
|
|
res.sendFile(path.join(__dirname, "../public/index.html"));
|
|
});
|
|
|
|
// Export d'une fonction startServer qui retourne une promesse
|
|
function startServer() {
|
|
return new Promise((resolve, reject) => {
|
|
console.log("🟢 Démarrage du serveur Express...");
|
|
const serverInstance = app.listen(8080, () => {
|
|
console.log("🟢 Serveur Express prêt sur http://localhost:8080");
|
|
resolve(serverInstance);
|
|
});
|
|
serverInstance.on('error', (err) => {
|
|
console.error("❌ Erreur serveur Express :", err);
|
|
reject(err);
|
|
});
|
|
});
|
|
}
|
|
|
|
app.get("/", (req, res) => {
|
|
res.sendFile(path.join(__dirname, "../public/index.html"));
|
|
});
|
|
module.exports = { startServer };
|