Using native yt-dlp on Linux instead of the wrapper one

This commit is contained in:
Lucas Gabriel 2024-09-29 12:37:39 -03:00
parent 0df4b3f387
commit 76683d8381
No known key found for this signature in database
GPG Key ID: D9B075FC6DC93985
2 changed files with 15 additions and 4 deletions

View File

@ -7,14 +7,16 @@ const fs = require('fs');
const path = require('path');
const ytDlpPaths = {
linux: path.resolve(__dirname, '../plugins/yt-dlp/yt-dlp'),
win32: path.resolve(__dirname, '../plugins/yt-dlp/yt-dlp.exe'),
darwin: path.resolve(__dirname, '../plugins/yt-dlp/yt-dlp_macos'),
};
function getYtDlpPath() {
const platform = os.platform();
return ytDlpPaths[platform] || ytDlpPaths.linux;
if (platform === 'linux') {
return 'yt-dlp';
}l
return ytDlpPaths[platform] || 'yt-dlp';
};
async function downloadFromYoutube(command, args) {

View File

@ -6,18 +6,27 @@ const os = require('os');
const downloadDir = path.resolve(__dirname, 'yt-dlp');
const urls = {
linux: 'https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp',
win32: 'https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe',
darwin: 'https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos',
};
function getDownloadUrl() {
const platform = os.platform();
return urls[platform] || urls.linux;
return urls[platform];
};
async function downloadYtDlp() {
if (os.platform() === 'linux') {
console.log('Skipping yt-dlp download on Linux. It should be installed via pip.');
return;
}
const url = getDownloadUrl();
if (!url) {
console.error('Unsupported platform for yt-dlp download.');
return;
}
const fileName = url.split('/').pop();
const filePath = path.join(downloadDir, fileName);