diff --git a/backend/subscriptions.js b/backend/subscriptions.js index c777435..281af09 100644 --- a/backend/subscriptions.js +++ b/backend/subscriptions.js @@ -52,6 +52,8 @@ exports.subscribe = async (sub, user_uid = null, skip_get_info = false) => { } async function getSubscriptionInfo(sub) { + const default_downloader = config_api.getConfigItem('ytdl_default_downloader'); + // get videos let downloadConfig = ['--dump-json', '--playlist-end', '1']; let useCookies = config_api.getConfigItem('ytdl_use_cookies'); @@ -63,6 +65,11 @@ async function getSubscriptionInfo(sub) { } } + // Enable external JavaScript support for YouTube (requires Deno + yt-dlp-ejs) + if (default_downloader === 'yt-dlp') { + downloadConfig.push('--remote-components', 'ejs:github'); + } + let {callback} = await youtubedl_api.runYoutubeDL(sub.url, downloadConfig); const {parsed_output, err} = await callback; if (err) { @@ -435,6 +442,8 @@ async function generateArgsForSubscription(sub, user_uid, redownload = false, de const default_downloader = config_api.getConfigItem('ytdl_default_downloader'); if (default_downloader === 'yt-dlp') { downloadConfig.push('--no-clean-info-json'); + // Enable external JavaScript support for YouTube (requires Deno + yt-dlp-ejs) + downloadConfig.push('--remote-components', 'ejs:github'); } downloadConfig = utils.filterArgs(downloadConfig, ['--write-comments']);