YesPlayMusic 全程服务端部署指南

in 日常 with 0 comment

在网易云网页版限制越来越多的2024年,终于iz作为白嫖党坐不住了
今天,他在Github上搜罗到了YesPlayMusic这个项目,霍!好看还限制少
可惜release全是Eletron版的客户端。于是手动构建,还遇到了一堆问题...

demo

删库跑路啦

源仓库只剩下了这么一句话 “保护版权,此仓库不再维护”
且没有历史记录可以回溯,是强制PUSH上的。这意味着原仓库已经不可用了
于是我找到了一个 fork的子项目,是没有合并两个删库pull request的仓库。
借助这个纯洁的仓库源码,我成功构建后端API

git clone https://github.com/yanranxiaoxi/NeteaseCloudMusicApi
cd NeteaseCloudMusicApi
npm i

选好node版本很重要

首先,大概是为了兼容已经退伍的 Windows7,无论是API还是UI使用的nodeJS版本都是14或16
而2024年,连APT源安装的node都已经升级为18了,哪里去找低版本的呢?这里

curl -L https://registry.npmmirror.com/-/binary/node/latest-v16.x/node-v16.20.2-linux-x64.tar.gz | tar xz
mv node* /usr/local/

安装前务必换源

在中国,似乎与node搭边的项目(如npm yarn eletron等)官方服务器速度都一言难尽
于是,在构建时可能就报错:

[4/11] ⠠ electron
error /tmp/YesPlayMusic/node_modules/electron: Command failed.
Exit code: 1
Command: node install.js
Arguments:
Directory: /tmp/YesPlayMusic/node_modules/electron
Output:
RequestError: read ETIMEDOUT
    at ClientRequest.<anonymous> (/tmp/YesPlayMusic/node_modules/got/source/request-as-event-emitter.js:178:14)
    at Object.onceWrapper (node:events:510:26)
    at ClientRequest.emit (node:events:402:35)
    at ClientRequest.origin.emit (/tmp/YesPlayMusic/node_modules/@szmarczak/http-timer/source/index.js:37:11)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:390:28)

也很简单,一行命令解决

export ELECTRON_MIRROR=https://registry.npmmirror.com/electron/

开始构建!

请使用yarn,我最初直接使用 NPM 浪费了不少时间
编译前,确认你已经安装了yarn,然后

git clone https://github.com/qier222/YesPlayMusic
cd YesPlayMusic
mv .env.example .env && nano .env
yarn # 安装依赖

为了兼容我们的后端而不是eletron,修改 VUE_APP_ELECTRON_API_URL 这一行:

修改

这样就是成功了:

成功

然后是合并文件,将 dist 文件夹下的文件全部拷入 NeteaseCloudMusicApi/public/
(static文件夹没什么用,删了吧)
最后启动服务就行了,npm run start
然后?enjoy!
什么?你问我如何变成窗口?前面的文章中 我已经说过方法了

变变变

Responses