自建网易云音乐解锁代理

自建网易云音乐解锁代理

  • 简介
  • 使用方法
  • 基本用法
  • 音源选择
  • 转发为 Shadowsocks
    • 1.通过 glider 转发为Shadowsocks
  • 客户端分流规则
  • Client
  • 参考文章

简介

通过配置下文代理,可以解锁网易云音乐下架变灰歌曲。使用到的项目为 UnblockNeteaseMusic 和 glider。

使用方法

  • 本文使用的命令均基于 CentOS 7。
  • 使用前说明:服务端已做限制,仅允许网易云音乐相关域名与 IP 通过代理,其余非法代理请求一律丢弃。

基本用法

安装 Node.js 和 PM2(可通过宝塔)

curl -sL https://rpm.nodesource.com/setup_lts.x | bash -
yum install nodejs -y
npm install pm2 -g

下载 UnblockNeteaseMusic

git clone https://github.com/nondanee/UnblockNeteaseMusic.git && cd UnblockNeteaseMusic

运行 UnblockNeteaseMusic

关键点来了,严格模式是必须的,但开启严格模式会导致ios无法使用,经反复测试才找出其原因

# iOS
pm2 start app.js --name="UnblockNeteaseMusic_https" -- -s -p port1:port2 -o kuwo qq migu -e https://music.163.com
# 非iOS
pm2 start app.js --name="UnblockNeteaseMusic_http" -- -s -p port1:port2 -o kuwo qq migu
# 保存进程
pm2 save
# 设置开机启动
pm2 startup
  • 效果图
    在这里插入图片描述

说明

  1. 端口 -p port1:port2 和音源 -o kuwo qq migu 请根据自己需求修改。

  2. 端口部分 -p port1:port2 的写法参考 这里。

运行命令如下,注:8080,80端口为举例,8081,81可随意,转发用的

自建网易云音乐解锁代理_第1张图片

  1. 由于新版 iOS 网易云音乐客户端强制检测音源是否为 HTTPS 路径,所以要对 iOS 与 非 iOS 分开进行配置。

pc和android要使用http,IOS使用https,反复测试测出的结果

  1. 由于 JOOX 音源默认为 HTTPS 路径,若服务器可使用 JOOX 音源,将 JOOX 设为默认音源可以同时适用所有客户端:pm2 start app.js --name="general" -- -s -p port1:port2 -o joox
  2. 若部署在公网服务器上,强烈推荐使用 -s 参数开启严格模式,限制代理范围为仅网易云音乐解锁所需域名和 IP,防止被滥用盗用。

音源选择

目前所有可选用的音源如下表

参数 音源 音质 描述
baidu 百度音乐 128kbps 曲库很少,不推荐使用
joox JOOX 音乐 320kbps 腾讯国际产品,曲库一般,仅限 香港,澳门,泰国,印尼,马来西亚,缅甸,南非 IP
kugou 酷狗音乐 128kbps 曲库很少,不推荐使用
kuwo 酷我音乐 320kbps 曲库全,对 IP 无限制
migu 咪咕音乐 320kbps 曲库一般,仅限大陆 IP
qq QQ 音乐 128kbps 曲库一般,仅限大陆 IP
xiami 虾米音乐 / 搜索接口被拦截要求移动滑块验证,目前不可用

匹配准确度:

  • 经测试,kuwo>qq>migu≈joox

推荐参数:

  • 大陆 IP:-o kuwo qq migu
  • 非大陆 IP:-o kuwo joox

转发为 Shadowsocks

UnblockNeteaseMusic 只能提供 HTTP 代理,由于使用严格模式,需将代理进行分流,将 HTTP 转发为 Shadowsocks 协议后,适用的客户端也更加丰富。

1.通过 glider 转发为Shadowsocks

glider 是一个支持多种协议的代理转发软件。

首先,下载 glider

wget https://github.com/nadoo/glider/releases/download/v0.14.0/glider_0.14.0_linux_amd64.tar.gz

解压

tar -xvzf glider_0.14.0_linux_amd64.tar.gz && cd glider_0.14.0_linux_amd64

复制二进制文件

cp glider /usr/bin/ && chmod +x /usr/bin/glider

创建配置文件,以适用于 iOS / iPadOS 为例

mkdir /etc/glider/ && vim /etc/glider/https-ss.conf

写入以下内容并保存,需自行修改加密方式 method,密码 password,Shadowsocks 监听的端口 port 及 UnblockNeteaseMusic 监听的端口 port1

# 开启调试模式,输出log
verbose=True
 
# Shadowsocks:
# Method:
#   AEAD Ciphers:
#     AEAD_AES_128_GCM AEAD_AES_192_GCM AEAD_AES_256_GCM AEAD_CHACHA20_POLY1305 AEAD_XCHACHA20_POLY1305
#   Stream Ciphers:
#     AES-128-CFB AES-128-CTR AES-192-CFB AES-192-CTR AES-256-CFB AES-256-CTR CHACHA20-IETF XCHACHA20 CHACHA20 RC4-MD5
#   Alias:
#     chacha20-ietf-poly1305 = AEAD_CHACHA20_POLY1305, xchacha20-ietf-poly1305 = AEAD_XCHACHA20_POLY1305
listen=ss://method:password@:port
 
