Compare commits
23 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
004271241e | ||
|
|
8295967ff2 | ||
|
|
053dca365c | ||
|
|
62110b1a5b | ||
|
|
aae9b2866c | ||
|
|
0d8bddbc20 | ||
|
|
2a7d61bab7 | ||
|
|
de71035fa0 | ||
|
|
5368fb9311 | ||
|
|
3d583a9b6f | ||
|
|
94de0a42f1 | ||
|
|
5ba2901273 | ||
|
|
f5888b8382 | ||
|
|
6ece182629 | ||
|
|
777257b71d | ||
|
|
df0156d603 | ||
|
|
68cdad06ab | ||
|
|
ee7c6520b9 | ||
|
|
4ed1609e41 | ||
|
|
b64e61d45d | ||
|
|
b4c2c865d8 | ||
|
|
e32ffd8fa0 | ||
|
|
8be6a932e5 |
113
README-EN.md
@@ -1,113 +0,0 @@
|
|||||||
# Freedom Loader
|
|
||||||
|
|
||||||
<!-- Release -->
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
<!-- Build (Next Release) -->
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
> This project aims to enable free, open-source, and unrestricted downloading of Video/Audio content. Eventually, it will allow users to choose
|
|
||||||
|
|
||||||
## 🚀 Features
|
|
||||||
|
|
||||||
- ✅ Video download (MP4)
|
|
||||||
- ✅ Audio-only download (MP3)
|
|
||||||
- ✅ Full playlist support
|
|
||||||
- ✅ Automatic metadata retrieval (title, duration, etc.)
|
|
||||||
- ✅ Detailed logs: console and rotating files (7 days)
|
|
||||||
- ✅ Custom output path selection with saving
|
|
||||||
- ✅ Multiple graphical themes available for interface customization
|
|
||||||
- ✅ Simple, intuitive, and responsive interface
|
|
||||||
- ✅ Notification system when download finished (Click = Open Output Folder)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔧 Installation
|
|
||||||
|
|
||||||
To install the application, simply download the installer from the releases section. Take the latest version and run it.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ❓ Frequently Asked Questions
|
|
||||||
|
|
||||||
### _Where are my downloaded files located?_
|
|
||||||
|
|
||||||
In your computer's Downloads folder (**C:\Users\YOUR NAME\Downloads**), inside a folder named **Freedom Loader Output**
|
|
||||||
<br>
|
|
||||||
|
|
||||||
### _After installing and running the program, I get an error_
|
|
||||||
|
|
||||||
Try restarting the application, checking the logs, or opening the browser's developer console by pressing `CTRL + SHIFT + I` or by going to `View > Toggle Developer Tools`
|
|
||||||
|
|
||||||
<!--  -->
|
|
||||||
<p align="center">
|
|
||||||
<img src="build/example-developertools.png" alt="Example Developer Tools" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
## 🏗️ Upcoming Features (Roadmap)
|
|
||||||
|
|
||||||
- [ ] More format options
|
|
||||||
- [ ] Subtitle support
|
|
||||||
- [ ] Improved UI / UX
|
|
||||||
- [ ] Language selection
|
|
||||||
- [ ] Download a specific part of the video
|
|
||||||
- [ ] Rename output file
|
|
||||||
- [ ] Extract / Split video using native chapters
|
|
||||||
- [ ] Parallel downloads
|
|
||||||
- [ ] Skip sponsored parts of videos
|
|
||||||
- [x] ~~Custom output path selection (default **C:\Users\Username\Downloads** with a **Freedom Loader Output** folder created)~~
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🖼️ Preview
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="build/apercu1.0.1.png" alt="Exemple d'application" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
> Here is an example of the app after launch and entering a URL
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ℹ️ About
|
|
||||||
|
|
||||||
This project was built using [](https://github.com/yt-dlp/yt-dlp)
|
|
||||||
Thanks to them for providing a free and open-source API.
|
|
||||||
|
|
||||||
This project is open-source and welcomes your contributions.
|
|
||||||
Here is how to get involved:
|
|
||||||
|
|
||||||
- **🪲 Bug Reporting**
|
|
||||||
Please use the [GitHub issues system](https://github.com/MasterAcnolo/Freedom-Loader/issues) to report any bugs you encounter.
|
|
||||||
Try to provide clear reproduction steps and logs if possible. Logs are located in the installation folder of the program. Example path:
|
|
||||||
`C:\Users\[YOUR NAME]\Desktop\Freedom Loader\resources\app\logs`
|
|
||||||
The log file will be named something like `combined-20xx-xx-xx.log`
|
|
||||||
<br>
|
|
||||||
- **🛠️ Contribution**
|
|
||||||
Pull Requests are welcome! Please fork the repo and submit your PR after ensuring you meet the contribution guidelines (tests, style, etc.).
|
|
||||||
<br>
|
|
||||||
- **💡 Feature Suggestions**
|
|
||||||
You can propose new ideas via a [feature request issue](https://github.com/MasterAcnolo/Freedom-Loader/issues).
|
|
||||||
Any clear and detailed proposal will be reviewed.
|
|
||||||
<br>
|
|
||||||
- **💰 Support the Project**
|
|
||||||
<p>
|
|
||||||
If you'd like to support me, you can donate via
|
|
||||||
<a href="https://paypal.me/axelnicolas25">
|
|
||||||
<img src="https://img.shields.io/badge/PayPal-00457C?style=for-the-badge&logo=paypal&logoColor=white" alt="PayPal">
|
|
||||||
</a>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📄 License
|
|
||||||
|
|
||||||
This project is licensed under the **MIT License** — see the [LICENSE](./LICENSE) file for details.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ⚠️ Disclaimer
|
|
||||||
|
|
||||||
I have obviously used AI assistance for some parts of this project. Use AI sparingly and always be aware of what you are doing.
|
|
||||||
114
README-FR.md
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
# Freedom Loader
|
||||||
|
|
||||||
|
<!-- Release -->
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
<!-- Build (Next Release) -->
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
> 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 de vidéos avec les métadonnées (MP4)
|
||||||
|
- ✅ Téléchargement audio uniquement, avec la couverture ainsi que les métadonnées (MP3)
|
||||||
|
- ✅ Support des playlists complètes
|
||||||
|
- ✅ Récupération automatique des métadonnées (titre, durée, etc.)
|
||||||
|
- ✅ Logs détaillés : console et fichiers rotatifs (7 jours)
|
||||||
|
- ✅ Choix du chemin de sortie personnalisé avec sauvegarde
|
||||||
|
- ✅ Plusieurs thèmes graphiques au choix pour personnaliser l’interface
|
||||||
|
- ✅ Interface simple, intuitive
|
||||||
|
- ✅ Notification quand le téléchargement est fini (Click = Ouverture Dossier Output)
|
||||||
|
- ✅ Discord Rich Presence
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔧 Installation
|
||||||
|
|
||||||
|
Pour installer l'application, il vous suffit de télécharger l'installateur dans la section releases, de prendre la dernière version et de l'exécuter.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ❓ Questions fréquentes
|
||||||
|
|
||||||
|
### _Où se situent mes fichiers une fois téléchargés ?_
|
||||||
|
|
||||||
|
Dans le dossier Téléchargements (**C:\Users\VOTRE NOM\Downloads**) de votre ordinateur, dans un dossier nommé **Freedom Loader Output**
|
||||||
|
<br>
|
||||||
|
|
||||||
|
### _Une fois le programme installé et lancé, j'ai une erreur_
|
||||||
|
|
||||||
|
Essayez de relancer l'application, de consulter les logs ou d'ouvrir la console de développement du navigateur en faisant le raccourci `CTRL + SHIFT + I` ou via `View > Toggle Developer Tools`.
|
||||||
|
|
||||||
|
<!--  -->
|
||||||
|
<p align="center">
|
||||||
|
<img src="build/example-developertools.png" alt="Exemple Developer Tools" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
## 🏗️ Fonctionnalités à venir (Roadmap)
|
||||||
|
|
||||||
|
- [ ] Plus de choix de formats
|
||||||
|
- [ ] Support des sous-titres
|
||||||
|
- [ ] Meilleure UI / UX
|
||||||
|
- [ ] Choix des langues
|
||||||
|
- [ ] Téléchargement d’une partie de la vidéo
|
||||||
|
- [ ] Renommage du fichier de sortie
|
||||||
|
- [x] ~~Extraction / découpage de la vidéo via chapitrage natif~~
|
||||||
|
- [ ] Téléchargements parallèles
|
||||||
|
- [ ] Suppression automatique des parties sponsorisées (skip sponsor)
|
||||||
|
- [x] ~~Choix personnalisé du chemin de sortie (par défaut **C:\Users\Utilisateur\Downloads**, où un dossier **Freedom Loader Output** sera créé)~~
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🖼️ Aperçu
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="build/apercu1.0.1.png" alt="Exemple d'application" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
> Voici un exemple de l’application lancée après avoir saisi une URL.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ℹ️ À propos
|
||||||
|
|
||||||
|
Ce projet a été réalisé en utilisant [](https://github.com/yt-dlp/yt-dlp)
|
||||||
|
Merci à eux de nous permettre d’utiliser leur API gratuitement et en open source.
|
||||||
|
|
||||||
|
Ce projet est open source et accueille volontiers vos contributions.
|
||||||
|
Voici comment participer :
|
||||||
|
|
||||||
|
- **🪲 Signalement de bugs**
|
||||||
|
Merci d’utiliser le [système d’issues GitHub](https://github.com/MasterAcnolo/Freedom-Loader/issues) pour remonter les bugs rencontrés.
|
||||||
|
Essayez de fournir une reproduction claire et les logs si possible. Les logs se trouvent dans le dossier d’installation du programme. Exemple de chemin :
|
||||||
|
`C:\Users\[VOTRE NOM]\Desktop\Freedom Loader\resources\app\logs`
|
||||||
|
Le fichier aura un nom du type `combined-20xx-xx-xx.log`.
|
||||||
|
<br>
|
||||||
|
- **🛠️ Contribution**
|
||||||
|
Les Pull Requests sont les bienvenues ! Merci de forker le repo et de soumettre votre PR après avoir vérifié le respect des guidelines (tests, style, etc.).
|
||||||
|
<br>
|
||||||
|
- **💡 Suggestions de fonctionnalités**
|
||||||
|
Vous pouvez proposer de nouvelles idées via une [issue de type feature request](https://github.com/MasterAcnolo/Freedom-Loader/issues).
|
||||||
|
Toute proposition claire et détaillée sera étudiée.
|
||||||
|
<br>
|
||||||
|
- **💰 Soutenir le projet**
|
||||||
|
<p>
|
||||||
|
Si vous souhaitez m’encourager, vous pouvez faire un don sur
|
||||||
|
<a href="https://paypal.me/axelnicolas25">
|
||||||
|
<img src="https://img.shields.io/badge/PayPal-00457C?style=for-the-badge&logo=paypal&logoColor=white" alt="PayPal">
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📄 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 sur certaines parties du projet. Utilisez l’IA avec parcimonie et soyez toujours conscient de ce que vous faites.
|
||||||
113
README.md
@@ -2,99 +2,100 @@
|
|||||||
|
|
||||||
<!-- Release -->
|
<!-- Release -->
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
<!-- Build (Next Release) -->
|
<!-- Build (Next Release) -->
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
> 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
|
> This project aims to enable free, open-source, and unrestricted downloading of Video/Audio content. Eventually, it will allow users to choose
|
||||||
|
|
||||||
## 🚀 Fonctionnalités
|
## 🚀 Features
|
||||||
|
|
||||||
- ✅ Téléchargement de vidéos (MP4)
|
- ✅ Video download with metadata(MP4)
|
||||||
- ✅ Téléchargement audio uniquement (MP3)
|
- ✅ Audio-only download with thumbail and metadata(MP3)
|
||||||
- ✅ Support des playlists complètes
|
- ✅ Full playlist support
|
||||||
- ✅ Récupération automatique des métadonnées (titre, durée, etc.)
|
- ✅ Automatic metadata retrieval (title, duration, etc.)
|
||||||
- ✅ Logs détaillés : console et fichiers rotatifs (7 jours)
|
- ✅ Detailed logs: console and rotating files (7 days)
|
||||||
- ✅ Choix du chemin de sortie personnalisé avec sauvegarde
|
- ✅ Custom output path selection with saving
|
||||||
- ✅ Plusieurs thèmes graphiques au choix pour personnaliser l’interface
|
- ✅ Multiple graphical themes available for interface customization
|
||||||
- ✅ Interface simple, intuitive
|
- ✅ Simple, intuitive, and responsive interface
|
||||||
- ✅ Notification quand le téléchargement est fini (Click = Ouverture Dossier Output)
|
- ✅ Notification system when download finished (Click = Open Output Folder)
|
||||||
|
- ✅ Discord Rich Presence
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🔧 Installation
|
## 🔧 Installation
|
||||||
|
|
||||||
Pour installer l'application, il vous suffit de télécharger l'installateur dans la section releases, de prendre la dernière version et de l'exécuter.
|
To install the application, simply download the installer from the releases section. Take the latest version and run it.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ❓ Questions fréquentes
|
## ❓ Frequently Asked Questions
|
||||||
|
|
||||||
### _Où se situent mes fichiers une fois téléchargés ?_
|
### _Where are my downloaded files located?_
|
||||||
|
|
||||||
Dans le dossier Téléchargements (**C:\Users\VOTRE NOM\Downloads**) de votre ordinateur, dans un dossier nommé **Freedom Loader Output**
|
In your computer's Downloads folder (**C:\Users\YOUR NAME\Downloads**), inside a folder named **Freedom Loader Output**
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
### _Une fois le programme installé et lancé, j'ai une erreur_
|
### _After installing and running the program, I get an error_
|
||||||
|
|
||||||
Essayez de relancer l'application, de consulter les logs ou d'ouvrir la console de développement du navigateur en faisant le raccourci `CTRL + SHIFT + I` ou via `View > Toggle Developer Tools`.
|
Try restarting the application, checking the logs, or opening the browser's developer console by pressing `CTRL + SHIFT + I` or by going to `View > Toggle Developer Tools`
|
||||||
|
|
||||||
<!--  -->
|
<!--  -->
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="build/example-developertools.png" alt="Exemple Developer Tools" />
|
<img src="build/example-developertools.png" alt="Example Developer Tools" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## 🏗️ Fonctionnalités à venir (Roadmap)
|
## 🏗️ Upcoming Features (Roadmap)
|
||||||
|
|
||||||
- [ ] Plus de choix de formats
|
- [ ] More format options
|
||||||
- [ ] Support des sous-titres
|
- [ ] Subtitle support
|
||||||
- [ ] Meilleure UI / UX
|
- [ ] Improved UI / UX
|
||||||
- [ ] Choix des langues
|
- [ ] Language selection
|
||||||
- [ ] Téléchargement d’une partie de la vidéo
|
- [ ] Download a specific part of the video
|
||||||
- [ ] Renommage du fichier de sortie
|
- [ ] Rename output file
|
||||||
- [ ] Extraction / découpage de la vidéo via chapitrage natif
|
- [x] ~~Extract / Split video using native chapters~~
|
||||||
- [ ] Téléchargements parallèles
|
- [ ] Parallel downloads
|
||||||
- [ ] Suppression automatique des parties sponsorisées (skip sponsor)
|
- [ ] Skip sponsored parts of videos
|
||||||
- [x] ~~Choix personnalisé du chemin de sortie (par défaut **C:\Users\Utilisateur\Downloads**, où un dossier **Freedom Loader Output** sera créé)~~
|
- [x] ~~Custom output path selection (default **C:\Users\Username\Downloads** with a **Freedom Loader Output** folder created)~~
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🖼️ Aperçu
|
## 🖼️ Preview
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="build/apercu1.0.1.png" alt="Exemple d'application" />
|
<img src="build/apercu1.0.1.png" alt="Exemple d'application" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
> Voici un exemple de l’application lancée après avoir saisi une URL.
|
> Here is an example of the app after launch and entering a URL
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ℹ️ À propos
|
## ℹ️ About
|
||||||
|
|
||||||
Ce projet a été réalisé en utilisant [](https://github.com/yt-dlp/yt-dlp)
|
This project was built using [](https://github.com/yt-dlp/yt-dlp)
|
||||||
Merci à eux de nous permettre d’utiliser leur API gratuitement et en open source.
|
Thanks to them for providing a free and open-source API.
|
||||||
|
|
||||||
Ce projet est open source et accueille volontiers vos contributions.
|
This project is open-source and welcomes your contributions.
|
||||||
Voici comment participer :
|
Here is how to get involved:
|
||||||
|
|
||||||
- **🪲 Signalement de bugs**
|
- **🪲 Bug Reporting**
|
||||||
Merci d’utiliser le [système d’issues GitHub](https://github.com/MasterAcnolo/Freedom-Loader/issues) pour remonter les bugs rencontrés.
|
Please use the [GitHub issues system](https://github.com/MasterAcnolo/Freedom-Loader/issues) to report any bugs you encounter.
|
||||||
Essayez de fournir une reproduction claire et les logs si possible. Les logs se trouvent dans le dossier d’installation du programme. Exemple de chemin :
|
Try to provide clear reproduction steps and logs if possible. Logs are located in the installation folder of the program. Example path:
|
||||||
`C:\Users\[VOTRE NOM]\Desktop\Freedom Loader\resources\app\logs`
|
`C:\Users\[YOUR NAME]\Desktop\Freedom Loader\resources\app\logs`
|
||||||
Le fichier aura un nom du type `combined-20xx-xx-xx.log`.
|
The log file will be named something like `combined-20xx-xx-xx.log`
|
||||||
<br>
|
<br>
|
||||||
- **🛠️ Contribution**
|
- **🛠️ Contribution**
|
||||||
Les Pull Requests sont les bienvenues ! Merci de forker le repo et de soumettre votre PR après avoir vérifié le respect des guidelines (tests, style, etc.).
|
Pull Requests are welcome! Please fork the repo and submit your PR after ensuring you meet the contribution guidelines (tests, style, etc.).
|
||||||
<br>
|
<br>
|
||||||
- **💡 Suggestions de fonctionnalités**
|
- **💡 Feature Suggestions**
|
||||||
Vous pouvez proposer de nouvelles idées via une [issue de type feature request](https://github.com/MasterAcnolo/Freedom-Loader/issues).
|
You can propose new ideas via a [feature request issue](https://github.com/MasterAcnolo/Freedom-Loader/issues).
|
||||||
Toute proposition claire et détaillée sera étudiée.
|
Any clear and detailed proposal will be reviewed.
|
||||||
<br>
|
<br>
|
||||||
- **💰 Soutenir le projet**
|
- **💰 Support the Project**
|
||||||
<p>
|
<p>
|
||||||
Si vous souhaitez m’encourager, vous pouvez faire un don sur
|
If you'd like to support me, you can donate via
|
||||||
<a href="https://paypal.me/axelnicolas25">
|
<a href="https://paypal.me/axelnicolas25">
|
||||||
<img src="https://img.shields.io/badge/PayPal-00457C?style=for-the-badge&logo=paypal&logoColor=white" alt="PayPal">
|
<img src="https://img.shields.io/badge/PayPal-00457C?style=for-the-badge&logo=paypal&logoColor=white" alt="PayPal">
|
||||||
</a>
|
</a>
|
||||||
@@ -102,12 +103,12 @@ Voici comment participer :
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📄 Licence
|
## 📄 License
|
||||||
|
|
||||||
Ce projet est sous licence **MIT** — voir le fichier [LICENSE](./LICENSE) pour plus d’informations.
|
This project is licensed under the **MIT License** — see the [LICENSE](./LICENSE) file for details.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ⚠️ Disclaimer
|
## ⚠️ Disclaimer
|
||||||
|
|
||||||
J’ai bien évidemment eu recours à l’IA pour m’aider sur certaines parties du projet. Utilisez l’IA avec parcimonie et soyez toujours conscient de ce que vous faites.
|
I have obviously used AI assistance for some parts of this project. Use AI sparingly and always be aware of what you are doing.
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 264 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 264 KiB After Width: | Height: | Size: 146 KiB |
33
main.js
@@ -16,12 +16,15 @@
|
|||||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const { app, BrowserWindow, ipcMain, dialog } = require("electron");
|
const { app, BrowserWindow, ipcMain, dialog, Menu, shell } = require("electron");
|
||||||
|
app.disableHardwareAcceleration(); // Désactive l'accélération GPU pour éviter les erreurs GPU sur certains systèmes
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const os = require("os");
|
const os = require("os");
|
||||||
const { logger, logSessionStart, logSessionEnd } = require("./server/logger");
|
const { logger, logSessionStart, logSessionEnd, logDir } = require("./server/logger");
|
||||||
|
|
||||||
let mainWindow;
|
let mainWindow;
|
||||||
|
// Utilise le vrai dossier de logs défini dans logger.js
|
||||||
|
const logsFolderPath = logDir;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Fonction principale qui crée la fenêtre principale de l'application.
|
Fonction principale qui crée la fenêtre principale de l'application.
|
||||||
@@ -113,6 +116,32 @@ app.whenReady().then(async () => {
|
|||||||
await expressServer.startServer();
|
await expressServer.startServer();
|
||||||
logger.info("Serveur Express démarré");
|
logger.info("Serveur Express démarré");
|
||||||
await createWindow();
|
await createWindow();
|
||||||
|
|
||||||
|
// Ajout du menu personnalisé
|
||||||
|
const menuTemplate = [
|
||||||
|
// ... Menu standard Electron ...
|
||||||
|
{
|
||||||
|
label: "Logs",
|
||||||
|
submenu: [
|
||||||
|
{
|
||||||
|
label: "Ouvrir les logs",
|
||||||
|
click: () => {
|
||||||
|
shell.openPath(logsFolderPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
// Fusionner avec le menu par défaut
|
||||||
|
const defaultMenu = Menu.getApplicationMenu();
|
||||||
|
let template = menuTemplate;
|
||||||
|
if (defaultMenu) {
|
||||||
|
template = [...Menu.getApplicationMenu().items.map(item => item), ...menuTemplate];
|
||||||
|
}
|
||||||
|
const finalMenu = Menu.buildFromTemplate(template);
|
||||||
|
Menu.setApplicationMenu(finalMenu);
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error("Erreur serveur ou fenêtre :", error);
|
logger.error("Erreur serveur ou fenêtre :", error);
|
||||||
app.quit();
|
app.quit();
|
||||||
|
|||||||
437
package-lock.json
generated
@@ -1,15 +1,16 @@
|
|||||||
{
|
{
|
||||||
"name": "freedom-loader",
|
"name": "freedom-loader",
|
||||||
"version": "1.1.1",
|
"version": "1.2.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "freedom-loader",
|
"name": "freedom-loader",
|
||||||
"version": "1.1.1",
|
"version": "1.2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"debug": "^4.4.1",
|
"debug": "^4.4.1",
|
||||||
|
"discord-rpc": "^4.0.1",
|
||||||
"electron-squirrel-startup": "^1.0.1",
|
"electron-squirrel-startup": "^1.0.1",
|
||||||
"express": "^5.1.0",
|
"express": "^5.1.0",
|
||||||
"winston": "^3.17.0",
|
"winston": "^3.17.0",
|
||||||
@@ -67,9 +68,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/cli": {
|
"node_modules/@electron-forge/cli": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/cli/-/cli-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/cli/-/cli-7.8.3.tgz",
|
||||||
"integrity": "sha512-QI3EShutfq9Y+2TWWrPjm4JZM3eSAKzoQvRZdVhAfVpUbyJ8K23VqJShg3kGKlPf9BXHAGvE+8LyH5s2yDr1qA==",
|
"integrity": "sha512-BSAjGGfVf0yp3NQhXYmyCw9T//YCQHuktMv4HXfDVfo7AoV6DA1oEhqldI4Q7aHKeRob5+yBkvRRYPiu5ayCPw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -83,9 +84,9 @@
|
|||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/core": "7.8.1",
|
"@electron-forge/core": "7.8.3",
|
||||||
"@electron-forge/core-utils": "7.8.1",
|
"@electron-forge/core-utils": "7.8.3",
|
||||||
"@electron-forge/shared-types": "7.8.1",
|
"@electron-forge/shared-types": "7.8.3",
|
||||||
"@electron/get": "^3.0.0",
|
"@electron/get": "^3.0.0",
|
||||||
"chalk": "^4.0.0",
|
"chalk": "^4.0.0",
|
||||||
"commander": "^11.1.0",
|
"commander": "^11.1.0",
|
||||||
@@ -105,9 +106,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/core": {
|
"node_modules/@electron-forge/core": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/core/-/core-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/core/-/core-7.8.3.tgz",
|
||||||
"integrity": "sha512-jkh0QPW5p0zmruu1E8+2XNufc4UMxy13WLJcm7hn9jbaXKLkMbKuEvhrN1tH/9uGp1mhr/t8sC4N67gP+gS87w==",
|
"integrity": "sha512-qX2vi/LP3HcSqSfLfzMeH2ll8SFZQnOk8VN/b3bq6XrBCbrfrSsTYYWakN6mmfalLJcQRm4jCEc6gcyuGO4i6Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -121,17 +122,17 @@
|
|||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/core-utils": "7.8.1",
|
"@electron-forge/core-utils": "7.8.3",
|
||||||
"@electron-forge/maker-base": "7.8.1",
|
"@electron-forge/maker-base": "7.8.3",
|
||||||
"@electron-forge/plugin-base": "7.8.1",
|
"@electron-forge/plugin-base": "7.8.3",
|
||||||
"@electron-forge/publisher-base": "7.8.1",
|
"@electron-forge/publisher-base": "7.8.3",
|
||||||
"@electron-forge/shared-types": "7.8.1",
|
"@electron-forge/shared-types": "7.8.3",
|
||||||
"@electron-forge/template-base": "7.8.1",
|
"@electron-forge/template-base": "7.8.3",
|
||||||
"@electron-forge/template-vite": "7.8.1",
|
"@electron-forge/template-vite": "7.8.3",
|
||||||
"@electron-forge/template-vite-typescript": "7.8.1",
|
"@electron-forge/template-vite-typescript": "7.8.3",
|
||||||
"@electron-forge/template-webpack": "7.8.1",
|
"@electron-forge/template-webpack": "7.8.3",
|
||||||
"@electron-forge/template-webpack-typescript": "7.8.1",
|
"@electron-forge/template-webpack-typescript": "7.8.3",
|
||||||
"@electron-forge/tracer": "7.8.1",
|
"@electron-forge/tracer": "7.8.3",
|
||||||
"@electron/get": "^3.0.0",
|
"@electron/get": "^3.0.0",
|
||||||
"@electron/packager": "^18.3.5",
|
"@electron/packager": "^18.3.5",
|
||||||
"@electron/rebuild": "^3.7.0",
|
"@electron/rebuild": "^3.7.0",
|
||||||
@@ -161,13 +162,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/core-utils": {
|
"node_modules/@electron-forge/core-utils": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/core-utils/-/core-utils-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/core-utils/-/core-utils-7.8.3.tgz",
|
||||||
"integrity": "sha512-mRoPLDNZgmjyOURE/K0D3Op53XGFmFRgfIvFC7c9S/BqsRpovVblrqI4XxPRdNmH9dvhd8On9gGz+XIYAKD3aQ==",
|
"integrity": "sha512-8jhK7AvUKEqDyTMMuRhvS1TkE73YEnHYAxVvkJq35e1KdCwGbGnSRhaEs7OOqRfkKxfepdJ7BMKFSoKFeP+z0Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/shared-types": "7.8.1",
|
"@electron-forge/shared-types": "7.8.3",
|
||||||
"@electron/rebuild": "^3.7.0",
|
"@electron/rebuild": "^3.7.0",
|
||||||
"@malept/cross-spawn-promise": "^2.0.0",
|
"@malept/cross-spawn-promise": "^2.0.0",
|
||||||
"chalk": "^4.0.0",
|
"chalk": "^4.0.0",
|
||||||
@@ -182,13 +183,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/maker-base": {
|
"node_modules/@electron-forge/maker-base": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-7.8.3.tgz",
|
||||||
"integrity": "sha512-GUZqschGuEBzSzE0bMeDip65IDds48DZXzldlRwQ+85SYVA6RMU2AwDDqx3YiYsvP2OuxKruuqIJZtOF5ps4FQ==",
|
"integrity": "sha512-WmF66cHdziaK8Asi7IRTLxZjCZ8IqXXHr6IPl4d5oatN6s5RG+HHzG1hiJ7LzlOEntqdSpE8Wh2nB2TmyR4huQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/shared-types": "7.8.1",
|
"@electron-forge/shared-types": "7.8.3",
|
||||||
"fs-extra": "^10.0.0",
|
"fs-extra": "^10.0.0",
|
||||||
"which": "^2.0.2"
|
"which": "^2.0.2"
|
||||||
},
|
},
|
||||||
@@ -197,14 +198,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/maker-deb": {
|
"node_modules/@electron-forge/maker-deb": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/maker-deb/-/maker-deb-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/maker-deb/-/maker-deb-7.8.3.tgz",
|
||||||
"integrity": "sha512-tjjeesQtCP5Xht1X7gl4+K9bwoETPmQfBkOVAY/FZIxPj40uQh/hOUtLX2tYENNGNVZ1ryDYRs8TuPi+I41Vfw==",
|
"integrity": "sha512-GZHJU06LRFJkv1wMc3bjMVzedQhyxnyMZqgDJjE9TIlXXZkN2EqGmKLw/HxwNRA1R8yuQeA4Ih6/dEB4bZTevg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/maker-base": "7.8.1",
|
"@electron-forge/maker-base": "7.8.3",
|
||||||
"@electron-forge/shared-types": "7.8.1"
|
"@electron-forge/shared-types": "7.8.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 16.4.0"
|
"node": ">= 16.4.0"
|
||||||
@@ -214,14 +215,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/maker-rpm": {
|
"node_modules/@electron-forge/maker-rpm": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/maker-rpm/-/maker-rpm-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/maker-rpm/-/maker-rpm-7.8.3.tgz",
|
||||||
"integrity": "sha512-TF6wylft3BHkw9zdHcxmjEPBZYgTIc0jE31skFnMEQ/aExbNRiNaCZvsXy+7ptTWZxhxUKRc9KHhLFRMCmOK8g==",
|
"integrity": "sha512-TqHHdF5D3Dy4NgG+pi8eRc18P1D0FF1LE+CqQF4MRof+XrpHhRtog5Ac4gWjvg1Wma6WjPyTdryHAkURsoBbuQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/maker-base": "7.8.1",
|
"@electron-forge/maker-base": "7.8.3",
|
||||||
"@electron-forge/shared-types": "7.8.1"
|
"@electron-forge/shared-types": "7.8.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 16.4.0"
|
"node": ">= 16.4.0"
|
||||||
@@ -231,14 +232,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/maker-squirrel": {
|
"node_modules/@electron-forge/maker-squirrel": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/maker-squirrel/-/maker-squirrel-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/maker-squirrel/-/maker-squirrel-7.8.3.tgz",
|
||||||
"integrity": "sha512-qT1PMvT7ALF0ONOkxlA0oc0PiFuKCAKgoMPoxYo9gGOqFvnAb+TBcnLxflQ4ashE/ZkrHpykr4LcDJxqythQTA==",
|
"integrity": "sha512-6XSEhZMbgfjAaCm8A54pNjn4ghfxJgPu4i7ok3PhP44WOrFPaPivLttpvKRnxRb0PGZstPjPBFcwL1F9S1trjA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/maker-base": "7.8.1",
|
"@electron-forge/maker-base": "7.8.3",
|
||||||
"@electron-forge/shared-types": "7.8.1",
|
"@electron-forge/shared-types": "7.8.3",
|
||||||
"fs-extra": "^10.0.0"
|
"fs-extra": "^10.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -249,14 +250,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/maker-zip": {
|
"node_modules/@electron-forge/maker-zip": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/maker-zip/-/maker-zip-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/maker-zip/-/maker-zip-7.8.3.tgz",
|
||||||
"integrity": "sha512-unIxEoV1lnK4BLVqCy3L2y897fTyg8nKY1WT4rrpv0MUKnQG4qmigDfST5zZNNHHaulEn/ElAic2GEiP7d6bhQ==",
|
"integrity": "sha512-ytao285wKAjKBO6eULzLeqUDP5Zh7beQlGyHjgOMknk7FI0sNy+zGdh3CrCGIhkXSHU/DpukPwRu2SiKvIaIGA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/maker-base": "7.8.1",
|
"@electron-forge/maker-base": "7.8.3",
|
||||||
"@electron-forge/shared-types": "7.8.1",
|
"@electron-forge/shared-types": "7.8.3",
|
||||||
"cross-zip": "^4.0.0",
|
"cross-zip": "^4.0.0",
|
||||||
"fs-extra": "^10.0.0",
|
"fs-extra": "^10.0.0",
|
||||||
"got": "^11.8.5"
|
"got": "^11.8.5"
|
||||||
@@ -266,70 +267,70 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/plugin-auto-unpack-natives": {
|
"node_modules/@electron-forge/plugin-auto-unpack-natives": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/plugin-auto-unpack-natives/-/plugin-auto-unpack-natives-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/plugin-auto-unpack-natives/-/plugin-auto-unpack-natives-7.8.3.tgz",
|
||||||
"integrity": "sha512-4URAgWX9qqqKe6Bfad0VmpFRrwINYMODfKGd2nFQrfHxmBtdpXnsWlLwVGE/wGssIQaTMI5bWQ6F2RNeXTgnhA==",
|
"integrity": "sha512-7tRhySvfdTrBC4PEhAzjzjJGT5dBSU6jhy3XlQ8LJH50jHIT9bioQq6dfn/3iw/VaD1ftGWKx+HlntYCmBhViw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/plugin-base": "7.8.1",
|
"@electron-forge/plugin-base": "7.8.3",
|
||||||
"@electron-forge/shared-types": "7.8.1"
|
"@electron-forge/shared-types": "7.8.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 16.4.0"
|
"node": ">= 16.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/plugin-base": {
|
"node_modules/@electron-forge/plugin-base": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-7.8.3.tgz",
|
||||||
"integrity": "sha512-iCZC2d7CbsZ9l6j5d+KPIiyQx0U1QBfWAbKnnQhWCSizjcrZ7A9V4sMFZeTO6+PVm48b/r9GFPm+slpgZtYQLg==",
|
"integrity": "sha512-0CzPQlO3BGu5bLCrx2Xqo6B1yoHhA9wG9boZE58ANr8Qma1NQfAWZU3LnMmF3EdWNTX76PxpZeeb3QbPNcxSuA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/shared-types": "7.8.1"
|
"@electron-forge/shared-types": "7.8.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 16.4.0"
|
"node": ">= 16.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/plugin-fuses": {
|
"node_modules/@electron-forge/plugin-fuses": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/plugin-fuses/-/plugin-fuses-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/plugin-fuses/-/plugin-fuses-7.8.3.tgz",
|
||||||
"integrity": "sha512-dYTwvbV1HcDOIQ0wTybpdtPq6YoBYXIWBTb7DJuvFu/c/thj1eoEdnbwr8mT9hEivjlu5p4ls46n16P5EtZ0oA==",
|
"integrity": "sha512-OPWfoVsQ3xzK7GB3C6zoGlUu21RCOEQAm5+zg9VP1HJg5dsrKkqU8A2DsHGxe7PHthUCuQUgcls0ciDOHvckCQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/plugin-base": "7.8.1",
|
"@electron-forge/plugin-base": "7.8.3",
|
||||||
"@electron-forge/shared-types": "7.8.1"
|
"@electron-forge/shared-types": "7.8.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 16.4.0"
|
"node": ">= 16.4.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@electron/fuses": ">=1.0.0"
|
"@electron/fuses": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/publisher-base": {
|
"node_modules/@electron-forge/publisher-base": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-7.8.3.tgz",
|
||||||
"integrity": "sha512-z2C+C4pcFxyCXIFwXGDcxhU8qtVUPZa3sPL6tH5RuMxJi77768chLw2quDWk2/dfupcSELXcOMYCs7aLysCzeQ==",
|
"integrity": "sha512-kurRKVNyLsK2JgmVl88UHu0+qSH+PysMtk/xP0YX5sYNMVxRay8+S1T10tAh6Qom94KwpF3CLYtkebvxb/fq+A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/shared-types": "7.8.1"
|
"@electron-forge/shared-types": "7.8.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 16.4.0"
|
"node": ">= 16.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/shared-types": {
|
"node_modules/@electron-forge/shared-types": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-7.8.3.tgz",
|
||||||
"integrity": "sha512-guLyGjIISKQQRWHX+ugmcjIOjn2q/BEzCo3ioJXFowxiFwmZw/oCZ2KlPig/t6dMqgUrHTH5W/F0WKu0EY4M+Q==",
|
"integrity": "sha512-gkZtD7ALXHPDOthJo1rQYLDNfG09fdDRMWvjEgaXdF3Z69xXFfnOWPNuOkRUODNalMnuuGs6l7jDl+QFQgHlDg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/tracer": "7.8.1",
|
"@electron-forge/tracer": "7.8.3",
|
||||||
"@electron/packager": "^18.3.5",
|
"@electron/packager": "^18.3.5",
|
||||||
"@electron/rebuild": "^3.7.0",
|
"@electron/rebuild": "^3.7.0",
|
||||||
"listr2": "^7.0.2"
|
"listr2": "^7.0.2"
|
||||||
@@ -339,14 +340,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/template-base": {
|
"node_modules/@electron-forge/template-base": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-7.8.3.tgz",
|
||||||
"integrity": "sha512-k8jEUr0zWFWb16ZGho+Es2OFeKkcbTgbC6mcH4eNyF/sumh/4XZMcwRtX1i7EiZAYiL9sVxyI6KVwGu254g+0g==",
|
"integrity": "sha512-C0tVODDNKoqhCf7T1HRONJs9DKAmjmk8Of0t8rVjT0ERDzMvLGlBByd785v5lFlKbGERyoaXsYltxPAu92G3aA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/core-utils": "7.8.1",
|
"@electron-forge/core-utils": "7.8.3",
|
||||||
"@electron-forge/shared-types": "7.8.1",
|
"@electron-forge/shared-types": "7.8.3",
|
||||||
"@malept/cross-spawn-promise": "^2.0.0",
|
"@malept/cross-spawn-promise": "^2.0.0",
|
||||||
"debug": "^4.3.1",
|
"debug": "^4.3.1",
|
||||||
"fs-extra": "^10.0.0",
|
"fs-extra": "^10.0.0",
|
||||||
@@ -357,14 +358,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/template-vite": {
|
"node_modules/@electron-forge/template-vite": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/template-vite/-/template-vite-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/template-vite/-/template-vite-7.8.3.tgz",
|
||||||
"integrity": "sha512-qzSlJaBYYqQAbBdLk4DqAE3HCNz4yXbpkb+VC74ddL4JGwPdPU57DjCthr6YetKJ2FsOVy9ipovA8HX5UbXpAg==",
|
"integrity": "sha512-tDL5h+UO5iOzdEYNVsSu4zkUVN4RTxti5iXzcBquKd9Kgt/A/M7xHeuKj7g1Ds7Ul/n2XcFvcfgLcRmiXQeVDA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/shared-types": "7.8.1",
|
"@electron-forge/shared-types": "7.8.3",
|
||||||
"@electron-forge/template-base": "7.8.1",
|
"@electron-forge/template-base": "7.8.3",
|
||||||
"fs-extra": "^10.0.0"
|
"fs-extra": "^10.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -372,14 +373,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/template-vite-typescript": {
|
"node_modules/@electron-forge/template-vite-typescript": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/template-vite-typescript/-/template-vite-typescript-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/template-vite-typescript/-/template-vite-typescript-7.8.3.tgz",
|
||||||
"integrity": "sha512-CccQhwUjZcc6svzuOi3BtbDal591DzyX2J5GPa6mwVutDP8EMtqJL1VyOHdcWO/7XjI6GNAD0fiXySOJiUAECA==",
|
"integrity": "sha512-HJjjY9xmlpl0vx10mrXdWn2RYHExfazACxmDNNmGO1eq3eqrQk/3R+NDGyqMJ7ajBsRVbkQNt+wayH7HkRJUjA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/shared-types": "7.8.1",
|
"@electron-forge/shared-types": "7.8.3",
|
||||||
"@electron-forge/template-base": "7.8.1",
|
"@electron-forge/template-base": "7.8.3",
|
||||||
"fs-extra": "^10.0.0"
|
"fs-extra": "^10.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -387,14 +388,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/template-webpack": {
|
"node_modules/@electron-forge/template-webpack": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-7.8.3.tgz",
|
||||||
"integrity": "sha512-DA77o9kTCHrq+W211pyNP49DyAt0d1mzMp2gisyNz7a+iKvlv2DsMAeRieLoCQ44akb/z8ZsL0YLteSjKLy4AA==",
|
"integrity": "sha512-1zkji5px1kDXbigFN5959anCf3HAVBvam3bHh2VejnCScegLQP3JBjAn2Nw2ILWq6ej5JNuA/V99b1dr11hPOw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/shared-types": "7.8.1",
|
"@electron-forge/shared-types": "7.8.3",
|
||||||
"@electron-forge/template-base": "7.8.1",
|
"@electron-forge/template-base": "7.8.3",
|
||||||
"fs-extra": "^10.0.0"
|
"fs-extra": "^10.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -402,14 +403,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/template-webpack-typescript": {
|
"node_modules/@electron-forge/template-webpack-typescript": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/template-webpack-typescript/-/template-webpack-typescript-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/template-webpack-typescript/-/template-webpack-typescript-7.8.3.tgz",
|
||||||
"integrity": "sha512-h922E+6zWwym1RT6WKD79BLTc4H8YxEMJ7wPWkBX59kw/exsTB/KFdiJq6r82ON5jSJ+Q8sDGqSmDWdyCfo+Gg==",
|
"integrity": "sha512-Xz3X7YJvot08Xm+0BLIS28GJH+0z9vEN9xYX76SOL4jqDcHH8lRFpNWcE2HsxxxRbCVH+s0etVmACZcWoujUrw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/shared-types": "7.8.1",
|
"@electron-forge/shared-types": "7.8.3",
|
||||||
"@electron-forge/template-base": "7.8.1",
|
"@electron-forge/template-base": "7.8.3",
|
||||||
"fs-extra": "^10.0.0"
|
"fs-extra": "^10.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -417,9 +418,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/tracer": {
|
"node_modules/@electron-forge/tracer": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@electron-forge/tracer/-/tracer-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@electron-forge/tracer/-/tracer-7.8.3.tgz",
|
||||||
"integrity": "sha512-r2i7aHVp2fylGQSPDw3aTcdNfVX9cpL1iL2MKHrCRNwgrfR+nryGYg434T745GGm1rNQIv5Egdkh5G9xf00oWA==",
|
"integrity": "sha512-YVVDaPEUOvR1z+DDdj8wR/vO9OSlC91wz4/2Iqe9rqQz8sztnnQBClMAZTqu9bkDTFyHrns8j8v7tPVuVS6ULQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -678,9 +679,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron/packager": {
|
"node_modules/@electron/packager": {
|
||||||
"version": "18.3.6",
|
"version": "18.4.4",
|
||||||
"resolved": "https://registry.npmjs.org/@electron/packager/-/packager-18.3.6.tgz",
|
"resolved": "https://registry.npmjs.org/@electron/packager/-/packager-18.4.4.tgz",
|
||||||
"integrity": "sha512-1eXHB5t+SQKvUiDpWGpvr90ZSSbXj+isrh3YbjCTjKT4bE4SQrKSBfukEAaBvp67+GXHFtCHjQgN9qSTFIge+Q==",
|
"integrity": "sha512-fTUCmgL25WXTcFpM1M72VmFP8w3E4d+KNzWxmTDRpvwkfn/S206MAtM2cy0GF78KS9AwASMOUmlOIzCHeNxcGQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "BSD-2-Clause",
|
"license": "BSD-2-Clause",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -690,6 +691,7 @@
|
|||||||
"@electron/osx-sign": "^1.0.5",
|
"@electron/osx-sign": "^1.0.5",
|
||||||
"@electron/universal": "^2.0.1",
|
"@electron/universal": "^2.0.1",
|
||||||
"@electron/windows-sign": "^1.0.0",
|
"@electron/windows-sign": "^1.0.0",
|
||||||
|
"@malept/cross-spawn-promise": "^2.0.0",
|
||||||
"debug": "^4.0.1",
|
"debug": "^4.0.1",
|
||||||
"extract-zip": "^2.0.0",
|
"extract-zip": "^2.0.0",
|
||||||
"filenamify": "^4.1.0",
|
"filenamify": "^4.1.0",
|
||||||
@@ -699,6 +701,7 @@
|
|||||||
"junk": "^3.1.0",
|
"junk": "^3.1.0",
|
||||||
"parse-author": "^2.0.0",
|
"parse-author": "^2.0.0",
|
||||||
"plist": "^3.0.0",
|
"plist": "^3.0.0",
|
||||||
|
"prettier": "^3.4.2",
|
||||||
"resedit": "^2.0.0",
|
"resedit": "^2.0.0",
|
||||||
"resolve": "^1.1.6",
|
"resolve": "^1.1.6",
|
||||||
"semver": "^7.1.3",
|
"semver": "^7.1.3",
|
||||||
@@ -715,9 +718,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron/packager/node_modules/fs-extra": {
|
"node_modules/@electron/packager/node_modules/fs-extra": {
|
||||||
"version": "11.3.0",
|
"version": "11.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz",
|
||||||
"integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==",
|
"integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -788,9 +791,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron/universal/node_modules/fs-extra": {
|
"node_modules/@electron/universal/node_modules/fs-extra": {
|
||||||
"version": "11.3.0",
|
"version": "11.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz",
|
||||||
"integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==",
|
"integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -839,9 +842,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron/windows-sign/node_modules/fs-extra": {
|
"node_modules/@electron/windows-sign/node_modules/fs-extra": {
|
||||||
"version": "11.3.0",
|
"version": "11.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz",
|
||||||
"integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==",
|
"integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -1153,9 +1156,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "22.16.0",
|
"version": "22.18.0",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.16.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.18.0.tgz",
|
||||||
"integrity": "sha512-B2egV9wALML1JCpv3VQoQ+yesQKAmNMBIAY7OteVrikcOcAkWm+dGL6qpeCktPjAv6N1JLnhbNiqS35UpFyBsQ==",
|
"integrity": "sha512-m5ObIqwsUp6BZzyiy4RdZpzWGub9bqLJMvZDD0QMXhxjqMHMENlj+SqF5QxoUwaQNFe+8kz8XM8ZQhqkQPTgMQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -1210,9 +1213,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@xmldom/xmldom": {
|
"node_modules/@xmldom/xmldom": {
|
||||||
"version": "0.8.10",
|
"version": "0.8.11",
|
||||||
"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz",
|
"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.11.tgz",
|
||||||
"integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==",
|
"integrity": "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -1247,9 +1250,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/agent-base": {
|
"node_modules/agent-base": {
|
||||||
"version": "7.1.3",
|
"version": "7.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
|
||||||
"integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==",
|
"integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -1327,9 +1330,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ansi-regex": {
|
"node_modules/ansi-regex": {
|
||||||
"version": "6.1.0",
|
"version": "6.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz",
|
||||||
"integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
|
"integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -1535,9 +1538,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/app-builder-lib/node_modules/@electron/universal/node_modules/fs-extra": {
|
"node_modules/app-builder-lib/node_modules/@electron/universal/node_modules/fs-extra": {
|
||||||
"version": "11.3.0",
|
"version": "11.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz",
|
||||||
"integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==",
|
"integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -1576,9 +1579,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/app-builder-lib/node_modules/isbinaryfile": {
|
"node_modules/app-builder-lib/node_modules/isbinaryfile": {
|
||||||
"version": "5.0.4",
|
"version": "5.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.6.tgz",
|
||||||
"integrity": "sha512-YKBKVkKhty7s8rxddb40oOkuP0NbaeXrQvLin6QMHL7Ypiy2RW9LwOVrVgZRyOrhQlayMd9t+D8yDy8MKFTSDQ==",
|
"integrity": "sha512-I+NmIfBHUl+r2wcDd6JwE9yWje/PIVY/R5/CmV8dXLZd5K+L9X2klAOwfAHNnondLXkbHyTAleQAWonpTJBTtw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -1737,6 +1740,16 @@
|
|||||||
],
|
],
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/bindings": {
|
||||||
|
"version": "1.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
|
||||||
|
"integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"dependencies": {
|
||||||
|
"file-uri-to-path": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/bl": {
|
"node_modules/bl": {
|
||||||
"version": "4.1.0",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
|
||||||
@@ -2674,6 +2687,19 @@
|
|||||||
"p-limit": "^3.1.0 "
|
"p-limit": "^3.1.0 "
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/discord-rpc": {
|
||||||
|
"version": "4.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/discord-rpc/-/discord-rpc-4.0.1.tgz",
|
||||||
|
"integrity": "sha512-HOvHpbq5STRZJjQIBzwoKnQ0jHplbEWFWlPDwXXKm/bILh4nzjcg7mNqll0UY7RsjFoaXA7e/oYb/4lvpda2zA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"node-fetch": "^2.6.1",
|
||||||
|
"ws": "^7.3.1"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"register-scheme": "github:devsnek/node-register-scheme"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/dmg-builder": {
|
"node_modules/dmg-builder": {
|
||||||
"version": "26.0.12",
|
"version": "26.0.12",
|
||||||
"resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-26.0.12.tgz",
|
"resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-26.0.12.tgz",
|
||||||
@@ -2792,9 +2818,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/electron": {
|
"node_modules/electron": {
|
||||||
"version": "37.2.0",
|
"version": "37.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/electron/-/electron-37.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/electron/-/electron-37.4.0.tgz",
|
||||||
"integrity": "sha512-dE6+qeg6SBUVd5d8CD2+GH82kh+gF1v40+hs+U+UOno681NMSGmBtgqwldQRpbvtnQDD7V2M9Cpfr3+Abw7aBg==",
|
"integrity": "sha512-HhsSdWowE5ODOeWNc/323Ug2C52mq/TqNBG+4uMeOA3G2dMXNc/nfyi0RYu1rJEgiaJLEjtHveeZZaYRYFsFCQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
@@ -3421,7 +3447,6 @@
|
|||||||
"version": "0.1.13",
|
"version": "0.1.13",
|
||||||
"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
|
"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
|
||||||
"integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
|
"integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -3817,6 +3842,13 @@
|
|||||||
"moment": "^2.29.1"
|
"moment": "^2.29.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/file-uri-to-path": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"node_modules/filelist": {
|
"node_modules/filelist": {
|
||||||
"version": "1.0.4",
|
"version": "1.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
|
||||||
@@ -3976,9 +4008,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/form-data": {
|
"node_modules/form-data": {
|
||||||
"version": "4.0.3",
|
"version": "4.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz",
|
||||||
"integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==",
|
"integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -4622,15 +4654,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ip-address": {
|
"node_modules/ip-address": {
|
||||||
"version": "9.0.5",
|
"version": "10.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz",
|
||||||
"integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==",
|
"integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
|
||||||
"jsbn": "1.1.0",
|
|
||||||
"sprintf-js": "^1.1.3"
|
|
||||||
},
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 12"
|
"node": ">= 12"
|
||||||
}
|
}
|
||||||
@@ -4806,16 +4834,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jake": {
|
"node_modules/jake": {
|
||||||
"version": "10.9.2",
|
"version": "10.9.4",
|
||||||
"resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz",
|
"resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz",
|
||||||
"integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==",
|
"integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"async": "^3.2.3",
|
"async": "^3.2.6",
|
||||||
"chalk": "^4.0.2",
|
|
||||||
"filelist": "^1.0.4",
|
"filelist": "^1.0.4",
|
||||||
"minimatch": "^3.1.2"
|
"picocolors": "^1.1.1"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"jake": "bin/cli.js"
|
"jake": "bin/cli.js"
|
||||||
@@ -4825,9 +4852,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jiti": {
|
"node_modules/jiti": {
|
||||||
"version": "2.4.2",
|
"version": "2.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/jiti/-/jiti-2.5.1.tgz",
|
||||||
"integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==",
|
"integrity": "sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -4847,13 +4874,6 @@
|
|||||||
"js-yaml": "bin/js-yaml.js"
|
"js-yaml": "bin/js-yaml.js"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jsbn": {
|
|
||||||
"version": "1.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
|
|
||||||
"integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/json-buffer": {
|
"node_modules/json-buffer": {
|
||||||
"version": "3.0.1",
|
"version": "3.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
|
||||||
@@ -4890,9 +4910,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jsonfile": {
|
"node_modules/jsonfile": {
|
||||||
"version": "6.1.0",
|
"version": "6.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz",
|
||||||
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
|
"integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -5626,7 +5646,6 @@
|
|||||||
"version": "1.7.2",
|
"version": "1.7.2",
|
||||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz",
|
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz",
|
||||||
"integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==",
|
"integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==",
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
@@ -5644,7 +5663,6 @@
|
|||||||
"version": "2.7.0",
|
"version": "2.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
|
||||||
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
|
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"whatwg-url": "^5.0.0"
|
"whatwg-url": "^5.0.0"
|
||||||
@@ -6150,6 +6168,13 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/picocolors": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
|
||||||
|
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "ISC"
|
||||||
|
},
|
||||||
"node_modules/picomatch": {
|
"node_modules/picomatch": {
|
||||||
"version": "2.3.1",
|
"version": "2.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
||||||
@@ -6214,6 +6239,22 @@
|
|||||||
"node": "^12.20.0 || >=14"
|
"node": "^12.20.0 || >=14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/prettier": {
|
||||||
|
"version": "3.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz",
|
||||||
|
"integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"bin": {
|
||||||
|
"prettier": "bin/prettier.cjs"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/prettier/prettier?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/proc-log": {
|
"node_modules/proc-log": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz",
|
||||||
@@ -6494,6 +6535,17 @@
|
|||||||
"node": ">= 10.13.0"
|
"node": ">= 10.13.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/register-scheme": {
|
||||||
|
"version": "0.0.2",
|
||||||
|
"resolved": "git+ssh://git@github.com/devsnek/node-register-scheme.git#e7cc9a63a1f512565da44cb57316d9fb10750e17",
|
||||||
|
"hasInstallScript": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"dependencies": {
|
||||||
|
"bindings": "^1.3.0",
|
||||||
|
"node-addon-api": "^1.3.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/require-directory": {
|
"node_modules/require-directory": {
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
|
||||||
@@ -6989,13 +7041,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/socks": {
|
"node_modules/socks": {
|
||||||
"version": "2.8.5",
|
"version": "2.8.7",
|
||||||
"resolved": "https://registry.npmjs.org/socks/-/socks-2.8.5.tgz",
|
"resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz",
|
||||||
"integrity": "sha512-iF+tNDQla22geJdTyJB1wM/qrX9DMRwWrciEPwWLPRWAUEM8sQiyxgckLxWT1f7+9VabJS0jTGGr4QgBuvi6Ww==",
|
"integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ip-address": "^9.0.5",
|
"ip-address": "^10.0.1",
|
||||||
"smart-buffer": "^4.2.0"
|
"smart-buffer": "^4.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -7082,9 +7134,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/spdx-license-ids": {
|
"node_modules/spdx-license-ids": {
|
||||||
"version": "3.0.21",
|
"version": "3.0.22",
|
||||||
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz",
|
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz",
|
||||||
"integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==",
|
"integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "CC0-1.0"
|
"license": "CC0-1.0"
|
||||||
},
|
},
|
||||||
@@ -7093,7 +7145,8 @@
|
|||||||
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
|
||||||
"integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
|
"integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "BSD-3-Clause"
|
"license": "BSD-3-Clause",
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"node_modules/ssri": {
|
"node_modules/ssri": {
|
||||||
"version": "9.0.1",
|
"version": "9.0.1",
|
||||||
@@ -7466,9 +7519,9 @@
|
|||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"node_modules/tmp": {
|
"node_modules/tmp": {
|
||||||
"version": "0.2.3",
|
"version": "0.2.5",
|
||||||
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz",
|
||||||
"integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==",
|
"integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -7511,7 +7564,6 @@
|
|||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||||
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
|
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
|
||||||
"dev": true,
|
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/trim-repeated": {
|
"node_modules/trim-repeated": {
|
||||||
@@ -7584,9 +7636,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/typescript": {
|
"node_modules/typescript": {
|
||||||
"version": "5.8.3",
|
"version": "5.9.2",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz",
|
||||||
"integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
|
"integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -7736,14 +7788,12 @@
|
|||||||
"version": "3.0.1",
|
"version": "3.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||||
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
|
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
|
||||||
"dev": true,
|
|
||||||
"license": "BSD-2-Clause"
|
"license": "BSD-2-Clause"
|
||||||
},
|
},
|
||||||
"node_modules/whatwg-url": {
|
"node_modules/whatwg-url": {
|
||||||
"version": "5.0.0",
|
"version": "5.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
||||||
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
|
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tr46": "~0.0.3",
|
"tr46": "~0.0.3",
|
||||||
@@ -7947,6 +7997,27 @@
|
|||||||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
|
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
|
"node_modules/ws": {
|
||||||
|
"version": "7.5.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
|
||||||
|
"integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.3.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"bufferutil": "^4.0.1",
|
||||||
|
"utf-8-validate": "^5.0.2"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"bufferutil": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"utf-8-validate": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/xmlbuilder": {
|
"node_modules/xmlbuilder": {
|
||||||
"version": "15.1.1",
|
"version": "15.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz",
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"name": "freedom-loader",
|
"name": "freedom-loader",
|
||||||
"productName": "Freedom Loader",
|
"productName": "Freedom Loader",
|
||||||
"version": "1.1.1",
|
"version": "1.2.0",
|
||||||
"author": "MasterAcnolo",
|
"author": "MasterAcnolo",
|
||||||
"description": "Freedom Loader, parce que nous le valons bien",
|
"description": "Freedom Loader",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "electron-forge start",
|
"start": "electron-forge start",
|
||||||
@@ -14,6 +14,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"debug": "^4.4.1",
|
"debug": "^4.4.1",
|
||||||
|
"discord-rpc": "^4.0.1",
|
||||||
"electron-squirrel-startup": "^1.0.1",
|
"electron-squirrel-startup": "^1.0.1",
|
||||||
"express": "^5.1.0",
|
"express": "^5.1.0",
|
||||||
"winston": "^3.17.0",
|
"winston": "^3.17.0",
|
||||||
@@ -44,7 +45,7 @@
|
|||||||
},
|
},
|
||||||
"asar": false,
|
"asar": false,
|
||||||
"extraResources": [
|
"extraResources": [
|
||||||
{
|
{
|
||||||
"from": "build/confirm-icon.png",
|
"from": "build/confirm-icon.png",
|
||||||
"to": "confirm-icon.png"
|
"to": "confirm-icon.png"
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
public/assets/images/Chirac.png
Normal file
|
After Width: | Height: | Size: 3.2 MiB |
|
Before Width: | Height: | Size: 805 KiB After Width: | Height: | Size: 805 KiB |
BIN
public/assets/images/NF.jpg
Normal file
|
After Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 27 KiB |
BIN
public/assets/images/Vilbrequin.webp
Normal file
|
After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 16 KiB |
@@ -21,6 +21,7 @@ const themes = {
|
|||||||
default: "Default",
|
default: "Default",
|
||||||
dark: "Sombre",
|
dark: "Sombre",
|
||||||
light: "Clair",
|
light: "Clair",
|
||||||
|
nf : "NF",
|
||||||
chirac: "Chirac",
|
chirac: "Chirac",
|
||||||
fanatic: "Fanatic",
|
fanatic: "Fanatic",
|
||||||
cyberpunk: "Cyberpunk",
|
cyberpunk: "Cyberpunk",
|
||||||
@@ -32,6 +33,7 @@ const themeSubtitles = {
|
|||||||
default: "Because why not?",
|
default: "Because why not?",
|
||||||
dark: "Darkness is my ally",
|
dark: "Darkness is my ally",
|
||||||
light: "Qui aime ce thème ?",
|
light: "Qui aime ce thème ?",
|
||||||
|
nf : "You call it music, i call it my Therapist",
|
||||||
chirac: "J'aime les pommes",
|
chirac: "J'aime les pommes",
|
||||||
fanatic: "Always Fnatic !",
|
fanatic: "Always Fnatic !",
|
||||||
cyberpunk: "Wake up, choom. We’ve got a city to burn.",
|
cyberpunk: "Wake up, choom. We’ve got a city to burn.",
|
||||||
|
|||||||
@@ -29,13 +29,14 @@
|
|||||||
color: var(--form-button-text-color);
|
color: var(--form-button-text-color);
|
||||||
border: none;
|
border: none;
|
||||||
padding: 0.3em 0.8em;
|
padding: 0.3em 0.8em;
|
||||||
border-radius: 6px;
|
border-radius: 8px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: background-color 0.3s ease, transform 0.2s ease;
|
transition: background-color 0.3s ease, transform 0.2s ease;
|
||||||
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
|
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
|
||||||
|
font-size: 0.9rem;
|
||||||
|
font-weight: 550;
|
||||||
}
|
}
|
||||||
|
|
||||||
.download-path button#changePath:hover {
|
.download-path button#changePath:hover {
|
||||||
background-color: var(--form-button-bg-hover-color);
|
background-color: var(--form-button-bg-hover-color);
|
||||||
transform: scale(1.05);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
body.chirac {
|
body.chirac {
|
||||||
/* Background image Chirac */
|
/* Background image Chirac */
|
||||||
background-image: url('../../assets/images/goat.webp');
|
background-image: url('../../assets/images/Chirac.png');
|
||||||
background-position: right;
|
/* background-position: right; */
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
background-attachment: fixed;
|
background-attachment: fixed;
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ body.cyberpunk {
|
|||||||
}
|
}
|
||||||
|
|
||||||
body.cyberpunk {
|
body.cyberpunk {
|
||||||
background-image: url('../../assets/images/cyberpunk4.webp');
|
background-image: url('../../assets/images/Cyberpunk.webp');
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
|
|||||||
48
public/styles/theme/nf-theme.css
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
body.nf {
|
||||||
|
/* Couleurs générales */
|
||||||
|
--background-color: #1a1a1a; /* fond sombre neutre */
|
||||||
|
--default-text-color: #e6dfd5; /* texte beige clair */
|
||||||
|
--subtitle-color: #f5f0e6; /* beige très clair (titres) */
|
||||||
|
--mp3-text-color: #d8cfc2; /* texte checkbox */
|
||||||
|
|
||||||
|
/* Formulaire */
|
||||||
|
--form-bg-color: #2a2a2a; /* fond formulaire gris sombre */
|
||||||
|
--form-input-bg-color: #222222; /* fond inputs sombre */
|
||||||
|
--form-input-border-color: #4a4036; /* bordure beige/brun */
|
||||||
|
--form-input-border-focus-color: #cbb89d; /* beige doré en focus */
|
||||||
|
--form-input-text-color: #f0e8dd; /* texte clair/beige */
|
||||||
|
--form-input-placeholder-color: #9a8f80; /* placeholder beige/gris */
|
||||||
|
--form-button-bg-color: #cbb89d; /* bouton beige doré */
|
||||||
|
--form-button-text-color: #1a1a1a; /* texte sombre */
|
||||||
|
--form-button-bg-hover-color: #b7a588; /* hover beige plus foncé */
|
||||||
|
|
||||||
|
/* Checkbox */
|
||||||
|
--checkbox-bg-default: #4a4036; /* brun/gris */
|
||||||
|
--checkbox-bg-checked: #cbb89d; /* beige doré */
|
||||||
|
--checkbox-checkmark-border-color: #1a1a1a; /* noir profond */
|
||||||
|
--checkbox-pulse-color: rgba(203,184,157,0.3); /* halo beige doux */
|
||||||
|
|
||||||
|
/* Download status */
|
||||||
|
--download-status-color: #cbb89d; /* beige doré */
|
||||||
|
|
||||||
|
/* Video Info Box */
|
||||||
|
--infos-box-color: #2a2a2a; /* fond sombre */
|
||||||
|
--video-info-text-color: #e6dfd5; /* texte beige clair */
|
||||||
|
--video-info-heading-color: #f5f0e6; /* titres beige clair */
|
||||||
|
--video-info-list-color: #d8cfc2; /* texte liste */
|
||||||
|
--video-info-list-strong-color: #ffffff; /* texte fort blanc cassé */
|
||||||
|
--video-info-link-color: #cbb89d; /* liens beige doré */
|
||||||
|
--video-info-link-hover-color: #b7a588; /* hover beige plus foncé */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fond inspiré de ton image beige */
|
||||||
|
body.nf {
|
||||||
|
background-image: url('../../assets/images/NF.jpg'); /* mets ton image ici */
|
||||||
|
background-size: cover;
|
||||||
|
background-position: 70% center;
|
||||||
|
background-attachment: fixed;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.nf .download-path {
|
||||||
|
color: var(--default-text-color);
|
||||||
|
}
|
||||||
@@ -1,8 +1,14 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
body.spicy {
|
body.spicy {
|
||||||
/* Couleurs générales */
|
/* Couleurs générales */
|
||||||
--background-color: #121212; /* fond noir profond */
|
--background-color: #121212; /* fond noir profond */
|
||||||
--default-text-color: #f5f5f5; /* texte clair */
|
--default-text-color: #581010; /* texte clair */
|
||||||
--subtitle-color: #e29191; /* accent rouge piment */
|
--subtitle-color: #3d0909; /* accent rouge piment */
|
||||||
--mp3-text-color: #ffffff; /* texte checkbox inline */
|
--mp3-text-color: #ffffff; /* texte checkbox inline */
|
||||||
|
|
||||||
/* Formulaire */
|
/* Formulaire */
|
||||||
@@ -37,8 +43,8 @@ body.spicy {
|
|||||||
|
|
||||||
/* Optionnel: background piments */
|
/* Optionnel: background piments */
|
||||||
body.spicy {
|
body.spicy {
|
||||||
background-image: url('../../assets/images/spicy.webp');
|
background-image: url('../../assets/images/Spicy.webp');
|
||||||
background-size: cover;
|
background-size:contain;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
background-attachment: fixed;
|
background-attachment: fixed;
|
||||||
}
|
}
|
||||||
|
|||||||
3
public/styles/theme/themeimport.css
vendored
@@ -5,4 +5,5 @@
|
|||||||
@import url("light-theme.css");
|
@import url("light-theme.css");
|
||||||
@import url("cyberpunk-theme.css");
|
@import url("cyberpunk-theme.css");
|
||||||
@import url("spicy-theme.css");
|
@import url("spicy-theme.css");
|
||||||
@import url("vilbrequin-theme.css");
|
@import url("vilbrequin-theme.css");
|
||||||
|
@import url("nf-theme.css");
|
||||||
@@ -37,7 +37,7 @@ body.vilbrequin {
|
|||||||
|
|
||||||
/* Optionnel: motif turbo ou jantes */
|
/* Optionnel: motif turbo ou jantes */
|
||||||
body.vilbrequin {
|
body.vilbrequin {
|
||||||
background-image: url('../../assets/images/Vilbrequin.avif'); /* adapte ton image */
|
background-image: url('../../assets/images/Vilbrequin.webp'); /* adapte ton image */
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
background-attachment: fixed;
|
background-attachment: fixed;
|
||||||
|
|||||||
32
server/discordRPC.js
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
// discordRPC.js
|
||||||
|
const RPC = require("discord-rpc");
|
||||||
|
|
||||||
|
const clientId = "1410934537051181146";
|
||||||
|
const rpc = new RPC.Client({ transport: "ipc" });
|
||||||
|
|
||||||
|
function startRPC() {
|
||||||
|
rpc.on("ready", () => {
|
||||||
|
console.log("✅ Connecté à Discord !");
|
||||||
|
|
||||||
|
const presence = {
|
||||||
|
largeImageKey: "icon",
|
||||||
|
smallImageKey: "acnolo_pfp",
|
||||||
|
smallImageText: "By MasterAcnolo",
|
||||||
|
startTimestamp: new Date(), // compteur de temps
|
||||||
|
details: "github.com/MasterAcnolo/Freedom-Loader",
|
||||||
|
};
|
||||||
|
|
||||||
|
rpc.setActivity(presence);
|
||||||
|
|
||||||
|
// Mise à jour toutes les 15 secondes si tu veux garder le compteur à jour
|
||||||
|
setInterval(() => {
|
||||||
|
rpc.setActivity(presence);
|
||||||
|
}, 15000);
|
||||||
|
});
|
||||||
|
|
||||||
|
rpc.login({ clientId }).catch(err => {
|
||||||
|
console.error("Erreur Discord RPC :", err);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = { startRPC };
|
||||||
@@ -20,12 +20,23 @@ const { createLogger, format, transports } = require("winston");
|
|||||||
const DailyRotateFile = require("winston-daily-rotate-file");
|
const DailyRotateFile = require("winston-daily-rotate-file");
|
||||||
const fs = require("fs"); // Pour vérifier/créer le dossier de logs
|
const fs = require("fs"); // Pour vérifier/créer le dossier de logs
|
||||||
const path = require("path"); // Pour gérer proprement les chemins
|
const path = require("path"); // Pour gérer proprement les chemins
|
||||||
|
const os = require("os"); // Pour gérer les chemins aussi
|
||||||
|
|
||||||
// Définition du dossier où seront stockés les logs
|
// Définition du dossier où seront stockés les logs
|
||||||
const logDir = path.join(__dirname, "../logs");
|
// const logDir = path.join(__dirname, "../logs"); Désactivé parce que cela requiert d'exec en admin mode. Donc pas pratique pour les gens
|
||||||
|
|
||||||
|
let logDir;
|
||||||
|
if (process.platform === "win32") {
|
||||||
|
logDir = path.join(os.homedir(), "AppData", "Local", "FreedomLoader", "logs");
|
||||||
|
} else {
|
||||||
|
logDir = path.join(os.homedir(), ".freedomloader", "logs");
|
||||||
|
}
|
||||||
|
|
||||||
// Création du dossier logs s’il n’existe pas encore
|
// Création du dossier logs s’il n’existe pas encore
|
||||||
if (!fs.existsSync(logDir)) fs.mkdirSync(logDir);
|
//if (!fs.existsSync(logDir)) fs.mkdirSync(logDir); OBSOLETE
|
||||||
|
|
||||||
|
fs.mkdirSync(logDir, { recursive: true }); // Evite les erreurs
|
||||||
|
|
||||||
|
|
||||||
// Fonction utilitaire pour générer une ligne indiquant le début d’une session de logs
|
// Fonction utilitaire pour générer une ligne indiquant le début d’une session de logs
|
||||||
function getSessionStartLine() {
|
function getSessionStartLine() {
|
||||||
@@ -95,4 +106,5 @@ module.exports = {
|
|||||||
logger,
|
logger,
|
||||||
logSessionStart,
|
logSessionStart,
|
||||||
logSessionEnd,
|
logSessionEnd,
|
||||||
|
logDir,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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.06.30.exe');
|
const ytDlpPath = path.join(__dirname, '../../yt-dlp 2025.08.27.exe');
|
||||||
|
|
||||||
router.post("/", (req, res) => {
|
router.post("/", (req, res) => {
|
||||||
try {
|
try {
|
||||||
@@ -76,13 +76,29 @@ router.post("/", (req, res) => {
|
|||||||
// Construction du tableau d'arguments à passer à yt-dlp
|
// Construction du tableau d'arguments à passer à yt-dlp
|
||||||
// --no-continue pour forcer un téléchargement propre
|
// --no-continue pour forcer un téléchargement propre
|
||||||
// --restrict-filenames pour éviter les caractères problématiques dans les noms
|
// --restrict-filenames pour éviter les caractères problématiques dans les noms
|
||||||
const args = ["--no-continue", "--restrict-filenames"];
|
const args = [
|
||||||
|
"--no-continue", // pas de reprise, c'est un choix que j'ai fait voila
|
||||||
|
//"--restrict-filenames", // noms de fichiers sans caractères spéciaux (Cyrilique, accents, etc.)
|
||||||
|
"--no-overwrites", // évite d'écraser un fichier existant
|
||||||
|
"--embed-thumbnail", // ajoute la pochette
|
||||||
|
"--add-metadata", // ajoute les tags (titre, artiste, etc.)
|
||||||
|
"--concurrent-fragments", "8",// accélère le téléchargement
|
||||||
|
"--retries", "10", // réessaie jusqu'à 10 fois en cas d'erreur
|
||||||
|
"--fragment-retries", "10" // réessaie aussi 10 fois chaque fragment
|
||||||
|
];
|
||||||
|
|
||||||
// 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
|
||||||
if (options.audioOnly) {
|
if (options.audioOnly) {
|
||||||
args.push("--extract-audio", "--audio-format", "mp3");
|
args.push(
|
||||||
|
"-f",
|
||||||
|
"bestaudio",
|
||||||
|
"--extract-audio",
|
||||||
|
"--audio-format",
|
||||||
|
"mp3",
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Correspondance entre la qualité choisie et le format à demander à yt-dlp
|
// Correspondance entre la qualité choisie et le format à demander à yt-dlp
|
||||||
const qualityMap = {
|
const qualityMap = {
|
||||||
best: "bestvideo+bestaudio/best",
|
best: "bestvideo+bestaudio/best",
|
||||||
|
|||||||
@@ -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.06.30.exe');
|
const ytDlpPath = path.join(__dirname, '../../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)) {
|
||||||
|
|||||||
@@ -101,3 +101,6 @@ process.on("SIGTERM", () => { // Capture kill ou arrêt du process
|
|||||||
|
|
||||||
// Export de la fonction startServer pour permettre son appel depuis d’autres fichiers
|
// Export de la fonction startServer pour permettre son appel depuis d’autres fichiers
|
||||||
module.exports = { startServer };
|
module.exports = { startServer };
|
||||||
|
|
||||||
|
const { startRPC } = require("./discordRPC");
|
||||||
|
startRPC();
|
||||||
|
|||||||