说明:UnblockNeteaseMusic
是一款可以给你解除网易云音乐海外限制并解锁变灰(无版权)歌曲的工具,让你可以听取客户端任何的歌曲,而不受到限制,此前该类似工具挺多的,不过貌似都不维护或者失效了,这里提到的项目更新很频繁,支持Windows
、MacOS
、安卓、IOS
等设备,所以就分享一下使用方法。
截图
特性
- 使用网易云旧链/
QQ
/虾米/百度/酷狗/酷我/咕咪/JOOX
音源替换变灰歌曲链接(默认仅启用前四)。 - 为请求增加
X-Real-IP
参数解锁海外限制,支持指定网易云服务器IP
,支持设置上游HTTP
/HTTPS
代理。 - 完整的流量代理功能(
HTTP
/HTTPS
),可直接作为系统代理(同时支持PAC
)。
安装
Github地址:https://github.com/nondanee/UnblockNeteaseMusic
1、安装Nodejs
#Debian/Ubuntu系统
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt install -y nodejs git
#CentOS系统
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install nodejs git -y
2、运行UnblockNeteaseMusic
git clone https://github.com/nondanee/UnblockNeteaseMusic.git
cd UnblockNeteaseMusic
node app.js
运行端口默认为8080
,需要想修改可以编辑app.js
文件的config.port
对应的数值,或者使用命令:
#这里默认修改4567,自行调整
node app.js -p 4567
这里还可以加一个-s
参数限制代理范围防止被滥用,也就是仅放行网易云音乐所属域名的请求,不过使用起来的话就受限了,仅支持PAC
或Hosts
。
node app.js -s
3、开机自启
这里使用Systemd
进程守护,只适用于CentOS 7
、Debian 8+
、Ubuntu 16+
等。
#修改下ExecStartPre源码路径即可,然后一起复制到SSH运行
cat > /etc/systemd/system/UnblockNeteaseMusic.service <<EOF
[Unit]
Description=UnblockNeteaseMusic
After=network.target
Wants=network.target
[Service]
Type=simple
PIDFile=/var/run/UnblockNeteaseMusic.pid
WorkingDirectory=/root/UnblockNeteaseMusic
ExecStart=$(command -v node) app.js -p 4567
RestartPreventExitStatus=23
Restart=always
[Install]
WantedBy=multi-user.target
EOF
启动并开机自启:
systemctl start UnblockNeteaseMusic
systemctl enable UnblockNeteaseMusic
如果没有Systemd
的,比如CentOS 6
,Debian 7
等,直接使用rc.local
,使用命令:
#路径和命令自行修改
sed -i '/exit/d' /etc/rc.local
echo "cd /root/UnblockNeteaseMusic && node app.js -p 4567" >> /etc/rc.local
Docker安装
1、安装Docker
#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on
#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
2、运行镜像
docker run --restart=always --name unmusic -d -p 4567:8080 nondanee/unblockneteasemusic
运行端口4567
,自行修改。
使用
提示:使用方法可以选择修改Hosts或者设置代理的方式,自己挑选一种比较会的吧。
1、修改Hosts
找到Hosts
路径,大致位置:
Windows系统:位于C:\Windows\System32\drivers\etc\hosts
Android系统:位于/system/etc/hosts
Mac系统:位于/etc/hosts
IOS系统:位于/etc/hosts
Linux系统:位于/etc/hosts
向hosts
文件添加两条规则
#将前面参数修改为服务器IP
<Server IP> music.163.com
<Server IP> interface.music.163.com
使用此方法必须监听80
端口,也就是使用-p 80
参数指定80
端口运行。
2、设置代理
安卓系统:
#设置方法
手机设置 > WLAN > 网络设置 > 高级选项 > 代理
一般安卓手机设置代理类型的时候分2种,手动代理和自动代理,有的手机可能只有手动代理,大致设置如下:
手动代理 > 只需要填上你的服务器IP和端口就可以了。
自动代理 > 填上你的PAC地址就行了,地址:http://<Server Name:PORT>/proxy.pac,修改为你的ip、运行端口。
如果你发现设置后不能使用或者出现其它网络问题,带了-s参数的不妨去掉后再试试。
Windows
系统:
#设置方法
网易云客户端设置 > 工具 > 自定义代理 > HTTP代理
这里只需要填上你的服务器ip和端口,保存即可。
IOS
系统:
这里很久前有人要博主详细说下IOS
使用方法,对于不会设置的是挺复杂的,所以就截图说下,需要借助Shadowrocket
工具。
#设置方法
打开小火箭 > 添加节点(类型选择HTTP,输入你的ip和端口,随便备注下,右上角完成即可) > 编辑配置 > 添加规则(类型选择USER-AGENT,选项选择网易云,用户代理输入NeteaseMusic*),保存即可。
像macOS
啥的,没设备就不测试了,直接列举下作者提供方法。
UWP Windows设置 > 网络和Internet > 代理
Linux 系统设置 > 网络 > 网络代理
macOS 系统偏好设置 > 网络 > 高级 > 代理
设置好了后,你会发现客户端之前因为版权问题不能听的都可以听了,然后建议搭建的时候,选择的服务器网络延迟尽量好点,不然播放会很慢。
问题补充
1、如果设置好了后,打开客户端提示网络问题的话,稍等片刻就好了,如果过会还是不行,就检查下操作啥的,比如防火墙。
一般情况下CentOS
防火墙还需要开启运行端口,比如博主用的4567
,使用命令:
#CentOS 6
iptables -I INPUT -p tcp --dport 4567 -j ACCEPT
service iptables save
service iptables restart
#CentOS 7
firewall-cmd --zone=public --add-port=4567/tcp --permanent
firewall-cmd --reload
宝塔的话可以直接面板左侧-安全-开启对应的端口即可。
2、上面只提到了安卓WLAN
下的使用方法,这里再补充个手机数据下的使用方法,建议配合Xndroid
工具,最新版APP
下载地址→传送门,大致设置如下:
打开Xndroid > 点击左侧Fqrouter > 添加个人代理(只需要填服务器ip和端口即可) > 代理列表配置项(将高级设置里面全部关掉) > 软件右上角代理设置(只代理网易云音乐)
设置完成后你还可以在右上角启动设置中,关掉xx-net
和fqrouter
里面的所有启动项,这样开启软件速度也会快很多。
最后貌似很多妹子都喜欢用网易云,小伙伴们可以去喜欢的妹子面前装个逼,自己搭建好了,然后教她们点亮下灰色无版权歌曲。
重启docker start unmusic显示Error response from daemon: driver failed programming external connectivity on endpoint unmusic (8d38548f4814ed2ec1b901501ba25f5764eff9afac2b284493ffad041e8077d9): Error starting userland proxy: listen tcp 0.0.0.0:2333: bind: address already in use
Error: failed to start containers: unmusic
这个端口不是已经被node启动app.js占用了嘛,还有防火墙被我关掉的,步骤中也没啥错误,但是网易云就一直连不上网
是占用了,你这是手动方法和docker一起做了?
解决了,原来是阿里云的问题,还得再控制台防火墙端口放行一下
直接node app.js的话,网易云设置完代理也无网络连接。。
能用就行了,测试过不去的锅得网易云背,端口通就可以了
为什么我搭建完了之后在windows上能用,在安卓最新客户端用不了呢,我看到github项目上说需要自签证书和脚本配合,请问是这个原因吗
安卓 wlan设置代理 或者选择 移动网络,移动接入点(APN),去新建一个APN接入点,代理填写服务器IP 和对应端口,就OK了
貌似不需要,安卓你把我上面说的方法都试一下看看
搭建完以后,当用小火箭访问一下,YouTub以后,就会导致没网络,和-s 一样 是哪儿的问题
看你发的信息,好像没启动成功,你改下端口试试
感谢大锅,问题所在找到了,就是因为是国外的服务器,然后访问一下国外的网站,比如谷歌啥的,就会导致在30秒到1分钟内没网,可能是坐着的源码有问题吧。 用国内的服务器完全不存在这个问题。
events.js:174
throw er; // Unhandled 'error' event ^Error: listen EADDRINUSE: address already in use :::4567
at Server.setupListenHandle [as _listen2] (net.js:1279:14) at listenInCluster (net.js:1327:12) at Server.listen (net.js:1414:7) at Promise.all.then.result (/root/UnblockNeteaseMusic/app.js:76:15) at process._tickCallback (internal/process/next_tick.js:68:7)Emitted 'error' event at:
at emitErrorNT (net.js:1306:8) at process._tickCallback (internal/process/next_tick.js:63:19)这个是端口被占用了。
如果是在群晖的Docker里面搭建的话,卷需要加载那些文件夹
不需要咋加载。
可以考虑加上docker设置开机自启的部分,就更完美了,比如先新建/etc/rc.local,然后systemctl start rc-local,之后exit 0加上docker start unmusic这样子
随便参考个文章好了,比如:https://www.moerats.com/archives/831/
debian9运行node app.js命令后提示错误-bash: node: command not found
nodejs没安装,或者你是centos?
请问用docker运行以后,再重启,代理会失效,重新执行运行命令,系统还会报错 ,请问怎么回事
重启系统后,需要使用docker start unmusic重新启动容器。
安卓手机,使用自动代理的pac以后会出现解锁无效的情况,灰色的还是灰色的,相同的再使用手动HTTP代理就可以了。我使用的是docker方式,网易云也卸载重装,设备也重置过网络参数,一样无解
歌曲提示加载失败怎么破
这个问题不好回答,如果操作是对的,那可以向作者反馈下。反馈地址:https://github.com/nondanee/UnblockNeteaseMusic/issues
W: Failed to fetch http://ftp.debian.org/debian/dists/jessie-updates/InRelease Unable to find expected entry 'main/binary-amd64/Packages' in Release file (Wrong sources.list entry or malformed file)
E: Some index files failed to download. They have been ignored, or old ones used instead.
换个源,或者换debian 9。