mirror of
https://github.com/MasterAcnolo/Freedom-Loader.git
synced 2026-07-29 18:25:47 +02:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0c415c9106 | ||
|
|
b0495d033d | ||
|
|
d72cc6e0ca | ||
|
|
b59cb9f57f | ||
|
|
af743be5b0 | ||
|
|
024d039701 | ||
|
|
e9a91656bc | ||
|
|
3505606b44 | ||
|
|
815abae0a0 |
6
.gitignore
vendored
6
.gitignore
vendored
@@ -1,6 +1,10 @@
|
|||||||
/node_modules
|
/node_modules
|
||||||
/downloads
|
/downloads
|
||||||
/dist
|
/dist
|
||||||
|
/out
|
||||||
|
|
||||||
|
/ressources/ffmpeg.exe
|
||||||
|
/ressources/ffprobe.exe
|
||||||
|
|
||||||
logs/*.json
|
logs/*.json
|
||||||
logs/*.log
|
logs/*.log
|
||||||
/out
|
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
# Freedom Loader
|
# Freedom Loader
|
||||||
|
|
||||||
|
> A besoin de FFMPEG pour fonctionner, si vous avez besoin d'aide pour l'installer. Suivez [Ce lien](https://lecrabeinfo.net/tutoriels/installer-ffmpeg-sur-windows/).
|
||||||
|
|
||||||
<!-- Release -->
|
<!-- Release -->
|
||||||
|
|
||||||

|

|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
<!-- Release -->
|
<!-- Release -->
|
||||||
|
|
||||||
|
> Require FFMPEG, Follow the tutorial [here](https://lecrabeinfo.net/tutoriels/installer-ffmpeg-sur-windows/) if you need some help.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
<!-- Build (Next Release) -->
|
<!-- Build (Next Release) -->
|
||||||
|
|||||||
1169
package-lock.json
generated
1169
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "freedom-loader",
|
"name": "freedom-loader",
|
||||||
"productName": "Freedom Loader",
|
"productName": "Freedom Loader",
|
||||||
"version": "1.2.0",
|
"version": "1.2.1",
|
||||||
"author": "MasterAcnolo",
|
"author": "MasterAcnolo",
|
||||||
"description": "Freedom Loader",
|
"description": "Freedom Loader",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
|
|||||||
@@ -1,6 +1,22 @@
|
|||||||
// discordRPC.js
|
/*
|
||||||
const RPC = require("discord-rpc");
|
This file is part of Freedom Loader.
|
||||||
|
|
||||||
|
Copyright (C) 2025 MasterAcnolo
|
||||||
|
|
||||||
|
Freedom Loader is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License.
|
||||||
|
|
||||||
|
Freedom Loader is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
See the GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
const RPC = require("discord-rpc");
|
||||||
const clientId = "1410934537051181146";
|
const clientId = "1410934537051181146";
|
||||||
const rpc = new RPC.Client({ transport: "ipc" });
|
const rpc = new RPC.Client({ transport: "ipc" });
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ const logger = require("../logger").logger;
|
|||||||
|
|
||||||
// Path vers le fichier exécutable yt-dlp (outil tiers pour le téléchargement)
|
// Path vers le fichier exécutable yt-dlp (outil tiers pour le téléchargement)
|
||||||
// const ytDlpPath = path.join(__dirname, '../../yt-dlp.exe');
|
// const ytDlpPath = path.join(__dirname, '../../yt-dlp.exe');
|
||||||
const ytDlpPath = path.join(__dirname, '../../yt-dlp 2025.08.27.exe');
|
const ytDlpPath = path.join(__dirname, '../../ressources/yt-dlp 2025.08.27.exe');
|
||||||
|
|
||||||
router.post("/", (req, res) => {
|
router.post("/", (req, res) => {
|
||||||
try {
|
try {
|
||||||
@@ -84,7 +84,8 @@ router.post("/", (req, res) => {
|
|||||||
"--add-metadata", // ajoute les tags (titre, artiste, etc.)
|
"--add-metadata", // ajoute les tags (titre, artiste, etc.)
|
||||||
"--concurrent-fragments", "8",// accélère le téléchargement
|
"--concurrent-fragments", "8",// accélère le téléchargement
|
||||||
"--retries", "10", // réessaie jusqu'à 10 fois en cas d'erreur
|
"--retries", "10", // réessaie jusqu'à 10 fois en cas d'erreur
|
||||||
"--fragment-retries", "10" // réessaie aussi 10 fois chaque fragment
|
"--fragment-retries", "10" , // réessaie aussi 10 fois chaque fragment
|
||||||
|
"--ffmpeg-location", path.join(__dirname, "../../ressources/ffmpeg.exe")
|
||||||
];
|
];
|
||||||
|
|
||||||
// Si l'option audioOnly est activée, on ajoute les flags pour extraction audio en mp3
|
// Si l'option audioOnly est activée, on ajoute les flags pour extraction audio en mp3
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ const fs = require("fs");
|
|||||||
const { logger } = require("../logger"); // On récupère ton logger Winston
|
const { logger } = require("../logger"); // On récupère ton logger Winston
|
||||||
|
|
||||||
// Path absolu vers l'exécutable yt-dlp
|
// Path absolu vers l'exécutable yt-dlp
|
||||||
const ytDlpPath = path.join(__dirname, '../../yt-dlp 2025.08.27.exe');
|
const ytDlpPath = path.join(__dirname, '../../ressources/yt-dlp 2025.08.27.exe');
|
||||||
|
|
||||||
// Vérification que yt-dlp.exe existe bien au lancement du module
|
// Vérification que yt-dlp.exe existe bien au lancement du module
|
||||||
if (!fs.existsSync(ytDlpPath)) {
|
if (!fs.existsSync(ytDlpPath)) {
|
||||||
|
|||||||
@@ -31,19 +31,19 @@ const app = express(); // Création de l’instance Express, notre serveur web
|
|||||||
// Définition du dossier par défaut où enregistrer les téléchargements
|
// Définition du dossier par défaut où enregistrer les téléchargements
|
||||||
// On prend le dossier Téléchargements de l’utilisateur Windows (USERPROFILE)
|
// On prend le dossier Téléchargements de l’utilisateur Windows (USERPROFILE)
|
||||||
const downloadsPath = path.join(process.env.USERPROFILE, "Downloads");
|
const downloadsPath = path.join(process.env.USERPROFILE, "Downloads");
|
||||||
const outputFolder = path.join(downloadsPath, "Freedom Loader Output");
|
const outputFolder = path.join(downloadsPath, "Freedom Loader");
|
||||||
|
|
||||||
// Création du dossier de sortie s’il n’existe pas déjà
|
// Création du dossier de sortie s’il n’existe pas déjà
|
||||||
if (!fs.existsSync(outputFolder)) {
|
if (!fs.existsSync(outputFolder)) {
|
||||||
try {
|
try {
|
||||||
fs.mkdirSync(outputFolder, { recursive: true }); // création récursive au cas où
|
fs.mkdirSync(outputFolder, { recursive: true }); // création récursive au cas où
|
||||||
logger.info("Dossier Freedom Loader Output cree dans Telechargements.");
|
logger.info("Dossier Freedom Loader cree dans Telechargements.");
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
logger.error("Impossible de creer le dossier :", err);
|
logger.error("Impossible de creer le dossier :", err);
|
||||||
process.exit(1); // Arrêt du programme si dossier non créé (critique)
|
process.exit(1); // Arrêt du programme si dossier non créé (critique)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.info("Dossier Freedom Loader Output deja existant.");
|
logger.info("Dossier Freedom Loader deja existant.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// On rend ce dossier accessible globalement via app.locals pour l’utiliser dans les routes
|
// On rend ce dossier accessible globalement via app.locals pour l’utiliser dans les routes
|
||||||
|
|||||||
Reference in New Issue
Block a user