我音乐自由了。不送码,给大家开源

2022-05-04 15:55:22 +08:00
 foam

大家好,继之前写了 b 站音频下载脚本后,这次的自动化更进一步,支持直接上传到音乐云盘(目前仅支持网易云)。该项目也支持一键“解锁”歌单中无法播放的歌曲(适合不喜欢用 proxy 方式解锁的同学)。

如果对你有帮助,欢迎 Star 呀: https://github.com/foamzou/melody/

Melody

项目介绍

大家好,我叫 Melody ,是你的音乐精灵,旨在帮助你更好地管理音乐。目前的主要能力是帮助你将喜欢的歌曲或者音频上传到音乐平台的云盘。

为了避免不必要的纠纷和账号安全问题,本项目不会以任何形式提供在线 demo 服务,也请大家不要使用公共服务。本地部署很简单。

Feature

安装和启动

依赖

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

  1. node >= v14.19 (官网下载)
  2. FFmpeg (windows 安装介绍)

下载源码及初始化服务

其中 init.js 会下载核心组件,初始化 node 依赖,尽可能不需要你关心安装细节

git clone https://github.com/foamzou/melody.git
cd melody
node init.js

配置你的账号

cp backend/.profile/accounts.sample.json backend/.profile/accounts.json

然后编辑 backend/.profile/accounts.json

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

启动服务

建议使用 pm2 将本服务常驻后台

node backend/src/index.js

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

功能介绍

关键词搜索歌曲

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

链接搜索

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

一键解锁歌单

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

手动搜索匹配

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

Roadmap

计划在后面支持以下功能

致谢

19848 次点击
所在节点    分享创造
100 条回复
yazoox
2022-05-05 23:56:23 +08:00
真的厉害👍
foam
2022-05-05 23:59:43 +08:00
@yangzj1992 #54 A/Z 的修复了,麻烦更新下代码,删除 backend/bin/media 之后重新 node init.js 一下。
原因是一个低级代码错误,没有成功移除文件名中的 / 。
不过这样的话,文件名就变 AZ 了。先这样吧
foam
2022-05-06 00:00:52 +08:00
@nishuoshenme #56 应该是偶现 bug ,一些情况下会有延迟。不用删除 media-get 文件,再次执行 node init.js 应该就可以的。
foam
2022-05-06 00:01:32 +08:00
@xjh2949744520 #60 可以到 issue 提下 request
caomingjun
2022-05-06 01:31:59 +08:00
很好的项目!出 docker 就部署到服务器上!
未来会支持网易云音乐云盘以外的其他存储方式吗,比如 onedrive/webdav/对象存储 /本地存储?
谢谢!
mscsky
2022-05-06 09:26:51 +08:00
真刑,前段时间网易还批 qq
lw3088
2022-05-06 09:34:00 +08:00
先 star 了
devilte
2022-05-06 10:35:27 +08:00
献上 star
ltkun
2022-05-06 10:52:02 +08:00
exe ?
nishuoshenme
2022-05-06 11:08:54 +08:00
@foam 应该是我本地的问题,昨晚一直没成功,换虚拟机重新搞了一下,然后就可以了,再次感谢大佬哈哈
outcastveron
2022-05-06 11:52:25 +08:00
高级,star 先,等 docker 开玩:))
foam
2022-05-06 12:08:56 +08:00
@caomingjun
@outcastveron
docker 可以先用楼上的版本哈。
caomingjun
2022-05-06 14:21:22 +08:00
关于其他存储方式,回复 #60 #64 #65:
我今天看了一下代码,似乎作者在编写时没有考虑到这个需求,改起来可能比较麻烦。我目前的思路是,指定一个目录作为本地备份目录,前端中设置按钮让用户手动同步该目录和网易云音乐云盘(也可以考虑加上定时任务)。Docker 下该目录可以挂载到主机上,至于云存储和该目录的同步,可以交给 rclone 等其他程序负责,不用重复造轮子。

另外提出两个建议:
1. 前端可以显示一下任务状态,我看 JobManager 有相关函数,但是前端没有这个功能。
2. 希望能显示网易云音乐云盘上的当前曲目
caomingjun
2022-05-06 14:56:19 +08:00
还有一个建议,可以把输入 melody key 的框改成密码框,这样浏览器就能自动保存密码了
alfawei
2022-05-06 17:30:38 +08:00
厉害👍 可以支持手机版 app ?
foam
2022-05-06 22:02:05 +08:00
@caomingjun #73 #74
谢谢建议。项目有考虑多个输入源和多个输出源,只是先把 MVP 跑起来。
任务状态会考虑下合适的设计,后端我很多东西写好了,前端在慢慢折腾中,哈哈。
foam
2022-05-06 22:02:40 +08:00
@alfawei #75 暂不考虑哈。不过会适配移动端 web
foam
2022-05-06 22:18:43 +08:00
@foam 目前前端其实也有任务状态,不过是轮询弹消息框的形式。确实不够友好,算是有个展示的地方。
killeder
2022-05-07 12:34:15 +08:00
安卓 APP v2er(版本 2.0.2.202)一打开这个帖子就闪退
DrEAmSs59
2022-05-07 16:06:01 +08:00
大佬

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/850773

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX