9 Commits
1.4.5 ... 1.4.6

Author SHA1 Message Date
MasterAcnolo
90e1a5fde7 Merge pull request #36 from MasterAcnolo/1.4.6
1.4.6
2026-03-18 10:00:17 +01:00
MasterAcnolo
dcfea2073c Fix: Wrong files Path 2026-03-18 09:20:25 +01:00
MasterAcnolo
0be1ef1710 Update: YT-DLP 2026-03-18 09:13:56 +01:00
MasterAcnolo
da393b19d9 Refactor: Suffixe in helpers/ 2026-03-18 09:13:47 +01:00
MasterAcnolo
1c27cc19cf Fix: Remove unusued modules and disable devTools when packaged 2026-03-16 21:22:41 +01:00
MasterAcnolo
ff7366c46c Fix: Update YT-DLP 2026-03-16 21:22:24 +01:00
MasterAcnolo
459d4c6df4 Fix: Increment app version 2026-03-16 21:15:35 +01:00
MasterAcnolo
d2ca3e99d2 Fix: Dependencies 2026-03-16 21:15:17 +01:00
MasterAcnolo
8ad3ea55cc Docs: Update ReadME 2026-03-16 20:57:38 +01:00
17 changed files with 805 additions and 1267 deletions

View File

@@ -7,7 +7,7 @@
### **A clean, open-source multimedia downloader for Windows**
[![Release](https://img.shields.io/badge/Release-1.4.5-blue?style=for-the-badge)](https://github.com/MasterAcnolo/Freedom-Loader/releases)
[![Release](https://img.shields.io/badge/Release-1.4.6-blue?style=for-the-badge)](https://github.com/MasterAcnolo/Freedom-Loader/releases)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-red.svg?style=for-the-badge)](https://www.gnu.org/licenses/gpl-3.0)
[![Website](https://img.shields.io/badge/Website-Visit-404040?style=for-the-badge)](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>

View File

@@ -1,7 +1,6 @@
const config = require("./config.js");
const { app, BrowserWindow, ipcMain, dialog, Menu, shell } = require("electron");
const path = require("path");
const os = require("os");
const fs = require("fs");
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)
function checkNativeDependencies() {
// Import centralized paths after app initialization
const { binaryPaths } = require("./server/helpers/path");
const { binaryPaths } = require("./server/helpers/path.helpers.js");
const deps = [
{ name: "yt-dlp.exe", path: binaryPaths.ytDlp },
@@ -93,6 +92,7 @@ async function createMainWindow() {
minWidth: 750,
minHeight: 800,
frame: !configFeatures.customTopBar,
devTools: `${app.isPackaged ? false : true}`,
webPreferences: {
nodeIntegration: false,
contextIsolation: true,
@@ -114,11 +114,11 @@ async function createMainWindow() {
}
function validateDownloadPath(userPath) {
const { isSafePath } = require("./server/helpers/validation");
const { isSafePath } = require("./server/helpers/validation.helpers.js");
// Lazy load default path
if (!defaultDownloadPath) {
const { defaultDownloadFolder } = require("./server/helpers/path");
const { defaultDownloadFolder } = require("./server/helpers/path.helpers.js");
defaultDownloadPath = defaultDownloadFolder;
}

2022
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
{
"name": "freedom-loader",
"productName": "Freedom Loader",
"version": "1.4.5",
"version": "1.4.6",
"author": "MasterAcnolo",
"description": "Freedom Loader",
"main": "main.js",
@@ -23,7 +23,7 @@
},
"devDependencies": {
"electron": "^37.1.0",
"electron-builder": "^25.1.8"
"electron-builder": "^26.8.1"
},
"build": {
"appId": "com.masteracnolo.freedomloader",

Binary file not shown.

View File

@@ -1,7 +1,7 @@
const { fetchDownload } = require("../services/download.services");
const { logger } = require("../logger");
const { isValidUrl, isSafePath } = require("../helpers/validation");
const { notifyDownloadFinished } = require("../helpers/notify");
const { isValidUrl, isSafePath } = require("../helpers/validation.helpers");
const { notifyDownloadFinished } = require("../helpers/notify.helpers");
const listeners = [];
const speedListeners = [];

View File

@@ -1,7 +1,7 @@
const { fetchInfo } = require("../services/info.services");
const { parseVideo, parsePlaylist } = require("../helpers/parseInfo");
const { parseVideo, parsePlaylist } = require("../helpers/parseInfo.helpers");
const { logger } = require("../logger");
const { isValidUrl } = require("../helpers/validation");
const { isValidUrl } = require("../helpers/validation.helpers");
async function infoController(req, res){

View File

@@ -1,9 +1,9 @@
const path = require("path");
const getUserBrowser = require("./getBrowser");
const { ffmpegPath, denoPath} = require("./path");
const getUserBrowser = require("./getBrowser.helpers.js");
const { ffmpegPath, denoPath} = require("./path.helpers.js");
const { configFeatures } = require("../../config.js");
const { logger } = require("../logger");
const { logger } = require("../logger.js");
function validateCodec(codec){

View File

@@ -1,7 +1,7 @@
const fs = require("fs");
const os = require("os");
const path = require("path");
const notify = require("./notify")
const notify = require("./notify.helpers")
const { logger } = require("../logger");
function getUserBrowser() {

View File

@@ -1,5 +1,5 @@
const { Notification, shell } = require("electron");
const { iconPaths } = require("./path");
const { iconPaths } = require("./path.helpers");
function notifyDownloadFinished(folder) {
const notif = new Notification({

View File

@@ -2,7 +2,7 @@ const path = require("path");
const fs = require("fs");
const os = require("os");
const { app } = require("electron");
const config = require("../../config");
const config = require("../../config.js");
const { logger } = require("../logger.js");

View File

@@ -3,8 +3,8 @@ const path = require("path");
const { logger, logSessionEnd } = require("./logger");
const config = require("../config");
const { execFile } = require("child_process");
const { userYtDlp } = require("./helpers/path");
const { rateLimite } = require("./helpers/rateLimit")
const { userYtDlp } = require("./helpers/path.helpers");
const { rateLimite } = require("./helpers/rateLimit.helpers")
const app = express();

View File

@@ -1,11 +1,11 @@
const { execFile } = require("child_process");
const { userYtDlp, defaultDownloadFolder } = require("../helpers/path");
const { userYtDlp, defaultDownloadFolder } = require("../helpers/path.helpers");
const fs = require("fs");
const { logger } = require("../logger");
const { buildYtDlpArgs } = require("../helpers/buildArgs");
const notify = require("../helpers/notify");
const { buildYtDlpArgs } = require("../helpers/buildArgs.helpers");
const notify = require("../helpers/notify.helpers");
const path = require("path");
const { isSafePath } = require("../helpers/validation");
const { isSafePath } = require("../helpers/validation.helpers");
function fetchDownload(options, listeners, speedListeners) {

View File

@@ -1,6 +1,6 @@
const { execFile } = require("child_process");
const { userYtDlp, denoPath } = require("../helpers/path");
const getUserBrowser = require("../helpers/getBrowser");
const { userYtDlp, denoPath } = require("../helpers/path.helpers");
const getUserBrowser = require("../helpers/getBrowser.helpers");
const { logger } = require("../logger");
function fetchInfo(url) {