nondanee / UnblockNeteaseMusic

Revive unavailable songs for Netease Cloud Music
MIT License
17.4k stars 2.51k forks source link

deepin/ubuntu 配置记录 #590

Open MentalOmega opened 4 years ago

MentalOmega commented 4 years ago

效果图

image image

记录一下解锁过程

https://github.com/nondanee/UnblockNeteaseMusic/issues/48 首先是按照这里面的过程,签发一个CA证书

# 生成 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 "extendedKeyUsage=serverAuth\nsubjectAltName=DNS:music.163.com,DNS:*.music.163.com") -sha256 -days 365 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt

然后按照这篇 https://github.com/nondanee/UnblockNeteaseMusic/issues/208

lushan@u:~/Downloads$ sudo cp ca.crt /usr/local/share/ca-certificates/
[sudo] password for lushan: 
lushan@u:~/Downloads$ sudo update-ca-certificates 
Updating certificates in /etc/ssl/certs...
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...

Adding debian:ca.pem
done.
done.

我在这里使用了 node.js 启动,需要同时 -p 80:443 映射两个端口,若在本机运行程序,请指定网易云服务器 IP -f xxx.xxx.xxx.xxx (可在修改 hosts 前通过 ping music.163.com 获得) 使用代理 -u http(s)://xxx.xxx.xxx.xxx:xxx,以防请求死循环。

westwood@westwood-PC:~/Desktop/UnblockNeteaseMusic$ sudo node app.js -p 80:443 -f 59.111.181.60
HTTP Server running @ http://0.0.0.0:80
HTTPS Server running @ http://0.0.0.0:443

增加默认启动参数 Linux 客户端 (1.2 版本以上需要自签证书 MITM,启动客户端需要增加 --ignore-certificate-errors 参数)

lushan@u:/usr/share/applications$ ls | grep netease
netease-cloud-music.desktop
lushan@u:/usr/share/applications$ sudo vim netease-cloud-music.desktop 

在这里插入图片描述 修改host

sudo vim /etc/hosts
127.0.0.1 music.163.com
127.0.0.1 interface.music.163.com

此时访问 music.163.com 是可以验证成功的,客户端也是可行的。 在这里插入图片描述

zwbdmm commented 4 years ago

非常感谢!看了您的总结,终于能让大块的灰色消失!

TyrantLucifer commented 4 years ago

看了您的总结,很受启发,但是有个问题想要请问一下,如何卸载已经安装的证书呢?

MentalOmega commented 4 years ago

看了您的总结,很受启发,但是有个问题想要请问一下,如何卸载已经安装的证书呢? sudo update-ca-certificates

TyrantLucifer commented 4 years ago

看了您的总结,很受启发,但是有个问题想要请问一下,如何卸载已经安装的证书呢? sudo update-ca-certificates

后来查找资料了解了一下这个证书的生成过程和安装过程,问题已经解决。 在此记录一下: 如果要删除已经信任的证书,则将/usr/local/share/ca-certificates/下拷贝的.crt文件删除,执行 sudo update-ca-certificates -f,刷新配置文件,删除软链接。

ghost commented 4 years ago

呜哇~ 困扰了我整一年的问题终于有解决办法了

rainbye commented 3 years ago

大佬,这个本地sudo node app.js -p 80:443 -f 59.111.181.60 的命令,如何添加开机启动,这条命令好像连上网后才能生效

Her-Joe commented 3 years ago

经过验证 不需要导入证书,因为没用,直接忽略证书错误就行 | 见 #432 如是说 代理模式亦可使用 这里想问下 @MentalOmega

我在这里使用了 node.js 启动,需要同时 -p 80:443 映射两个端口,若在本机运行程序,请指定网易云服务器 IP -f xxx.xxx.xxx.xxx (可在修改 hosts 前通过 ping music.163.com 获得) 或 使用代理 -u http(s)://xxx.xxx.xxx.xxx:xxx,以防请求死循环。

映射两个端口与作者指南中映射一个端口有何区别呢

QianfengClarkShen commented 3 years ago

hello,请问有没有比较方便的海外党获取music.163.com IP地址的方式啊。在这边ping出来的全是香港的IP。

MentalOmega commented 3 years ago

大佬,这个本地sudo node app.js -p 80:443 -f 59.111.181.60 的命令,如何添加开机启动,这条命令好像连上网后才能生效

Hello,我也是参考这里,https://www.lolimay.cn/2018/10/14/autostart-in-deepin/ ,将命令写在rc.local,用root启动,确实会存在“开机时如果没有连上网络,node app.js命令会启动失败”的问题,目前没想到优雅的解决方法

MentalOmega commented 3 years ago

经过验证 不需要导入证书,因为没用,直接忽略证书错误就行 | 见 #432 如是说 代理模式亦可使用 这里想问下 @MentalOmega

