配置好的网易云api接口地址:
- https://www.2006111.xyz (vercel)
音源解析地址:
# 介绍
用于实现对网易云api服务与音源解析的配置
通过api服务能够使用第三方客户端, 音源解析来实现对灰色/vip歌曲的播放
需要两个服务来提供api接口
- UnblockNeteaseMusic-utils
- NeteaseCloudMusicApiEnhanced/api-enhanced
最终会获取服务的域名,通过这个域名即可访问api服务
eg. http://你的Ubuntu服务器公网IP:5050/match?id=1407551413
即可搜索id为1407551413的音乐,会返回解析的地址
# 通过服务器配置
###配置unblock
居然有现成的api???!
直接部署的核心其实就是三大步:装环境 ➔ 下源码 ➔ 挂后台。下面是详细的裸机(Bare Metal)配置指南:
# 第一步:配置 Node.js 运行环境
UnblockNeteaseMusic-utils 需要较新版本的 Node.js。我们建议安装 Node.js 18 或 20。
-
更新系统的 apt 包列表:
Bash
sudo apt update -
通过官方 NodeSource 脚本安装 Node.js(推荐,版本更稳):
Bash
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y nodejs -
验证安装是否成功(如果打印出版本号,代表成功):
Bash
node -v npm -v -
安装该项目推荐的
pnpm包管理工具:Bash
sudo npm install -g pnpm
# 第二步:拉取源码并安装依赖
-
把项目克隆到你喜欢的目录下(例如用户根目录下的
unm-api):Bash
cd ~ git clone https://github.com/NeteaseCloudMusicApiEnhanced/UnblockNeteaseMusic-utils.git unm-api cd unm-api -
使用 pnpm 安装项目依赖:
Bash
pnpm install
# 第三步:使用 PM2 让服务常驻后台
如果你此时在终端直接运行 npm start,服务确实能启动,但当你关闭 SSH 窗口时,服务就会跟着断掉。 所以我们需要用 Node.js 社区最常用的进程管理器 PM2,让它在 Ubuntu 后端作为守护进程静默运行。
-
全局安装 PM2:
Bash
sudo npm install -g pm2 -
指定端口并利用 PM2 启动服务: 该项目默认运行在
3000端口。如果你想把它改成5050(或者任何你想给安卓 App 访问的端口),可以通过传入PORT环境变量来直接启动:Bash
PORT=3000 pm2 start app.js --name "unm-rest-api"(注:如果项目根目录没有 app.js,可以查看 package.json,若入口是 index.js,则将上述命令中的
app.js改为index.js。或者直接用PORT=5050 pm2 start npm --name "unm-rest-api" -- start) -
设置开机自启(防止服务器重启后服务挂掉):
Bash
pm2 save pm2 startup(注:运行
pm2 startup后,终端会打印出一行类似sudo env PATH=...的命令,复制并执行它,即可完美锁死开机自启)
####管理和测试你的服务
现在服务已经在后台轻量运行了,你可以随时通过以下命令控制它:
- 查看运行状态:
pm2 list - 查看实时日志:
pm2 logs unm-rest-api - 重启服务:
pm2 restart unm-rest-api - 停止服务:
pm2 stop unm-rest-api
####别忘了防火墙:
如果是在本地测试,请记得放行你设置的端口(例如 5050):
sudo ufw allow 5050/tcp
(如果是阿里云/腾讯云,依然需要去云控制台的安全组里放行该端口。)
控制台/对应的服务器/防火墙/添加规则
tcp协议放行3000端口
####怎么验证服务是否能用?
服务成功 online 后,你可以在外网(比如你的电脑浏览器或 Postman)访问下面这个链接,测试它是否能正常解析(记得把公网IP换成你自己的):
http://你的Ubuntu服务器公网IP:5050/match?id=1407551413
###配置enhance_api
NeteaseCloudMusicApiEnhanced/api-enhanced
# 第一步:拉取源码与安装
-
进入你的用户根目录,克隆核心业务 API 项目:
Bash
cd ~ git clone https://github.com/NeteaseCloudMusicApiEnhanced/NeteaseCloudMusicApiEnhanced.git netease-api cd netease-api -
使用 pnpm 安装依赖:
Bash
pnpm install
# 第二步:核心配置(创建 .env 文件)
该项目支持通过根目录下的 .env 文件来读取配置。对于自研 App 开发,强烈建议创建此文件进行定制。
在 ~/netease-api 目录下创建并编辑 .env 文件:
Bash
nano .env
将以下开发常用配置粘贴进去(根据你的实际情况修改):
代码段
# 1. 服务运行的端口(我改成了4000)
PORT=4000
# 2. 严格指定运行主机(0.0.0.0 代表允许外网通过服务器公网 IP 访问)
HOST=0.0.0.0
# 3. 开启匿名登录(方便 App 在用户未登录时浏览首页、歌单等公共数据)
ALLOW_ANONYMOUS_LOGIN=true
# 4. 境外 IP 欺骗(极其重要!🌟)
# 如果你的 Ubuntu 服务器是腾讯云香港、香港 AWS、海外 VPS 等,网易云会限制海外 IP 访问。
# 解开下方这行的注释,填入一个合法的中国大陆 IP(例如上海电信/腾讯云国内节点的某个 IP),接口会自动伪装成国内请求。
# X_REAL_IP=116.228.89.233
注:编辑完成后,按 Ctrl + O 保存,再按 Ctrl + X 退出。
####第三步:使用 PM2 启动与守护
配置好 .env 后,不需要在命令行里手动传参了,PM2 会自动读取同目录下的 .env 配置。
-
直接启动服务:
Bash
pm2 start app.js --name "netease-core-api"(注:如果项目根目录下没有
app.js而是index.js,请将命令改为pm2 start index.js --name "netease-core-api") -
检查运行状态:
Bash
pm2 list你现在应该能同时看到
unm-api(5050端口) 和netease-core-api(3000端口) 两个服务都在绿色的online状态下并存运行。 -
保存并锁定开机自启:
Bash
pm2 save -
防火墙放行 4000 端口:
Bash
sudo ufw allow 4000/tcp(同样,如果是腾讯云/阿里云等服务器,记得去云控制台的安全组里把 TCP 4000 端口也放行。)
# 第四步:验证接口是否正常运作
访问:http://你的服务器公网IP:4000/search?keywords=海阔天空
预期:应该返回包含 Beyond《海阔天空》详细歌曲信息的庞大 JSON 数据。
- 测试二维码登录流程(安卓 App 开发必用)
访问:http://你的服务器公网IP:4000/login/qr/key
预期:返回一个
unikey。你的安卓 App 拿到这个 key 后,再去请求/login/qr/create?key=拿到的key就能生成二维码供用户扫码登录了。
# 进阶(vercel)
有了上面的操作,我们就可以通过 IP:端口号 来访问服务api接口.
但是服务器也要钱,于是就有了另一种方案 使用vercel提供的免费部署方案
v4.0.8 加入了 Vercel 配置文件,可以直接在 Vercel 下部署了,不需要自己的服务器(访问 Vercel 部署的接口,需要额外加一个 realIP 参数,如 /song/url?id=1969519579&realIP=116.25.146.177)
v4.29.9 加入了生成随机中国 IP 功能, 在请求时加上 randomCNIP=true 即可使用随机中国 IP, 如 /song/url?id=1969519579&randomCNIP=true
不能正常访问的,绑定下国内备案过的域名,之后即可正常访问
# 操作方法
- fork 此项目
- 在 Vercel 官网点击
New Project - 点击
Import Git Repository并选择你 fork 的此项目并点击import - 点击
PERSONAL ACCOUNT的select - 直接点
Continue PROJECT NAME自己填,FRAMEWORK PRESET选Other然后直接点Deploy接着等部署完成即可
###加速访问
在vercel上部署完项目后,点击进入项目就能 看到对应的base url,这个就是api接口地址,同理
eg. http://这个地址/match?id=1407551413
即可搜索id为1407551413的音乐,会返回解析的地址
但是,由于服务器在国外.访问速度会比较慢.且dns可能被污染
因此,可以通过cloudflare提供的dns优选功能来提高访问速度,首先要去买一个域名
参考 白嫖Cloudflare最优CDN给自己网站加速,尽情享受CF的免费服务_哔哩哔哩_bilibili
然后这个域名就交给cloudflare来解析了,接下来就是到vercel添加这个域名

添加就好了
两个服务都可以通过这样的方式实现加速访问
