The YouTube Music Manager (ytm-manager) application is a set of services to manage your YouTube Music Library.
The application can be used via API REST, web platform or Telegram / WhatsApp bot.
This application provides new ways to interact with the YouTube Music Service other than using the graphical
interface.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
The YouTube Music Manager (ytm-manager
) is a suite of services that can be used to manage your YouTube Music personal
library. These services provide another way to use the YouTube Music application and also expand its native
functionality.
For example, *** YouTube Music Manager*** provides a functionality to download music from YouTube videos or playlists and upload them to YouTube Music, so you can lock your phone while listening to YouTube Music for free.
This section lists any major frameworks/libraries used to bootstrap the YouTube Music Manager platform:
To get started, you will probably want to try the software from the official web page ytm-manager.com.
YouTube Music Manager executes in the browser, so you do not need to install anything.
Check the user guide from the official documentation to know more.
The fastest way to get a copy up and running in your local machine is using Docker with docker-compose
.
Assuming that you have docker-compose
and docker
installed on your machine, issue the
following commands tu pull the Docker image of the backend
component and run it inside a container:
wget https://raw.githubusercontent.com/ytm-manager/ytm-manager-backend/master/docker-compose.yaml
sudo docker-compose up -d
Then, you can start sending requests to the API in the URL http://localhost:5000
. You can check that the service is
running by simply running a browser and opening the URL http://localhost:5000/api/global/hello
, and the "Hello World"
message should be displayed.
Check the Docker installation guide from the official documentation to know more.
If you want to run the software locally without using Docker, you may want to check how to install ytm-manager into your machine.
If you want to understand how ytm-manager
works we recommend that you read the
developer guide from the
official documentation.
If you want to make a contribution to the project or want to debug an error, you will need a functional development environment. This environment involves many tools and utilities in addition to the ones needed to run the software manually.
You can follow this guide from the official documentation to learn how to set up the development environment.
Open a browser and navigate to the URL of YouTube Music Manager http://localhost:5000/api/global/hello
. Check that
the web page displays Hello World!.
You can send requests to the different endpoints of the API using curl
, Postman or any other applications or methods
to send requests.
- Implement an end point that receives mp3 and upload to ytmusic.
- Implement an end point that receives a zip of .mp3 files to upload them to yt music.
- Change implementation of getting the current directory in APIController do it as in the upload service.
- Add flexibility with the usage of the two different type of secrets.
- Read authentication for youtube music in each request instead of retrieving it from secrets.
- Fix the docker network reachment. Port 5000 working without Docker.
- UploadPlaylist create a playlist in youtube music, download it an and add to the playlists in yt music playlists.
- FRONTEND: Make API requests in Flutter
- Show Text in App
- TextBox Input (URL, FILE_PATH)
- Open File Button
- SendFile Button
- Refresh Session text box input widget
See the open issues for a full list of proposed features (and known issues).
This is an open-source project, so any contributions are greatly appreciated ❤. You can start by taking a look to
the Developer guide
to understand how YouTube Music Manager works.
If you have an issue or suggestion that would make YouTube Music Manager better, please open a new issue explaining your inquiry. We will try to satisfy your needs as soon as possible.
If you want to make a contribution to YouTube Music Manager by yourself, please
open a new issue, so we can discuss the reach of your
contribution.
After that, fork the repo, implement your change and create a
pull request from your fork to the develop
branch.
We will merge your
changes as soon as possible, so they are available in the next releases of YouTube Music Manager.
So, for each change that you want to do to YouTube Music Manager by yourself, you will need to:
- Fork the repo.
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
). - Add and commit your Changes (
git add src; git commit -am 'Add some AmazingFeature'
). - Push to the Branch (
git push origin feature/AmazingFeature
). - Repeat steps 3 and 4 as many times as you need.
- Open a pull request from your fork to the develop branch.
- Repeat steps 3 and 4 if further changes are required.
Do not forget to give the project a star ⭐ on GitHub!
Distributed under the GNU GENERAL PUBLIC LICENSE, Version 3.
See LICENSE
to obtain a copy of the therms
of this license.
See also LICENSE.md
for more information
about the licensing state of this project.
This software was developed by Aleix Mariné-Tena.
YouTube Music Manager (ytm-manager
) ultimately belongs to Aleix Mariné-Tena and has
total control over the licensing
and distribution therms.
Copyright 2020-2023 Aleix Mariné-Tena
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License v3 for more details.
Main developer of YouTube Music Manager: Aleix Mariné-Tena - [email protected] 📫
You can get more information of my work and research on my GitHub profile.
Thank Google for the development of YouTube and YouTube Music. Also, thank Google for allowing so much usage of its services and APIs for free.
The development of the YouTube Music Manager backend was possible thanks to the Python packages ytmusicapi
and
yt-dlp
, packages that provide an easy way to use YouTube Music and YouTube programmatically through its API.
- Aleix Mariné-Tena: Owner and main developer of YouTube Music Manager and its backend.