mirror of
https://github.com/MasterAcnolo/Freedom-Loader.git
synced 2026-07-29 18:25:47 +02:00
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
### **A clean, open-source multimedia downloader for Windows**
|
### **A clean, open-source multimedia downloader for Windows**
|
||||||
|
|
||||||
[](https://github.com/MasterAcnolo/Freedom-Loader/releases)
|
[](https://github.com/MasterAcnolo/Freedom-Loader/releases)
|
||||||
[](https://www.gnu.org/licenses/gpl-3.0)
|
[](https://www.gnu.org/licenses/gpl-3.0)
|
||||||
[](https://masteracnolo.github.io/FreedomLoader/)
|
[](https://masteracnolo.github.io/FreedomLoader/)
|
||||||
<a href="https://www.firefox.com/fr/?utm_campaign=SET_DEFAULT_BROWSER"><img src="https://img.shields.io/badge/Require Firefox-E66000?style=for-the-badge&logo=Firefox-Browser&logoColor=white"></a>
|
<a href="https://www.firefox.com/fr/?utm_campaign=SET_DEFAULT_BROWSER"><img src="https://img.shields.io/badge/Require Firefox-E66000?style=for-the-badge&logo=Firefox-Browser&logoColor=white"></a>
|
||||||
|
|||||||
8
main.js
8
main.js
@@ -1,7 +1,6 @@
|
|||||||
const config = require("./config.js");
|
const config = require("./config.js");
|
||||||
const { app, BrowserWindow, ipcMain, dialog, Menu, shell } = require("electron");
|
const { app, BrowserWindow, ipcMain, dialog, Menu, shell } = require("electron");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const os = require("os");
|
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
|
|
||||||
const { logger, logSessionStart, logSessionEnd, logDir } = require("./server/logger");
|
const { logger, logSessionStart, logSessionEnd, logDir } = require("./server/logger");
|
||||||
@@ -32,7 +31,7 @@ const gotLock = app.requestSingleInstanceLock();
|
|||||||
// Native dependencies check (yt-dlp.exe, ffmpeg.exe, ffprobe.exe, Deno)
|
// Native dependencies check (yt-dlp.exe, ffmpeg.exe, ffprobe.exe, Deno)
|
||||||
function checkNativeDependencies() {
|
function checkNativeDependencies() {
|
||||||
// Import centralized paths after app initialization
|
// Import centralized paths after app initialization
|
||||||
const { binaryPaths } = require("./server/helpers/path");
|
const { binaryPaths } = require("./server/helpers/path.helpers.js");
|
||||||
|
|
||||||
const deps = [
|
const deps = [
|
||||||
{ name: "yt-dlp.exe", path: binaryPaths.ytDlp },
|
{ name: "yt-dlp.exe", path: binaryPaths.ytDlp },
|
||||||
@@ -93,6 +92,7 @@ async function createMainWindow() {
|
|||||||
minWidth: 750,
|
minWidth: 750,
|
||||||
minHeight: 800,
|
minHeight: 800,
|
||||||
frame: !configFeatures.customTopBar,
|
frame: !configFeatures.customTopBar,
|
||||||
|
devTools: `${app.isPackaged ? false : true}`,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
nodeIntegration: false,
|
nodeIntegration: false,
|
||||||
contextIsolation: true,
|
contextIsolation: true,
|
||||||
@@ -114,11 +114,11 @@ async function createMainWindow() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function validateDownloadPath(userPath) {
|
function validateDownloadPath(userPath) {
|
||||||
const { isSafePath } = require("./server/helpers/validation");
|
const { isSafePath } = require("./server/helpers/validation.helpers.js");
|
||||||
|
|
||||||
// Lazy load default path
|
// Lazy load default path
|
||||||
if (!defaultDownloadPath) {
|
if (!defaultDownloadPath) {
|
||||||
const { defaultDownloadFolder } = require("./server/helpers/path");
|
const { defaultDownloadFolder } = require("./server/helpers/path.helpers.js");
|
||||||
defaultDownloadPath = defaultDownloadFolder;
|
defaultDownloadPath = defaultDownloadFolder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
2022
package-lock.json
generated
2022
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "freedom-loader",
|
"name": "freedom-loader",
|
||||||
"productName": "Freedom Loader",
|
"productName": "Freedom Loader",
|
||||||
"version": "1.4.5",
|
"version": "1.4.6",
|
||||||
"author": "MasterAcnolo",
|
"author": "MasterAcnolo",
|
||||||
"description": "Freedom Loader",
|
"description": "Freedom Loader",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"electron": "^37.1.0",
|
"electron": "^37.1.0",
|
||||||
"electron-builder": "^25.1.8"
|
"electron-builder": "^26.8.1"
|
||||||
},
|
},
|
||||||
"build": {
|
"build": {
|
||||||
"appId": "com.masteracnolo.freedomloader",
|
"appId": "com.masteracnolo.freedomloader",
|
||||||
|
|||||||
Binary file not shown.
@@ -1,7 +1,7 @@
|
|||||||
const { fetchDownload } = require("../services/download.services");
|
const { fetchDownload } = require("../services/download.services");
|
||||||
const { logger } = require("../logger");
|
const { logger } = require("../logger");
|
||||||
const { isValidUrl, isSafePath } = require("../helpers/validation");
|
const { isValidUrl, isSafePath } = require("../helpers/validation.helpers");
|
||||||
const { notifyDownloadFinished } = require("../helpers/notify");
|
const { notifyDownloadFinished } = require("../helpers/notify.helpers");
|
||||||
|
|
||||||
const listeners = [];
|
const listeners = [];
|
||||||
const speedListeners = [];
|
const speedListeners = [];
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
const { fetchInfo } = require("../services/info.services");
|
const { fetchInfo } = require("../services/info.services");
|
||||||
const { parseVideo, parsePlaylist } = require("../helpers/parseInfo");
|
const { parseVideo, parsePlaylist } = require("../helpers/parseInfo.helpers");
|
||||||
const { logger } = require("../logger");
|
const { logger } = require("../logger");
|
||||||
const { isValidUrl } = require("../helpers/validation");
|
const { isValidUrl } = require("../helpers/validation.helpers");
|
||||||
|
|
||||||
async function infoController(req, res){
|
async function infoController(req, res){
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
const path = require("path");
|
const path = require("path");
|
||||||
|
|
||||||
const getUserBrowser = require("./getBrowser");
|
const getUserBrowser = require("./getBrowser.helpers.js");
|
||||||
const { ffmpegPath, denoPath} = require("./path");
|
const { ffmpegPath, denoPath} = require("./path.helpers.js");
|
||||||
const { configFeatures } = require("../../config.js");
|
const { configFeatures } = require("../../config.js");
|
||||||
const { logger } = require("../logger");
|
const { logger } = require("../logger.js");
|
||||||
|
|
||||||
function validateCodec(codec){
|
function validateCodec(codec){
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const os = require("os");
|
const os = require("os");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const notify = require("./notify")
|
const notify = require("./notify.helpers")
|
||||||
const { logger } = require("../logger");
|
const { logger } = require("../logger");
|
||||||
|
|
||||||
function getUserBrowser() {
|
function getUserBrowser() {
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
const { Notification, shell } = require("electron");
|
const { Notification, shell } = require("electron");
|
||||||
const { iconPaths } = require("./path");
|
const { iconPaths } = require("./path.helpers");
|
||||||
|
|
||||||
function notifyDownloadFinished(folder) {
|
function notifyDownloadFinished(folder) {
|
||||||
const notif = new Notification({
|
const notif = new Notification({
|
||||||
@@ -2,7 +2,7 @@ const path = require("path");
|
|||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const os = require("os");
|
const os = require("os");
|
||||||
const { app } = require("electron");
|
const { app } = require("electron");
|
||||||
const config = require("../../config");
|
const config = require("../../config.js");
|
||||||
|
|
||||||
const { logger } = require("../logger.js");
|
const { logger } = require("../logger.js");
|
||||||
|
|
||||||
@@ -3,8 +3,8 @@ const path = require("path");
|
|||||||
const { logger, logSessionEnd } = require("./logger");
|
const { logger, logSessionEnd } = require("./logger");
|
||||||
const config = require("../config");
|
const config = require("../config");
|
||||||
const { execFile } = require("child_process");
|
const { execFile } = require("child_process");
|
||||||
const { userYtDlp } = require("./helpers/path");
|
const { userYtDlp } = require("./helpers/path.helpers");
|
||||||
const { rateLimite } = require("./helpers/rateLimit")
|
const { rateLimite } = require("./helpers/rateLimit.helpers")
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
const { execFile } = require("child_process");
|
const { execFile } = require("child_process");
|
||||||
const { userYtDlp, defaultDownloadFolder } = require("../helpers/path");
|
const { userYtDlp, defaultDownloadFolder } = require("../helpers/path.helpers");
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const { logger } = require("../logger");
|
const { logger } = require("../logger");
|
||||||
const { buildYtDlpArgs } = require("../helpers/buildArgs");
|
const { buildYtDlpArgs } = require("../helpers/buildArgs.helpers");
|
||||||
const notify = require("../helpers/notify");
|
const notify = require("../helpers/notify.helpers");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const { isSafePath } = require("../helpers/validation");
|
const { isSafePath } = require("../helpers/validation.helpers");
|
||||||
|
|
||||||
function fetchDownload(options, listeners, speedListeners) {
|
function fetchDownload(options, listeners, speedListeners) {
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
const { execFile } = require("child_process");
|
const { execFile } = require("child_process");
|
||||||
const { userYtDlp, denoPath } = require("../helpers/path");
|
const { userYtDlp, denoPath } = require("../helpers/path.helpers");
|
||||||
const getUserBrowser = require("../helpers/getBrowser");
|
const getUserBrowser = require("../helpers/getBrowser.helpers");
|
||||||
const { logger } = require("../logger");
|
const { logger } = require("../logger");
|
||||||
|
|
||||||
function fetchInfo(url) {
|
function fetchInfo(url) {
|
||||||
|
|||||||
Reference in New Issue
Block a user