自建音乐云服务–我的音乐精灵melody

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

相关链接

GitHub:https://github.com/foamzou/melody/

无demo,请查看下方截图。

GitHub文件备份:OneDrive-2022-8-11-melody-main.zip

特色

支持在各大音乐和视频网站检索歌曲。目前支持 咪咕、网易云、QQ 音乐、酷狗、bilibili、抖音等站点。详情可以在我的 media-get 项目中查看
支持一键下载到本地,一键上传到云盘
用链接搜索歌曲(例如使用 b站或抖音的视频链接进行搜索,可以将对应的音频自动上传到音乐云盘)
一键“解锁”无法播放的歌曲(一键检测变灰的歌曲,自动从公共资源搜索最佳资源,自动上传到云盘,自动匹配歌曲信息。代替繁琐的人工操作,实现可播放)(实验性功能,目前仅支持网易云)
PC 端、移动端适配良好(支持 PWA)
部署简单,支持 docker

安装和启动

方式一:Docker 安装

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

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

2.1从 hub.docker.com 拉取

docker run -d -p 5566:5566 -v ~/melody-profile:/app/backend/.profile foamzou/melody:latest

2.2从代码编译镜像(若你的 docker 不支持 DOCKER_BUILDKIT,则去掉)

DOCKER_BUILDKIT=1 docker build -t melody .
docker run -d -p 5566:5566 -v ~/melody-profile:/app/backend/.profile melody

3.后续更新(以从 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.依赖

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

node.js (官网下载)
FFmpeg (windows 安装介绍)

2.下载源码、初始化服务、运行服务

git clone https://github.com/foamzou/melody.git
cd melody && npm run init && npm run app

3.若后面代码有更新,下次执行该命令即可更新

npm run update && npm run app

配置你的账号(可选)

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

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

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

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

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

浏览器访问

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

功能介绍

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

自建音乐云服务–我的音乐精灵melody

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

自建音乐云服务–我的音乐精灵melody

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

自建音乐云服务–我的音乐精灵melody

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

自建音乐云服务–我的音乐精灵melody

移动端适配

自建音乐云服务–我的音乐精灵melody

自建音乐云服务–我的音乐精灵melody

自建音乐云服务–我的音乐精灵melody

自建音乐云服务–我的音乐精灵melody

常见问题

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

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

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

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

Q:为什么移动端 PWA,点击跳转到其他页面时,无法返回到原来页面?

A:PWA 在移动端不支持使用外部浏览器打开外链,只能在应用内打开,因此会有各种奇怪问题。此时,只能先杀死应用。

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

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

原创文章,作者:mantou,如若转载,请注明出处:https://v2ez.com/274.html

(0)
mantoumantou
上一篇 2022年4月12日
下一篇 2022年10月6日

相关推荐

  • Cloudflare R2+Workers!马上搭建自己的云上图床!

    结果图# 原理# 图源由 Cloudflare R2 托管,通过两个 Workers 连接 R2 以展示随机横屏/竖屏图片,静态页面引用 Workers 的 URL 以实现以上界面…

    2025年5月17日
  • 一键脚本:Linux自动磁盘挂载工具 BT-Panel

    注:默认将盘挂载到 /www 目录,如需改动,请将脚本下载下来改动, 把“setup_path=/www”后的“/www”改成你要挂载的目录即可 说明: 1:本工具默认将数据盘挂载…

    代码程序 2021年3月20日
  • 全自动优选香港阿里云的CloudFlare优选反代Cname

    开发环境 代码由Grok替我修改完成 语言为Pyhton 脚本由我自己提需求和反复测试完成我自己是不会写代码的 但我脑海里有程序最终效果的画面我会测试 会找bug 承认自己不会写代…

    2025年1月4日
  • Nginx 反向代理ddns网站

    由于一些原因,需要反向代理一些ip经常变化的站点,最初以为只要把域名填好就行,ip变化的时候,nginx会根据ddns域名来回源,但是事实并非如此,在每一次更换ip地址之后,都要r…

    代码程序 2021年5月16日
  • Azure双栈网络及纯IPV6教程

    前情提要: 采用Cli或者第三方API面板开机可实现双栈网络,本教程为Azure网站手动配置,可避免使用API被风控。我用于演示的服务器是 基本 动态 IPV4 的香港机器,其它情…

    2024年3月6日
  • 宝塔PHP安装ImageMagick扩展提示/etc/redhat-release:No such file or directory的解决办法

    先介绍下什么是ImageMagick,它是一个功能强大的图像处理库,其PHP扩展允许开发者在PHP应用程序中使用ImageMagick的功能,允许PHP代码使用ImageMagic…

    代码程序 2025年5月29日
  • 富士 XF56mm F1.2 R WR

    富士 XF56mmF1.2 R WR 最近买了一只镜头,主要原因是X100V 夜拍能力太差,晚上拿起相机想快速拍一张的时候大概率是糊的,要么就拉高ISO 全是噪点。对富士镜头群不了…

    2023年9月7日
  • 为什么要用 Git

    〇 版本控制 比如,你晚上写一篇论文,写好了存起来。结果第二天早上起来,你再拿出来一看,害,写的什么啊。早上修改了一大堆,改完了存起来。结果下午一想,害,早上我改什么啊!昨晚那个写…

    代码程序 2024年9月29日
  • 解锁ChatGPT,给你的vps添加原生IP

    ChatGPT现状ChatGPT目前封锁了绝大多数的数据中心IP,倘若你现在正好在使用vps作为主力代理,那么应该会在ChatGPT首页看到无法使用的封锁消息!现在,又有了一个新的…

    代码程序 2023年5月2日
  • HEXO博客网站主题:Solitude

    一款优雅的 Hexo 主题,支持懒加载、PWA、Latex以及多种评论系统。 增加评论弹幕页 更高效的自定义侧边栏功能模块,新版本支持排序 公开主题适配资源供大家使用 增加 Pos…

    2024年5月5日

发表回复

登录后才能评论