vdoldl
v0.8.2
Published
Universal downloader MP4/MP3 ala opencode — YouTube, TikTok, Instagram, dan 1000+ situs via yt-dlp. Tampilan CLI modern, hybrid interactive + headless.
Maintainers
Readme
vdoldl
Universal MP4/MP3/image downloader with a modern terminal UI.
Supports YouTube, TikTok, Instagram, Pinterest, Facebook, X, and 1000+ sites via yt-dlp.
Automatically distinguishes video / image / album-carousel.
by a80uls ·
npm i -g vdoldl
Install (once)
npm i -g vdoldlThat single command also installs everything required:
- all npm libraries (
citty,@clack/prompts,ffmpeg-static,sharp, …) - the latest
yt-dlpbinary viapostinstall(stored invendor/, falls back to systemyt-dlpif present) - an
ffmpegbinary viaffmpeg-static(no manual install)
Requires Node.js >= 18. No Python / manual ffmpeg needed.
Use
# Fullscreen TUI (default, no flags) — paste link, pick resolution, download
vdoldl
# Direct
vdoldl "https://www.youtube.com/watch?v=xxxx" --mp4 --quality 1080p
vdoldl "https://www.tiktok.com/@user/video/123" --mp3
vdoldl "https://www.instagram.com/reel/xxxx" --mp4 --quality 720p
# Images (Pinterest / IG photos): resize + upscale + format
vdoldl "https://www.pinterest.com/pin/xxxx" --imgsize 1080w --imgfmt jpg
vdoldl "https://www.pinterest.com/pin/xxxx" --imgsize 2x --imgfmt png
# imgsize: original, 1080w, 2048w, 4096w, 2x, 4x (lanczos upscale)
# imgfmt: jpg, png, webp
# Albums / carousels (e.g. 3-slide IG posts, multi-image pins): pick slides
vdoldl "https://www.instagram.com/p/xxxx" --slides all
vdoldl "https://www.instagram.com/p/xxxx" --slides 1,3
# slides: all or 1,3 / 1-3
# Batch
vdoldl --batch links.txt --mp3
# Misc
vdoldl --history
vdoldl --config
vdoldl --dashboard
vdoldl --checksixel
vdoldl -o "D:\Videos" "URL" --mp4Default folder: ~/Downloads/vdoldl/<platform>/.
Example on Windows: C:\Users\you\Downloads\vdoldl\youtube\.
Custom output folder
vdoldl "URL" --mp4 -o "D:\My Videos"
vdoldl "URL" --mp3 -o "D:\Music"-o / --out accepts absolute paths, ~ home shorthand, or paths relative
to the current folder. The folder is created automatically, the exact target
is printed as saving to → … before downloading, and after finishing vdoldl
verifies the file really exists there — it never reports "saved" falsely.
Troubleshooting "downloaded but file nowhere": read the saving to → line in
the output — that is the exact folder. If it points somewhere unexpected,
override it with -o as above.
Quality (follows what the source actually offers)
- Video:
best,2160p,1440p,1080p,720p,480p(+ per-choice MB estimate in TUI) - Audio:
320k,256k,192k,160k,128k,96k,64k(+ per-choice MB estimate in TUI)
Inside the --tui mode every pasted link instantly shows: song/video title, artist/channel,
duration, and estimated file size before downloading.
Images & albums in TUI: image links → resolution menu (Original/1080w/2048w/4096w/2x/4x
upscale, Tab switches jpg/png/webp). Carousel links (e.g. 3-slide IG) → an auto-built
numbered contact-sheet preview (opens by itself, o reopens) so you can see clearly
"image 1 is this one, image 2 is that one" → pick all / slide numbers →
Enter → download (mixed video slides download as mp4, files named 01-…, 02-…).
Preview HD (Sixel): on supporting terminals (Windows Terminal 1.22+, WezTerm),
the preview renders inline in the Preview column — box-wide, adaptive palette + dithering
(sharp even when small). Key p = big overlay that stays centered and follows
terminal resizes. Check first: vdoldl --checksixel. Older terminals automatically
use the dithered half-block Preview box.
Private / age-restricted content
Export cookies from your browser (Get cookies.txt extension), then:
vdoldl "URL" --mp4 --cookies cookies.txtIn TUI press c to set your cookies.txt path.
Update engine
npm i -g vdoldl@latest
npm run update-engine --prefix "$(npm root -g)/vdoldl"Disclaimer
Respect copyright & each platform's ToS. Use only for your own content / royalty-free content / owner permission.
Author
a80uls — vdoldl.