我在这里使用了 node.js 启动,需要同时 -p 80:443 映射两个端口,若在本机运行程序,请指定网易云服务器 IP -f xxx.xxx.xxx.xxx (可在修改 hosts 前通过 ping music.163.com 获得) 或 使用代理 -u http(s)://xxx.xxx.xxx.xxx:xxx,以防请求死循环。

映射两个端口与作者指南中映射一个端口有何区别呢

Hello,您的这个疑问跟我当时的想法一模一样,可以看我贴出来的第二张命令行里的图片,播放歌曲的时候有http(80)和ssl(443)两个连接,所以需要同时代理两个端口。

MentalOmega commented 3 years ago

hello,请问有没有比较方便的海外党获取music.163.com IP地址的方式啊。在这边ping出来的全是香港的IP。

Hello, may be would help you http://ip.tool.chinaz.com/music.163.com

Her-Joe commented 3 years ago

经过验证 不需要导入证书,因为没用,直接忽略证书错误就行 | 见 #432 如是说 代理模式亦可使用 这里想问下 @MentalOmega

我在这里使用了 node.js 启动,需要同时 -p 80:443 映射两个端口,若在本机运行程序,请指定网易云服务器 IP -f xxx.xxx.xxx.xxx (可在修改 hosts 前通过 ping music.163.com 获得) 或 使用代理 -u http(s)://xxx.xxx.xxx.xxx:xxx,以防请求死循环。

映射两个端口与作者指南中映射一个端口有何区别呢

Hello,您的这个疑问跟我当时的想法一模一样,可以看我贴出来的第二张命令行里的图片,播放歌曲的时候有http(80)和ssl(443)两个连接,所以需要同时代理两个端口。

谢谢你的回复,那之后我补充了一点网络知识,发现如果使用hosts模式,那么80端口负责http协议,443端口负责https协议,因为新版本网易云没办法将https降级为http了,所以需要指定2个端口来满足两个协议的端口需求. 当然代理模式不用特别指定80和443,随便两个都是可以的

myfreax commented 3 years ago

经过验证 不需要导入证书,因为没用,直接忽略证书错误就行 | 见 #432 如是说 代理模式亦可使用 这里想问下 @MentalOmega

我在这里使用了 node.js 启动,需要同时 -p 80:443 映射两个端口,若在本机运行程序,请指定网易云服务器 IP -f xxx.xxx.xxx.xxx (可在修改 hosts 前通过 ping music.163.com 获得) 或 使用代理 -u http(s)://xxx.xxx.xxx.xxx:xxx,以防请求死循环。

映射两个端口与作者指南中映射一个端口有何区别呢

你说的代理模式是PAC吗?我在PAC模式就没有成功过,可以说说你的配置吗?

myfreax commented 3 years ago

Hello every one,我编写一个一键配置脚本,欢迎使用 huangyanxiong01/auto-unlock-netease-music

MentalOmega commented 3 years ago

经过验证 不需要导入证书,因为没用,直接忽略证书错误就行 | 见 #432 如是说 代理模式亦可使用 这里想问下 @MentalOmega

我在这里使用了 node.js 启动,需要同时 -p 80:443 映射两个端口,若在本机运行程序,请指定网易云服务器 IP -f xxx.xxx.xxx.xxx (可在修改 hosts 前通过 ping music.163.com 获得) 或 使用代理 -u http(s)://xxx.xxx.xxx.xxx:xxx,以防请求死循环。

映射两个端口与作者指南中映射一个端口有何区别呢

你说的代理模式是PAC吗?我在PAC模式就没有成功过,可以说说你的配置吗?

你好啊,我使用的是修改 hosts 的方法。PAC 模式没有测试过。

myfreax commented 3 years ago

经过验证 不需要导入证书,因为没用,直接忽略证书错误就行 | 见 #432 如是说 代理模式亦可使用 这里想问下 @MentalOmega

我在这里使用了 node.js 启动,需要同时 -p 80:443 映射两个端口,若在本机运行程序,请指定网易云服务器 IP -f xxx.xxx.xxx.xxx (可在修改 hosts 前通过 ping music.163.com 获得) 或 使用代理 -u http(s)://xxx.xxx.xxx.xxx:xxx,以防请求死循环。

映射两个端口与作者指南中映射一个端口有何区别呢

你说的代理模式是PAC吗?我在PAC模式就没有成功过,可以说说你的配置吗?

你好啊,我使用的是修改 hosts 的方法。PAC 模式没有测试过。

那看来是跟你的一样的,我也是直接nginx+host+systemd代理

colawithsauce commented 10 months ago

我在这里使用了 node.js 启动,需要同时 -p 80:443 映射两个端口,若在本机运行程序,请指定网易云服务器 IP -f xxx.xxx.xxx.xxx (可在修改 hosts 前通过 ping music.163.com 获得) 使用代理 -u http(s)://xxx.xxx.xxx.xxx:xxx,以防请求死循环。

映射出两个端口是关键!