Files
Freedom-Loader/server/helpers/getBrowser.js

39 lines
1.8 KiB
JavaScript

const fs = require("fs");
const os = require("os");
const path = require("path");
const notify = require("./notify")
const { logger } = require("../logger");
function getUserBrowser() {
const userProfile = os.homedir();
// Liste des navigateurs supportés par yt-dlp (Actuellement je peux que garantir Firefox, Désolé)
const browsers = [
{ name: "firefox", path: path.join(userProfile, "AppData", "Roaming", "Mozilla", "Firefox", "Profiles") },
// { name: "chrome", path: path.join(userProfile, "AppData", "Local", "Google", "Chrome", "User Data", "Default") },
// { name: "brave", path: path.join(userProfile, "AppData", "Local", "BraveSoftware", "Brave-Browser", "User Data", "Default") },
// { name: "edge", path: path.join(userProfile, "AppData", "Local", "Microsoft", "Edge", "User Data", "Default") },
// { name: "opera", path: path.join(userProfile, "AppData", "Roaming", "Opera Software", "Opera Stable") },
// { name: "vivaldi", path: path.join(userProfile, "AppData", "Local", "Vivaldi", "User Data", "Default") },
// { name: "safari", path: path.join(userProfile, "AppData", "Local", "Apple Computer", "Safari") },
// { name: "whale", path: path.join(userProfile, "AppData", "Local", "Naver", "Naver Whale", "User Data", "Default") }
];
// Chercher un navigateur disponible
for (const browser of browsers) {
if (fs.existsSync(browser.path)) {
logger.info(`Browser found: ${browser.name}`);
return browser.name;
}
}
// Aucun navigateur trouvé - notifier l'utilisateur
logger.warn("No supported browser found on the system");
notify.notifyFirefoxBrowserMissing();
// Fallback: retourner "firefox" pour laisser yt-dlp gérer l'erreur
// plutôt que de crasher l'application
return "firefox";
}
module.exports = getUserBrowser