由于版权原因,在外国访问中国音乐服务即使付费会员也可能没法听到音乐。同时,中国音乐服务版权现状复杂,使得音乐版权分布在不同的服务之间,使得用户没办法在一个平台上听到所有喜欢的歌曲,体验很差。本文介绍一个项目的配置来解除一些限制。
工作原理
- 使用 UnblockNeteaseMusic 建立代理,可以运行在本地或者云端(文本选择 host 在阿里云)
- 使用云端的好处是对于 iOS 可以设置自动代理,不需要自己设置一台本地机器作为服务器
- 使用 proxy.pac, proxifier 设置 iOS 以及 Mac 的代理
申请云服务器 VPS
使用腾讯云以及阿里云等都可以。似乎阿里云稍微便宜一点,因为我配置的 VPS 完全就是为了这个而服务,所以我申请的是最低级的一档,并且按照网络流量付费带宽(非固定带宽)。那么一个月大概是 24.1 元 + 流量:
欢迎使用我的购买链接进行注册。也欢迎留言让我知道哪里有更便宜的虚拟主机。
登录 VPS 以及配置 UnblockNeteaseMusic
如何配置 VPS 以及登录这里就略过不谈了,应该在云服务器处都有教程。一般来说登录后要先安装一些必要的软件,比如 git, nodejs 等。
准备就绪后,安装 UnblockNeteaseMusic。
git clone https://github.com/nondanee/UnblockNeteaseMusic.git
安装好后,可以按照项目说明运行服务器。我使用的是旧方法:
node app.js -p 8000:8043
其中
注意默认状态下阿里云的 8000 端口是关闭的,需要在阿里云的安全组里自行设置。这是一个例子:
Bonus:我一般在后台使用 mosh + tmux 对远程机器进行操控,免去每次登录。有兴趣的可以搜索如何配置。经观察,这似乎并不占用带宽并引起流量消费。
配置客户端
iOS
iOS 的客户端类似 shadowrocket 等要钱,最简单的就是设置 proxy.pac 并且把相关服务 IP 重定向到服务器。下面是一个例子:
function FindProxyForURL(t) {
return shExpMatch(t, "http://*.music.163.com/*")
|| shExpMatch(url, "http://*.126.net/*")
|| shExpMatch(url, "http://ipservice.163.com/*")
? "PROXY <VPS IP>:8000"
: "DIRECT"
}
需要把
你可以把这个文件放在 VPS 上,我选择了把它放在了 dropbox。所以我在 iOS 上填的是类似以下的地址:
https://www.dropbox.com/s/abcdefg/proxy.pac?dl=0
记得要把 dl=0 改成 dl=1,否则会定向到 dropbox 文件的下载页面,而不是文件本身。
Mac Mac 的设置参考了这篇文章。这里使用了 proxifier 这个软件。设置很简单,只需要设置对应的服务器,以及规则即可。
测试
使用网易云音乐,查看一些平时看不到的灰色的歌曲,如果代理设置成功,可以看到服务器的输出,类似如下:
参考文献
[1] https://www.sheyilin.com/2019/06/unblockneteasemusic/
Comments