YouTube is going to shit and I'd like to archive as many videos as possible before it shits the bed. This web application allows users to scrape channels/playlists/videos that they enjoy and request specific videos to be downloaded (with subs, description, metadata, and even current sponsorblock info). To handle the creators who might have some bangers but don't always bang, you can also mark videos as hidden to exclude them from your search results so you can just go through videos you haven't decided on yet.
docker compose build && docker compose up
npm install
npm start
to runThe backend is a Flask app. It makes use of Python RQ+redis to create worker queues for downloading metadata and downloading videos. The docker compose file currently spawns two workers, but you can bump that number up to do more things at the same time. The search functionality is provided by typesense. The frontend is written in Vue and utilizes InstantSearch.js to provide a good search UI.