# 需转发的 UnblockNeteaseMusic HTTP 代理
forward=http://127.0.0.1:port1
  • 效果如下图
    自建网易云音乐解锁代理_第2张图片

通过 systemd 创建开机启动

vim /etc/systemd/system/glider-https-ss.service

写入以下内容并保存

[Unit]
Description=Glider UnblockNeteaseMusic Shadowsocks Service for iOS & iPadOS
After=network.target nss-lookup.target
 
[Service]
Type=simple
Restart=on-failure
LimitNOFILE=102400
CPUAccounting=yes
MemoryAccounting=yes
 
# NOTE: change to your glider path
ExecStart=/usr/bin/glider -config /etc/glider/https-ss.conf
 
# work with systemd v229 or later, so glider can listen on port below 1024 with none-root user
# CAP_NET_ADMIN: ipset
# CAP_NET_BIND_SERVICE: bind ports under 1024
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
NoNewPrivileges=true
 
[Install]
WantedBy=multi-user.target

启动 glider-https-ss.service 并设置开机启动

systemctl enable --now glider-https-ss.service

查看 glider-https-ss.service 状态

systemctl status glider-https-ss.service

客户端分流规则

以下规则均为 解锁网易云音乐+屏蔽客户端广告,其中节点 网易云 需修改为自己的。

[General]
bypass-system = true
skip-proxy = 192.168.0.0/16, 193.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 100.64.0.0/10, 127.0.0.1, 17.0.0.0/8, localhost, *.local
bypass-tun = 10.0.0.0/8, 100.64.0.0/10, 127.0.0.0/8, 169.254.0.0/16, 172.16.0.0/12, 192.0.0.0/24, 192.0.2.0/24, 192.88.99.0/24, 192.168.0.0/16, 198.18.0.0/15, 198.51.100.0/24, 203.0.113.0/24, 224.0.0.0/4, 255.255.255.255/32
dns-server = 119.29.29.29, 223.5.5.5, 1.2.4.8, 1.0.0.1, 8.8.4.4, system

[Rule]
# Netease Music Advertising
DOMAIN,admusicpic.music.126.net,REJECT
DOMAIN,iadmat.nosdn.127.net,REJECT
DOMAIN,iadmusicmat.music.126.net,REJECT
DOMAIN,iadmusicmatvideo.music.126.net,REJECT

# Netease Music
DOMAIN,api.iplay.163.com,网易云
DOMAIN,apm3.music.163.com,网易云
DOMAIN,apm.music.163.com,网易云
DOMAIN,interface3.music.163.com,网易云
DOMAIN,interface3.music.163.com.163jiasu.com,网易云
DOMAIN,interface.music.163.com,网易云
DOMAIN,music.163.com,网易云
IP-CIDR,39.105.63.80/32,网易云
IP-CIDR,39.105.175.128/32,网易云
IP-CIDR,45.254.48.1/32,网易云
IP-CIDR,47.100.127.239/32,网易云
IP-CIDR,59.111.160.195/32,网易云
IP-CIDR,59.111.160.197/32,网易云
IP-CIDR,59.111.181.35/32,网易云
IP-CIDR,59.111.181.38/32,网易云
IP-CIDR,59.111.181.60/32,网易云
IP-CIDR,101.71.154.241/32,网易云
IP-CIDR,103.126.92.132/32,网易云
IP-CIDR,103.126.92.133/32,网易云
IP-CIDR,112.13.119.17/32,网易云
IP-CIDR,112.13.119.18/32,网易云
IP-CIDR,112.13.122.1/32,网易云
IP-CIDR,112.13.122.4/32,网易云
IP-CIDR,115.236.118.33/32,网易云
IP-CIDR,115.236.121.1/32,网易云
IP-CIDR,118.24.63.156/32,网易云
IP-CIDR,182.92.170.253/32,网易云
IP-CIDR,193.112.159.225/32,网易云
IP-CIDR,223.252.199.66/32,网易云
IP-CIDR,223.252.199.67/32,网易云

# Final
FINAL,DIRECT

Client

在系统代理填入 http://server:port1/proxy.pac

  • macOS / iOS / iPadOS
    请使用 Safari 浏览器访问网站。首先下载 证书,进入「设置」>「通用」>「描述文件」,安装「UnblockNeteaseMusic Root CA」,并在「设置」>「通用」>「关于本机」>「证书信任设置」开启对「UnblockNeteaseMusic Root CA」的信任
  • Linux 启动客户端需增加 启动参数 --ignore-certificate-errors
  • Windows 可以直接参考Unlock-netease-cloud-music此项目的wiki,将网易云音乐客户端设置为「自定义代理」填入vps地址端口port即可

参考文章

iOS 食用指南
UnblockNeteaseMusic - 解锁网易云音乐客户端变灰歌曲

你可能感兴趣的:(网易云音乐,centos,网易云音乐,node.js,pm2)