/yt-music-desktop-client

A Desktop Client for the YouTube Music service.

Primary LanguageJavaScriptMIT LicenseMIT

⚠⚠⚠ WARNING ⚠⚠⚠
This project is no longer being worked on, but it currently and should work smoothly in the future. If it don't work, I believe you can fix it on your own ♥


Contributors Forks Stargazers Issues MIT License


Logo

YT Music Desktop Client

A Desktop Client for the YouTube Music service.
Download »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Since Google doesn't want to make a Desktop Client for their YouTube Music service which in turn requires people to use a browser, and Google Chrome is such as RAM hog, I just went ahead and made a client for the YT Music Service myself.

I do not own any of the logos displayed.

(back to top)

Built With

(back to top)

Security Warning

SECURITY FLAGS ARE DISABLED, WHICH LEAVES YOUR SAFETY TO YOURSELF, DO NOT CLICK ANY MALICIOUS LINKS YOU MAY SEE IN DESCRIPTIONS, OPEN THEM IN DIFFERENT BROWSERS. YOU HAVE BEEN WARNED.

Getting Started

To setup your own build of this client, just follow these steps.

Installation

Download and launch YTMusicSetup.exe from the releases page

Prerequisites

  • NodeJS ^14.0.0 (LTS)
  • Git
  • IDE (Visual Studio Code is a good canidate)
  • A Brain (pretty self explainatory)

Source Cloning

  1. Clone the repo
    C:\yt-music> git clone https://github.com/hellokoda/yt-music-desktop-client.git
  2. Install NPM packages (--verbose is not required but its good to show the progress)
    C:\yt-music> npm install --verbose
  3. Have fun! You now have your own clone of this repository.

Debugging

DevTools is allowed by default and can be trigger by pressing the CTRL + SHIFT + F11 key pattern.

To open the app without packing & building it, just open your local repository in a command prompt or a Git Bash and type the following:

C:\yt-music> npm run start

> ytmusic@1.0.1 start C:\yt-music
> electron-forge start

✔ Checking your system
✔ Locating Application
✔ Preparing native dependencies
✔ Launching Application

You launching this thru a terminal?? Damn well okay!
Lets get started shall we?
... you get the point ...

Building

Warning: This repository already comes with a configurated build setup to target Windows 64-bit with Squirrel.Windows, if you want to build in something else, you will have to take a gander at electron-builder's documentation

Once you are ready to build the client, simply open your local repository in a command prompt or a Git Bash and follow the steps:

  • Always make sure the dist/ folder is deleted, otherwise you will end up packing an already built app into your build. Will up the size x~100 MB every time.
C:\yt-music> npm run dispose

> ytmusic@1.0.1 dispose C:\yt-music
> node dispose.js

attempting to clean up the dist/ folder...
succesfully cleaned up the dist/ folder. you may now build the app
  • Execute the build operation
C:\yt-music> npm run build

> ytmusic@1.0.1 build C:\Users\Koda\Desktop\yt-music
> electron-builder --x64

  • electron-builder  version=22.14.13 os=10.0.19042
  • loaded configuration  file=package.json ("build" field)
  • writing effective config  file=dist\builder-effective-config.yaml
  • packaging       platform=win32 arch=x64 electron=15.1.1 appOutDir=dist\win-unpacked
  • building        target=Squirrel.Windows arch=x64 file=dist\squirrel-windows\YouTube Music Setup 1.0.1.exe
  -- DONE --
  • And you then got yourself the YT Music Client in 2 forms. Unpacked and Packed:
yt-music-desktop-client/
|- dist/
|   |- win-unpacked/
|      |- locales/
|      |- resources/
|      |- swiftshader/
|      |- YouTube Music.exe <-- UNPACKED CLIENT
yt-music-desktop-client/
|- dist/
|   |- squirrel-windows/
|      |- YouTube Music Setup 1.0.1.exe <-- PACKED CLIENT

Distrubute it however you'd like, for example, you can fork this repository!

(back to top)

Usage

  • Start splash:

  • Home:

  • Settings:

  • Discord RPC:

(back to top)

Roadmap

  • Integrate Discord RPC
    • Fix Album Artwork Issues
      • Found to be a Discord API issue, turns out they update the asset server every 30 decades. Who would have known. Work around has been put into place
  • Finish the settings page and integration
    • Make settings.html look better
    • Locally store the settings via JSON in %appdata%

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Koda Lee Allen - @kodalee4 - me@koda.life

Project Link: https://github.com/hellokoda/yt-music-desktop-client

(back to top)

Acknowledgments

(back to top)