前言

近期放假在家,弄了台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,进行配置调整。

如果你选择了QQ、咪咕、joox、YouTube、第三方音源的,需要前往5进行一些细节填写,填写cookie信息等才能正常使用
 

具体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(系统代理),如图所示:

接下来打开网易云音乐客户端,选择设置——>工具——>代理——>使用系统代理,重新启动客户端即可。

具体的网易云音乐解锁配置写法:

   点此查看缩进配置代码  ==>  展开 / 收起

不保证一定成功,建议自己多多尝试,参考一下项目的issues等。


Android端

方法一

建议使用 杜比大喇叭β版 一款网易云音乐的音源代理模块。需要手机支持Xposed框架(root后)或者使用太极等软件安装。安装框架问题请百度解决。

具体项目地址:https://github.com/nining377/dolby_beta


方法二

使用Clash 代理,下载使用Clash for Android,与电脑端一样,同样是导入配置好的clash文件后,使用代理即可。

Clash for Android 项目地址:https://github.com/Kr328/ClashForAndroid


后记

该文章记录我使用vps搭建解锁网易云音乐的服务,当然这个服务初衷只是对网易云音乐的热爱,本项目不提供在线 demo,请不要轻易信任使用他人提供的公开代理服务,以免发生安全问题。

感谢大家的观看!

这里的一切都有始有终,却能容纳所有的不期而遇和久别重逢。
最后更新于 2022-09-12