Bare minimum zero dependency¹ single binary web app to download youtube videos using youtube-dl. Allows multiple downloads in parallel. Shows title and live download progress. Pull requests welcome. For a more feature full nicer looking app, checkout [YoutubeDL-Material](https://github.com/Tzahi12345/YoutubeDL-Material)
¹ Uses `golang.org/x/net` for websockets. It is strictly not part of go standard library.
Usage
-----
❯ go install gitlab.com/balki/ytui@latest
go: downloading gitlab.com/balki/ytui v0.0.0-...
❯ ~/go/bin/ytui -h
2022/06/30 10:53:46 Youtube UI
Usage of /home/balki/go/bin/ytui:
-cachepath string
Path where temporary download files are saved (default "./cache")
-dbpath string
Path where downloaded info is saved (default "./db.json")
-port int
Port to listen on (default 8080)
-videospath string
Path where videos are saved (default "./vids")
-videosurl string
Prefix of the url, i.e. https://domain.com/<thisvar>/<videofilename> (default "/vids")
-ytdlcmd string
youtube-dl command seperated by spaces (default "youtube-dl")
Wrote a small go helper [ProgressTracker](https://gitlab.com/balki/ytui/-/blob/main/pubsub/pt.go), to watch for progress and update subscribers. Hope it is useful elsewhere too. It has full unit test coverage