Skip to content

marcio199226/ytd

Repository files navigation

ytd

Dekstop app for downloading audio tracks from youtube built with wails & angular

(*) please note this is an alpha version in case of malfunction please open an issue

Install

Download from releases page

PWA

Supported platfroms for now

  • Macos (tested on 11.5.x/11.6.x & 12.x apple m1)

Main features:

  • check for updates & app update
  • clipboard watch (once yt link is copied it will be automatically downloaded, can be disabled)
  • run in bg on close (run app in bg even if you closed app window)
  • convert webm files to mp3
  • system tray with fast settings
  • in app player for single tracks and playlists (for now only for offline created playlists)
  • Internalization
    • English
    • Polish
    • Italian
  • clean and simple UI (I hope ;))
  • create offline playlist
    • playback playlist
    • add/remove tracks
    • export to any external devices (pen drive , external hd etc...) or any folder
  • Made with 💚 with golang & angular in my spare time

Screenshots

home

settings_dialog

downloading_track

track_playback

playlist_playback

Build from sources

Wails requirements: https://wails.io/docs/gettingstarted/installation

Dev env

Angular

cd frontend && npm install && npm run serve

Wails

wails dev --e "html"

Open tab in chrome (preffered) and go to http://localhost:4200

Extract translation for golang side:

xgotext -exclude "vendor,frontend" -in "/Users/oskarmarciniak/projects/golang/ytd" -out "/Users/oskarmarciniak/projects/golang/ytd/i18n"

Build binaries (Macos only at the moment)

wails build --platform darwin/arm64 --clean --package --production

wails build --platform darwin/amd64 --clean --package --production --upx

(*) upx doesn't work for apple m1 upx/upx#446

Roadmap

  • Chrome extension so tracks may be downloaded without user interaction (even without copy yt links)
  • Internalization
  • Share tracks through public webserver running locally
  • Download playlists from yt (exports them, search for playlist, playback playlist etc...)