melody: Star3.2k,这个开源项目,可是我的珍藏项目,支持QQ音乐,网易云音乐里面大部分付费音乐免费听,你就说炸裂不~~~

1,294 阅读6分钟

嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法

Melody是一个开源的音乐管理工具,它可以帮助用户在各大音乐和视频网站检索歌曲,并一键下载到本地或上传到云盘。这个项目不仅仅是一个工具,更是音乐爱好者的得力助手,让你的音乐生活更加便捷。

免责声明

  • 本项目所搜索的歌曲均来源于音乐平台的免费公开资源。请确保在使用本项目时遵守相关音乐平台的服务条款和版权规定。
  • 本项目仅供技术学习和交流使用,使用者仅限于个人学习,不得用于任何商业目的。使用者应自行承担因使用本项目而可能产生的法律责任。

为了避免不必要的纠纷和账号安全问题,本项目不会以任何形式提供在线demo服务。

特色功能

功能介绍

关键词搜索歌曲

如果试听后是你想要的,点击上传按钮会将该歌曲上传到你的网易云音乐云盘 Image 24

链接搜索

有时候我们在b站听到好听的歌,也可以上传到云盘 Image 25

一键解锁歌单

点击解锁全部(实验性功能)后,服务会自动匹配每首歌,并把歌曲上传到云盘,最后做个match,以保证你还能看到歌词、评论 Image 26

手动搜索匹配

当某首歌自动解锁失败后,还可以手动点击搜索按钮,找到符合的歌曲后,手动点击上传按钮 Image 27

移动端适配

Image 28 Image 29

Image 30 Image 31

安装和启动

方式一:Docker安装

  1. 在你的宿主机创建一个目录,例如:~/melody-profile

  2. 创建镜像,有两种方式选择(注意修改下面的宿主机目录为你实际的):

    • 从hub.docker.com拉取
    docker run -d -p 5566:5566  -v ~/melody-profile:/app/backend/.profile foamzou/melody:latest
* 从代码编译镜像(若你的docker不支持DOCKER_BUILDKIT,则去掉)
    DOCKER_BUILDKIT=1 docker build -t melody .
    docker run -d -p 5566:5566  -v ~/melody-profile:/app/backend/.profile melody
  1. 后续更新(以从hub.docker.com更新为例)
    docker pull docker.io/foamzou/melody:latest
    docker kill <CONTAINER ID>
    docker run -d -p 5566:5566  -v ~/melody-profile:/app/backend/.profile foamzou/melody:latest

方式二:源码安装

  1. 依赖 确保以下两个依赖是安装好的

    1. node.js (官网下载)
    2. FFmpeg (windows安装介绍)
  2. 下载源码、初始化服务、运行服务

    git clone https://github.com/foamzou/melody.git
    cd melody && npm run init && npm run app
  1. 若后面代码有更新,下次执行该命令即可更新
    npm run update && npm run app

方式三:通过第三方部署

通过宝塔面板一键部署

前提

  • 仅适用于宝塔面板9.2.0及以上版本
  • 安装宝塔面板,前往宝塔面板官网,选择正式版的脚本下载安装

部署

  1. 登录宝塔面板,在左侧菜单栏中点击Docker
  2. 首次会提示安装DockerDocker Compose服务,点击立即安装,若已安装请忽略。
  3. 安装完成后在Docker-应用商店-实用工具中找到Melody,点击安装,也可以在搜索框直接搜索melody
  4. 设置域名等基本信息,点击确定
  • 说明:

    • 名称:应用名称,默认melody_随机字符
    • 版本选择:默认latest
    • 域名:如您需要通过域名访问,请在此处填写您的域名
    • 允许外部访问:如您需通过IP+Port直接访问,请勾选,如您已经设置了域名,请不要勾选此处
    • 端口:默认5568,可自行修改
    • CPU限制:0为不限制,根据实际需要设置
    • 内存限制:0为不限制,根据实际需要设置
  1. 提交后面板会自动进行应用初始化,大概需要1-3分钟,初始化完成后即可访问。

配置你的账号(可选)

默认的melody key为:melody,若你的服务部署在私有网络,则可以不用修改(网易云账号、密码可以在web页面设置)。

若需要修改或添加新账号,则编辑backend/.profile/accounts.json(安装方式为docker的则为:你的宿主机目录/accounts.json)。

  1. 该JSON中的key是Melody Key,是你在网页访问该服务的唯一凭证
  2. 网易云账号信息:accountpassword可以后续在网页修改
  3. 该JSON是个数组,支持配置多个账号

Q: 更新了accounts.json如何生效?

A: 两种方式。1: 重启服务。2: 网页端我的音乐账号tab下,随便修改点账号,密码,然后点击更新账号密码,这样会从accounts.json更新信息到内存(我后面优化下这块)

浏览器访问

最后,在浏览器访问http://127.0.0.1:5566就可以使用啦~

Roadmap

计划在后面支持以下功能

  • 页面适配移动端
  • 浏览器油猴脚本
  • 云盘歌曲match手动纠错
  • 支持播放列表
  • 支持播放云盘的歌曲
  • 支持docker部署
  • 支持youtube-dl,you-dl等工具作为输入源
  • 支持酷狗、qq音乐等音乐平台的云盘作为输出
  • 偏好设置
  • 版本更新提示

Q & A

  1. Q:移动端版本,为什么点击下载歌曲,会跳新的页面?

    A:有的浏览器不支持嗅探的,会有这个问题。因为外部资源文件都不允许跨域,无法用常规下载方式 save as。考虑后续 hack

  2. Q:移动端版本,为什么在数据网络无法播放歌曲?

    A:发现某些网络下,没有触发 canplaythrough 事件,wifi 环境下一般是没有问题的。

  3. Q:为什么移动端 PWA,点击跳转到其他页面时,无法返回到原来页面? A:PWA 在移动端不支持使用外部浏览器打开外链,只能在应用内打开,因此会有各种奇怪问题。此时,只能先杀死应用。

  4. Q:为什么我部署的服务,PWA 始终出不了?

    A:PWA 要求服务必须是 HTTPS。

  5. Q: 为什么更新 media-get 组件后,搜索报错

    A: 目前存在 bug,更新完 media-get 组件之后,请务必重启 docker 容器或服务,否则将无法继续使用

同类项目对比

相较于其他音乐管理工具,Melody的优势在于其简单易用的界面和丰富的功能。它不仅支持多种音乐网站的搜索,还可以一键上传到云盘,方便用户随时随地欣赏音乐。

总之,Melody是一个值得尝试的音乐管理工具。如果你还在为如何管理自己的音乐库而烦恼,不妨试试这位音乐精灵吧!

项目地址

https://github.com/foamzou/melody