前言
近期放假在家,弄了台vps来学习Linux和shell知识。又想到之前多次在境外使用网易云音乐变灰,网易云很多版权没有的问题,于是便打算使用这台vps搭建一个网易云解锁服务。
实现原理
其原理是通过流量进入代理后来匹配网易链接进行劫持,然后将requests请求修改重新发送一个新的链接(这个链接就是provider的),请求到音乐以后再重新将provider的response改写成网易的,然后返回到应用,通俗的说是修改http请求和响应。
- 使用 QQ / 虾米 / 百度 / 酷狗 / 酷我 / 咪咕 / JOOX 音源替换变灰歌曲链接 (默认仅启用一、五、六)
- 为请求增加
X-Real-IP
参数解锁海外限制,支持指定网易云服务器 IP,支持设置上游 HTTP / HTTPS 代理- 完整的流量代理功能 (HTTP / HTTPS),可直接作为系统代理 (同时支持 PAC)
参考项目地址:https://github.com/nondanee/UnblockNeteaseMusic
然而,这个项目的更新逐渐缓慢,于是我采用了由 Unblock Netease Music 维护小组 维护的项目:https://github.com/UnblockNeteaseMusic/server
实现过程
本次记录使用的环境:
- VPS:Hong Kong BGP(cld机房),有条件的建议选择大陆的服务器,速度会更快。
- 系统:Debian 11
- 环境:安装好Docker,YouTube下载工具yt-dlp等。
Unblock Netease Music 维护小组提供了一个一键搭建的脚本,该脚本目前仅支持 CentOS / Debian / Ubuntu。我的此次搭建就是使用了这个一键脚本,当然你也可以使用docker进行安装,安装说明详见项目readme:https://github.com/UnblockNeteaseMusic/server
首先用ssh工具连接vps,以root权限登入,输入下面的一键脚本代码:
curl -fsSLO https://raw.githubusercontent.com/UnblockNeteaseMusic/install-scripts/master/server/install.sh && sudo bash install.sh
当然,如果你的vps默认没安装curl的话,需要先安装curl,建议和wget一起安装了:
apt-get install wget curl -y
执行成功以后我们可以看到类似画面:
之后,我们再次调出这个页面时只需要输入bash install.sh
即可。
接下来我们输入1,进行安装,到要求你输入之前都不用管它,就让它自己安装。
接下来到了“请输入监听端口”处,此处选择你想要搭建此服务的端口,它会默认帮你生成一个随机的,或者你自己选择。建议选择高位端口,且不要与常用端口重合。
接下来继续到了“输入欲使用的音源”,此时需要注意:
- 如果你的服务器在境外(非中国大陆地区),你只能选:酷我音乐、酷狗音乐、JOOX、YouTube那几个、bilibili、第三方网易云 API,因为QQ音乐和咪咕音乐只接受大陆ip。我填的如下仅供参考:
kuwo ytdlp kugou joox bilibili youtube
- 如果你的服务器在境内,就使用境内的音源来代替。例如:
qq migu kuwo kugou bilibili
接下来的EndPoint、自定义网易云音乐服务器 IP、HTTP(S) 代理服务器地址如果你不知道这是什么就直接enter跳过使用默认值。
接着,严格模式建议使用,让它只代理网易云相关的内容。(当然你不能使用这个代理进行科学上网),无损音质、本地黑胶功能开不开都可以。这样我们就大概设置好了,设置好以后大概是这样的页面:
提示已安装就是成功了。
然后,如果需要修改端口、音源、音质等需要点击5,进行配置调整。
具体cookie填写内容请参考环境变量表:
JOOX_COOKIE | str | JOOX 音源的 wmid 和 session_key cookie | JOOX_COOKIE="wmid=<your_wmid>; session_key=<your_session_key>" |
QQ_COOKIE | str | QQ 音源的 uin 和 qm_keyst cookie | QQ_COOKIE="uin=<your_uin>; qm_keyst=<your_qm_keyst>" |
YOUTUBE_KEY | str | Youtube 音源的 Data API v3 Key | YOUTUBE_KEY="<your_data_api_key>" |
使用方法
我们搭建好了以后还需要知道如何使用,下面分为Windows端使用和Android端使用说明。
Windows端
方法一
非常简单,只需要打开网易云音乐客户端,选择设置——>工具——>代理——>自定义代理,服务器填写你的vps ip地址,端口填写你监听的端口,重新启动客户端即可。
方法二
Windows 使用 Clash 代理
我们下载并安装好 Clash for Windows 并打开,Clash for Windows项目地址:https://github.com/Fndroid/clash_for_windows_pkg
在 profiles 处导入已经配置好的 clash 规则文件,并选中该规则文件,在左侧proxies处选择UnblockMusic代理,并且在General处开启System Proxy(系统代理),如图所示:
接下来打开网易云音乐客户端,选择设置——>工具——>代理——>使用系统代理,重新启动客户端即可。
具体的网易云音乐解锁配置写法:
Android端
方法一
建议使用 杜比大喇叭β版 一款网易云音乐的音源代理模块。需要手机支持Xposed框架(root后)或者使用太极等软件安装。安装框架问题请百度解决。
具体项目地址:https://github.com/nining377/dolby_beta
方法二
使用Clash 代理,下载使用Clash for Android,与电脑端一样,同样是导入配置好的clash文件后,使用代理即可。
Clash for Android 项目地址:https://github.com/Kr328/ClashForAndroid
后记
该文章记录我使用vps搭建解锁网易云音乐的服务,当然这个服务初衷只是对网易云音乐的热爱,本项目不提供在线 demo,请不要轻易信任使用他人提供的公开代理服务,以免发生安全问题。
感谢大家的观看!
Comments 15 条评论
博主 都别废话
ios端怎么使用啊
博主 Hoyue
@都别废话 你可以尝试一下使用小火箭,同clash配置导入已经配置好的地址或文件,开启代理试试
博主 hu
[INFO] 正在启动 UnblockNeteaseMusic 服务端。。。
systemctl:无法识别的选项“–value”
install.sh: 第 381 行:[: : 期待整数表达式
[ERROR] 无法启动 UnblockNeteaseMusic 服务端。
[INFO] 正在保存本脚本到 /usr/local/bin/unm-server。。。
博主 Hoyue
@hu 你好,如果脚本使用出现问题,你可以自己搭建。可以参考官方教程:https://github.com/nondanee/UnblockNeteaseMusic/issues/22
https://github.com/nondanee/UnblockNeteaseMusic/issues/48
因为脚本已经很久没有更新了,难免有一些问题,具体还请看作者的文档。
博主 1933694610
@hu +1
博主 Eden
你好想问一下 海外的VPS可以通过cloudflare代理转发成国内的吗, 怎么设置呢?是在服务端的http代理里面填cloudflare代理的地址吗
博主 Hoyue
@Eden 您好,据悉cloudflare免费版没有中国大陆服务器,需要升级到Enterprise账号(请见cloudflare中国),所以海外VPS使用cloudflare代理转发一般也只是国外的,无法解锁那些只能境内的音乐平台。海外的vps建议使用YouTube(ytdlp)或哔哩哔哩比较好,我一般都是用ytdlp的。
还有什么问题欢迎继续留言或者前往项目的issue中询问。
博主 GoudeAnke
博主 使用网易云内部代理显示可以用 重启后发现无法连接 看了原项目issue除了退级还有别的办法嘛 弄个CA证书好像也不行。。。(用的国外vps搭建的
)
博主 Hoyue
@GoudeAnke 除了版本问题外可能就是证书问题了,这种情况好像有个issue提到过,你试试根据它的回复试试看?不过我本地测试太高版本的确实不行
博主 0v0
维护小组的这个新项目,海外解锁的话还需要再在国内部署一个vps来解锁大陆ip限制吗。以及音源匹配错误后的手动修正有办法吗。新项目的issue里好像没人提及了。
博主 Hoyue
@0v0 如果是海外VPS的话,基本上感觉只能用ytdlp和bilibili了,ytdlp会准确一点,其他我测试都不怎么成功了 国内VPS的话成本有点高了,不过可能确实有点效果,但我没有国内VPS测过,请谨慎选择。至于音源匹配错误问题,你可以试试第三方网易云 API,例如https://pyncmd.vercel.app。因为这个项目问题挺多的,我现在自己都已经都不用了,改用Spotify了
博主 0v0
@Hoyue 是啊。国内vps成本太高。spotify,am,YouTube都有在用,就是不想再听个歌来回在几个app里折腾所以一直用的网易云。想着用个国内小水管做中转qq,kugou之类的发给国外,接合yt和bili实现多源不知道可不可行。
旧unm项目问题就一直不断,海外安心听个歌越来越难。
pyncmd倒是没关注过,看一看怎么用。
博主 Hoyue
@0v0 实在不行直接歌曲转移,我之前转移了一大部分网易云的到Spotify,用的https://www.tunemymusic.com/,但是有些歌不太准,在境外听国内歌是真的难😂
博主 0v0
@Hoyue 是这样的太难了🥲。我之前也试过各种迁移方法。多年歌单过于冗杂实在无法都转走。再一个网易云心动推荐已经用我这么多年的数据训练到极其精准的匹配度了。试过各大app远无法达到相近的效果。这是唯一被绑在网易云的原因
博主 Hoyue
@0v0 网易云的推荐确实是用过所有的音乐软件中最准的了😂实在不行只能用类似quickfox或穿梭那种回国咯,感觉这个成本起码比国内VPS要低😂