This repo is split between two projects:
src/extension
- A React web extension, built with webpack.src/program
- A Rust program, used as a local webserver to run yt-dlp.
- 🧩 Trigger the download in-browser for all playlists starting with a "/"
- 📥 Download only the missing files to your disk
- 📤 Remove files that are no longer in the playlist
- 🚅 Download up to 10 videos concurrently
- 📛 Rename downloaded files to anything you want
- 📁 Unlimited nested directory support via playlist name
The web extension will fetch all playlists from Youtube that have a title starting with a "/" (ex: "/Mood/Jamming") and send it to the program to download into directories.
- Have ffmpeg and yt-dlp installed on your PATH.
- Download the Chrome/Firefox extension and executable here.
- Install the web extension. Open it, and paste in your Download Directory path. (ex: "X:\Some Useful Stuff\Music\Stream")
- Run
slash-playlist.exe
. - Navigate to https://www.youtube.com/feed/playlists. Press Fetch and Download in the extension.
- Monitor the
slash-playlist.exe
prompt to see download progress.
Use npm run extension-build
and npm run program-build
to build each project.