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

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

计划在后面支持以下功能

致谢

18214 次点击
所在节点    分享创造
100 条回复
foam
2022-05-05 07:20:29 +08:00
@tuutoo 是的,docker 得先支持了。
你的是证书问题,是不是开了 UnblockNeteaseMusic 服务劫持了网易云请求?或者本地证书有问题。
foam
2022-05-05 07:21:25 +08:00
@tuutoo
可以先试试。
控制台执行,windows 下应该是 set NODE_TLS_REJECT_UNAUTHORIZED=0,Linux 和 mac 是 export NODE_TLS_REJECT_UNAUTHORIZED=0

ref https://github.com/Binaryify/NeteaseCloudMusicApi/issues/1070
foam
2022-05-05 07:22:05 +08:00
@cassyfar
@ColorfulBoar
晚点看看海外怎么优化下
cassyfar
2022-05-05 08:54:15 +08:00
@foam
@ColorfulBoar

塞了个 coutrycode 可以登录了。体验不错!(就是好像只有逗音能听)
qbhy
2022-05-05 09:14:06 +08:00
suyuyu
2022-05-05 09:28:46 +08:00
以前写了个类似的东西写到一半烂尾了,,,
foam
2022-05-05 09:39:00 +08:00
@cassyfar 那你们一般在国外怎么使用国内音乐平台的,开代理吗?😄
foam
2022-05-05 09:39:33 +08:00
@suyuyu 坚持不易啊
niknik
2022-05-05 10:11:50 +08:00
mark 等 docker
mywaiting
2022-05-05 10:17:50 +08:00
一直等这样一个开源作品,终于~~~

多谢!!!
4196
2022-05-05 10:32:25 +08:00
其他歌单都可以访问,唯独 [我喜欢的音乐] 这个歌单请求返回结果是空,控制台报错

[
省略......,
{
id: 1826753,
fee: 8,
payed: 0,
realPayed: 0,
st: 0,
pl: 128000,
dl: 0,
sp: 7,
cp: 1,
subp: 1,
cs: false,
maxbr: 999000,
fl: 128000,
pc: null,
toast: false,
flag: 0,
paidBigBang: false,
preSell: false,
playMaxbr: 999000,
downloadMaxbr: 999000,
maxBrLevel: 'lossless',
playMaxBrLevel: 'lossless',
downloadMaxBrLevel: 'lossless',
plLevel: 'standard',
dlLevel: 'none',
flLevel: 'standard',
rscl: null,
freeTrialPrivilege: [Object],
chargeInfoList: [Array]
},
... 900 more items
],
sharedPrivilege: null,
resEntrance: null
} {"msg":"参数错误","code":400}{"msg":"参数错误","code":400}


ERROR get user all playlist failed, uid:
N032138
2022-05-05 11:13:09 +08:00
做个 docker 版食用更方便呀
Echoleung
2022-05-05 11:14:11 +08:00
马克,同等 docker
oluoluo
2022-05-05 11:21:08 +08:00
码住
sypopo
2022-05-05 11:28:19 +08:00
同等 docker
melsp
2022-05-05 11:33:55 +08:00
感谢
lfsc
2022-05-05 11:48:27 +08:00
大佬
tuutoo
2022-05-05 12:28:10 +08:00
@foam 谢谢 应该是你说这问题我回去试试。
的确是路由上布署了 UnblockNeteaseMusic ,前几天试了没效果,用不起来,忘记关了。。
以后就靠你这个项目了 哈哈 还能传到云音乐,赞
standin000
2022-05-05 12:30:55 +08:00
楼主厉害!
rfrftt
2022-05-05 12:43:54 +08:00
楼主厉害
贴下 dockerfile
-----------------------
FROM node:17.9.0-buster
RUN apt update && apt install -y ffmpeg git vim && ffmpeg -version
RUN git clone 'https://github.com/foamzou/melody.git' /melody && cd /melody && node init.js
EXPOSE 5566
CMD exec node /melody/backend/src/index.js
-----------------------
volume 映射配置文件 /melody/backend/.profile/accounts.json

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

https://www.v2ex.com/t/850773

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

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

© 2021 V2EX