macOS、iOS、Windows 解锁网易云音乐灰色歌曲

废话不多说,先上效果图!

感谢大神们的开发,本文仅记录自己的配置过程,大部分方法都来自项目的 issue

项目地址:https://github.com/nondanee/UnblockNeteaseMusic

感谢、感谢、感谢

直接开始!

使用 Docker 部署

https://hub.docker.com/r/nondanee/unblockneteasemusic/

1
docker pull nondanee/unblockneteasemusic

使用自签证书

1
2
3
4
5
6
7
# 注意替换下方 -p 后的端口,-v 后的路径docker run --name unblockneteasemusic \    -p 2333:2333 -p 2334:2334 \    -v /path/to/server.crt:/usr/src/app/server.crt \    -v /path/to/server.key:/usr/src/app/server.key \    -d nondanee/unblockneteasemusic \    -s -e https://自己的域名 -p 2333:2334

使用自带证书

1
2
3
4
5
# 注意替换下方 -p 后的端口,-v 后的路径docker run --name unblockneteasemusic \    -p 2333:2333 -p 2334:2334 \    -d nondanee/unblockneteasemusic \    -s -e https://自己的域名 -p 2333:2334

旧:以下为手动配置

服务端设置

原服务支持在本地运行,为方便我部署在服务器端,使用阿里云的轻量应用服务器,CentOS 7

准备一个域名,并签发 SSL 证书

安装 NodeJS:https://github.com/nodesource/distributions/blob/master/README.md

在 CentOS 7 中安装 NodeJS 13.x

1
2
3
4
5
6
7
yum install gcc-c++ make

# root 用户curl -sL https://rpm.nodesource.com/setup_13.x | bash -

# 非 root 用户curl -sL https://rpm.nodesource.com/setup_13.x | sudo bash -

在服务器端 clone 项目

1
git clone https://github.com/nondanee/UnblockNeteaseMusic.git

—————- 可选步骤 —————-

在本地生成自签名证书 (此步可省略,使用作者提供的证书亦可)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 生成 CA 私钥openssl genrsa -out ca.key 2048

# 生成 CA 证书 ('YOURNAME' 处填上你自己的名字)openssl req -x509 -new -nodes -key ca.key -sha256 -days 1825 -out ca.crt -subj '/C=CN/CN=UnblockNeteaseMusic Root CA/O=YOURNAME'

# 生成服务器私钥openssl genrsa -out server.key 2048

# 生成证书签发请求openssl req -new -sha256 -key server.key -out server.csr -subj '/C=CN/L=Hangzhou/O=NetEase (Hangzhou) Network Co., Ltd/OU=IT Dept./CN=*.music.163.com'

# 使用 CA 签发服务器证书openssl x509 -req -extfile <(printf 'subjectAltName=DNS:music.163.com,DNS:*.music.163.com') -days 365 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt

上述步骤完成后

将服务器私钥 (server.key) 和服务器证书 (server.crt) 拷贝到远程服务器仓库中覆盖原有文件

—————- 可选步骤结束 —————-

为解决 iOS 能够使用,这里使用自己的域名进行转发,如没有域名则参考官方信任自签发证书的方法,这里不展开描述:iOS 食用指南

配置 Nginx 服务,在 Nginx 配置后加入如下配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server {    listen 443 ssl http2;    server_name xxx.xxx.com; # 准备的域名

    ssl_certificate /root/UnblockNeteaseMusic/xxx.xxx.xxx.crt; # SSL 证书路径    ssl_certificate_key /root/UnblockNeteaseMusic/xxx.xxx.xxx.key; # SSL 密钥路径    ssl_session_timeout 5m;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;    ssl_prefer_server_ciphers on;

    location / {      proxy_pass http://localhost:2333; # 代理到 Unblock 服务地址,端口可自行修改    }}

完事后测试并重载 Nginx 配置

1
2
3
4
5
$ nginx -t                                            nginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful

$ nginx -s reload

使用 service 管理服务,新建 /etc/systemd/system/UnblockNeteaseMusic.service

写入如下内容

/etc/systemd/system/UnblockNeteaseMusic.service
1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]Description=UnblockNeteaseMusic

[Service]Type=simpleExecStart=/usr/bin/node /root/UnblockNeteaseMusic/app.js -s -e https://自己的域名 -p 2333:2334WorkingDirectory=/root/UnblockNeteaseMusicRestart=alwaysRestartSec=10User=root

[Install]WantedBy=multi-user.target

注意:

  • ExecStartWorkingDirectory 根据情况改动
  • ExecStart-e 后接已经签发证书的域名,记得为 https。这一参数的原因详见:iOS 配置经验分享
  • ExecStart-s 表示启用严格模式,仅允许网易云相关的通过,防止 HTTP 代理滥用,可选
  • ExecStart-p 后接端口,随意设置,如 2333:2334,第一个端口保持和 nginx 配置中设置的一致
  • 记得在阿里云控制台防火墙中放行第一个端口 2333

启动服务

1
2
systemctl daemon-reloadsystemctl start UnblockNeteaseMusic

服务端完成

管理命令

1
2
3
4
5
6
systemctl status UnblockNeteaseMusic # 查看服务状态systemctl start UnblockNeteaseMusic # 启动服务systemctl restart UnblockNeteaseMusic # 重启服务systemctl stop UnblockNeteaseMusic # 停止服务systemctl enable UnblockNeteaseMusic # 开机自启动systemctl disable UnblockNeteaseMusic # 取消开机自启动

macOS

配合 Proxifier 食用

Proxies 添加 HTTPS 代理

添加规则

Applications 添加:NeteaseMusic; com.apple.WebKit.Networking

Target Hosts 添加:*.music.163.com; *.netease.com;

Action 选择上一步添加的 HTTPS 代理

打开网易云音乐 App,如出现以下提示,则还需要信任一个证书

使用 Safari 打开 music.163.com,会出现危险警告,选择查看详细信息,并点击最后访问此网站,然后信任证书

搞定!

注意:Proxifier 需要一直在后台运行,才能转发网易云的流量

iOS

配合 Quantumult X 食用

手动修改 Quantumult X 配置文件

  1. [policy] 下添加组策略:

    1
    static=NeteaseMusic, NeteaseUnlocker, direct, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Netease_Music_Unlock.png
  2. [server_local] 下添加 HTTP 代理:

    1
    http=xxx.xxx.xxx.xxx:2333, over-tls=false, fast-open=false, udp-relay=false, tag=NeteaseUnlocker

    xxx.xxx.xxx.xxx:2333 替换为服务器 IP 和指定端口

  3. [filter_local] 下添加规则:

    1
    2
    3
    4
    DOMAIN-SUFFIX,music.163.com,NeteaseMusicDOMAIN-SUFFIX,api.iplay.163.com,NeteaseMusicDOMAIN-SUFFIX,mam.netease.com,NeteaseMusicDOMAIN-SUFFIX,hz.netease.com,NeteaseMusic

    完成!

Windows

配置简单,打开网易云音乐的设置

工具 -> 自定义代理 -> HTTP 代理

填入相应的服务器和端口,重启应用生效

完成!

参考资料:

(0)

相关推荐