diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8f5a50c --- /dev/null +++ b/LICENSE @@ -0,0 +1,20 @@ +GNU GENERAL PUBLIC LICENSE +Version 3, 29 June 2007 + +Copyright (C) 2025 MasterAcnolo + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +This program 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, or +(at your option) any later version. + +This program 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 . diff --git a/README.md b/README.md index 93171ae..963fdc5 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,102 @@ -# MP3 Downloader +# Freedom Loader + +![Static Badge](https://img.shields.io/badge/Version-1.0.0-blue?style=flat&logo=Test) + +> Ce projet a pour but de permettre le téléchargement de contenu Vidéo/Audio de manière gratuite, open source et libre. Il permettra à terme de choisir + +## 🚀 Fonctionnalités + +✅ Téléchargement Vidéo (MP4) +✅ Téléchargement Audio (MP3) +✅ Logs Détaillés (Console + Logs) +✅ Fetch Automatique des informations du +✅ Téléchargement des playlists --- -## Le Projet +## 🔧 Installation -![Static Badge](https://img.shields.io/badge/Version-1.0.0-blue?style=flat&logo=Test) +Pour installer l'application, il vous suffit de télécharger l'installeur dans la section release. De prendre la dernière version et de l'éxécuter. + +--- + +## ❓ Questions Fréquentes + +### _Où se situent mes fichiers une fois téléchargé ?_ + +Dans le dossier Téléchargement (**C:\Users\VOTRE NOM\Downloads**) de votre ordinateur, dans un dossier portant le nom **Freedom Loader Output** +
+ +### _Une fois le programme installé, et executer j'ai une erreur_ + +## Essayez de relancer l'application, de consulter les logs ou d'ouvrir la console de commande du navigateur en faisant le raccourci `CTRL+ SHIFT + I` où encore `View > Toggle Developper Tools ` + +![alt text](build\example-developertools.png) + +> Exemple ci dessus + +## 🏗️ Fonctionnalités à venir (Roadmap) + +- [ ] Plus de Choix de format +- [ ] Support des Sous Titres +- [ ] Meilleur UI / UX +- [ ] Téléchargement d'une partie de la vidéo +- [ ] Renomage du fichier de sortie +- [ ] Extraction / Division de la vidéo en utilisant le Chapitrage Natif +- [ ] Téléchargement en parrallèles +- [ ] Retrait de la partie de la vidéo où il y à de la sponsorisation (skip sponsor) +- [ ] Choix du chemin de sortie personnalisé (Par défaut **C:\Users\Utilisateur\Downloads** où un dossier **Freedom Loader Output** sera créer) + +--- + +## 🖼️ Aperçu + +

+ Example Image +

+ +> Voici un exemple de l'application une fois lancée et une URL rentrée + +--- + +## ℹ️ À propos + +Ce projet a été réalise en utilisant [![yt-dlp](https://img.shields.io/badge/yt--dlp-Visit%20Repo-181717?style=for-the-badge&logo=github&logoColor=white)](https://github.com/yt-dlp/yt-dlp) +Merci à eux de nous permettre d'utiliser leur API de manière gratuite et open source. + +Ce projet est open-source et accueille volontiers vos contributions. +Voici comment participer : + +- **🪲 Signalement de bug** + Veuillez utiliser le [système d’issues GitHub](https://github.com/MasterAcnolo/votre-repo/issues) pour reporter tout bug rencontré. + Essayez de fournir une reproduction claire et des logs si possible.Les logs se situent dans le dossier où le programme est installé. Voici un exemple de chemin menant aux logs: + `C:\Users\[VOTRE NOM]\Desktop\Freedom Loader\resources\app\logs` Le Nom du fichier sera quelque chose comme `combined-20xx-xx-xx.log` +
+- **🛠️ Contribution** + Les PR sont les bienvenues ! Merci de forker le repo et d’envoyer votre Pull Request après avoir vérifié le respect des guidelines de contribution (tests, style, etc.). +
+- **💡 Suggestions de features** + Vous pouvez proposer de nouvelles idées via une [issue de type feature request](https://github.com/votre-utilisateur/votre-repo/issues) également. + Toute proposition claire et détaillée sera étudiée. +
+- **💰 Soutenir le projet** + +

+ Si tu souhaites m’encourager, tu peux faire un don sur + + PayPal + +

+ +--- + +## 📄 Licence + +Ce projet est sous licence **MIT** — voir le fichier [LICENSE](./LICENSE) pour plus d’informations. + +--- + +## ⚠️ Disclaimer + +J'ai bien évidemment eu recours à l'IA Pour m'aider pour certaines parties du projet. Utilisez l'IA avec parcimonie et soyez toujours conscient de ce que vous faîtes. diff --git a/build/example-developertools.png b/build/example-developertools.png new file mode 100644 index 0000000..63e20b7 Binary files /dev/null and b/build/example-developertools.png differ diff --git a/build/exemple.png b/build/exemple.png new file mode 100644 index 0000000..9f0e1ee Binary files /dev/null and b/build/exemple.png differ diff --git a/main.js b/main.js index e7df18b..f25a12e 100644 --- a/main.js +++ b/main.js @@ -1,3 +1,21 @@ +/* + 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 . +*/ + const { app, BrowserWindow } = require("electron"); const path = require("path"); const { logger, logSessionStart, logSessionEnd } = require("./server/logger"); diff --git a/public/script/downloadstatus.js b/public/script/downloadstatus.js index 9161597..435efcf 100644 --- a/public/script/downloadstatus.js +++ b/public/script/downloadstatus.js @@ -1,3 +1,21 @@ +/* + 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 . +*/ + // Récupération du formulaire de téléchargement const form = document.getElementById("downloadForm"); diff --git a/public/script/fetchinfo.js b/public/script/fetchinfo.js index 21e8dcc..a60635d 100644 --- a/public/script/fetchinfo.js +++ b/public/script/fetchinfo.js @@ -1,3 +1,21 @@ +/* + 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 . +*/ + document.addEventListener("DOMContentLoaded", () => { const urlInput = document.getElementById("UrlInput"); const infoDiv = document.getElementById("videoInfo"); diff --git a/server/logger.js b/server/logger.js index 5caa0dc..8e1cc7a 100644 --- a/server/logger.js +++ b/server/logger.js @@ -1,3 +1,21 @@ +/* + 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 . +*/ + const { createLogger, format, transports } = require("winston"); const DailyRotateFile = require("winston-daily-rotate-file"); const fs = require("fs"); diff --git a/server/routes/download.js b/server/routes/download.js index 2ea555e..3bac042 100644 --- a/server/routes/download.js +++ b/server/routes/download.js @@ -1,3 +1,21 @@ +/* + 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 . +*/ + const express = require("express"); const router = express.Router(); const { execFile } = require("child_process"); diff --git a/server/routes/info.js b/server/routes/info.js index 31448cc..23eb652 100644 --- a/server/routes/info.js +++ b/server/routes/info.js @@ -1,3 +1,21 @@ +/* + 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 . +*/ + const express = require("express"); const router = express.Router(); const { execFile } = require("child_process"); diff --git a/server/server.js b/server/server.js index a30726e..c2e98c3 100644 --- a/server/server.js +++ b/server/server.js @@ -1,3 +1,21 @@ +/* + 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 . +*/ + const express = require("express"); const { exec } = require("child_process"); const fs = require("fs");