Hosts + 自建反代服务器解决云音乐海外限制

使用需求

  • 手机设备:已越狱或 Root 可以利用 dns 或 pac 的特性不用修改 hosts
  • 路由器:可以修改域名解析
  • Chrome:禁用流量节省插件

使用反代服务器

反代服务器支持三种方式访问:PAC 代理文件、DNS 服务器 以及 Hosts 修改。服务器地址可参见 反代服务器列表

另外如果你也搭建了一个可以在评论告知,我可以加到这个列表内。

服务器托管于法国,但不对音乐文件进行反代,因此播放速度应该没有问题。

需要注意的是,因为会对云音乐网页文件及其 API 接口进行反带,因此服务器在内存临时记录你的 Cookies 等数据并转发到网易的服务器。

该方法测试于 Windows PC 客户端、安卓客户端以及网页版,能解锁大部分灰色音乐。


手动搭建

搭建环境为 CentOS 7 + nginx。

安装 Nginx

当使用安装指令时,你可以加上 -y 开关自动安装。

首先安装 EPEL 扩展软件源:

yum install epel-release

然后就是安装 nginx 的本体了:

yum install nginx 

启动 nginx 服务并使其开机启动:

systemctl start nginx
systemctl enable nginx

如果有安装防火墙的话,你还需要加入防火墙规则:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload

加入配置文件

添加反带配置文件(/etc/nginx/conf.d/proxy-163.conf):

# Cahce
proxy_cache_path  /var/cache/nginx  levels=1:2    keys_zone=STATIC:10m inactive=24h  max_size=1g;

server {
    listen       80;
    listen       [::]:80;
    server_name  music.163.com;

    location /weapi/feedback/weblog {
        add_header Set-Cookie "os=uwp; path=/";
        error_page 405 = $uri;
        alias /usr/share/nginx/html/163-uwp.json;
    }

    location / {
        proxy_redirect off;
        proxy_pass http://music.163.com/;
        # Hint: http://bgp.he.net/AS45102#_prefixes
        # 这个 IP 已经失效,随便找一个 IP 来代替。
        proxy_set_header X-Real-IP 110.76.23.1;
        proxy_cache            STATIC;
        proxy_cache_valid      200  1d;
        proxy_cache_use_stale  error timeout invalid_header updating
                               http_500 http_502 http_503 http_504;
    }
}

server {
    listen       80;
    listen       [::]:80;
    server_name  ip.ws.126.net;

    location /ipquery {
        alias /usr/share/nginx/html/163/ipquery.txt;
    }
}

保存导向的返回内容到 /usr/share/nginx/html/163-uwp.json

{"code":200,"uwp":1}

以及储存 ipquery 文件到 /usr/share/nginx/html/ipquery.txt(文件需存为 GBK 格式):

var lo="广东省", lc="广州市";
var localAddress={city:"广州市", province:"广东省"}

最后重启 nginx 服务:

systemctl restart nginx

反代服务器就搭好了;不过可能需要定期修改构造的 IP 地址。

Jixun的头像

Jixun