From: Steven Baltakatei Sandoval Date: Fri, 6 Feb 2026 16:19:15 +0000 (+0000) Subject: feat(user/bkytpldl-generic):Reference external javascript solver X-Git-Url: https://zdv2.bktei.com/gitweb/BK-2020-03.git/commitdiff_plain/5b4c0cf8cf6ef073a0b34da844d28dee765d43bf?ds=sidebyside feat(user/bkytpldl-generic):Reference external javascript solver - Note: external javascript solver required as of 2026 https://github.com/yt-dlp/yt-dlp/issues/14404 - feat(user/bkytpldl-generic):Add 24-hour timeout --- diff --git a/user/bkytpldl-generic b/user/bkytpldl-generic index 4f6689f..199ed40 100644 --- a/user/bkytpldl-generic +++ b/user/bkytpldl-generic @@ -1,7 +1,7 @@ #!/usr/bin/env bash # Desc: Download YouTube videos # Usage: $ ./bkytpldl-generic -# Version: 4.1.2 +# Version: 4.2.0 declare -a args; # array for yt-dlp arguments declare -a urls urls_rand; # array for YouTube playlist URLs @@ -22,6 +22,10 @@ if ! command -v yt-dlp 1>/dev/random 2>&1; then die "FATAL:yt-dlp not found."; f # Donʼt run multiple yt-dlp instances if pgrep "^yt-dlp$" 1>/dev/random 2>&1; then die "FATAL:yt-dlp already running."; fi; +# Enable JavaScript solver via deno. See https://github.com/yt-dlp/yt-dlp/wiki/EJS#step-2-install-ejs-challenge-solver-scripts +args+=("--remote-components"); +args+=("ejs:npm"); + # Check directories if [[ ! -d $dir_out ]]; then mkdir -p "$dir_out"; fi; @@ -101,7 +105,7 @@ pushd "$dir_out" || die "FATAL:Failed to change pwd to:dir_out:$dir_out"; # == Download videos == #yell "DEBUG:args:$(declare -p args)"; # debug command -must yt-dlp "${args[@]}"; # execute command +timeout "$((1*24*3600))" yt-dlp "${args[@]}"; popd || die "FATAL:Failed to return from dir_out:$dir_out"; # Author: Steven Baltakatei Sandoval