Open nondanee opened 5 years ago
使用 Docker 的同学请忽略
Download | Node.js 下载 .msi 安装包并安装
Download | Node.js 下载 .pkg 安装包并安装
Installing Node.js via package manager | Node.js 参照教程安装 nodejs
当然用 macOS 的 Homebrew,Windows 的 Scoop 等包管理器安装也可以,根据个人喜好选择即可
Android 平台的终端模拟器如 Termux,NeoTerm 等也可以安装 Node.js,教程非常多,请善用搜索
使用 Docker,npx,npm 全局安装的同学请忽略
git clone https://github.com/nondanee/UnblockNeteaseMusic.git #克隆项目仓库
cd UnblockNeteaseMusic #进入项目根目录
在项目首页点击 Clone or download 绿色按钮,选择 Download ZIP 并解压
或在 Release 页面下载 Assets 中的 Source code (zip)
或 Source code (tar.gz)
压缩包并解压
打开项目目录后
Windows 用户请按住 Shift 后点击右键,选择 "在此处打开 PowerShell 窗口(S)" macOS 用户可以借助 OpenInTerminal,Go2Shell 等工具快捷打开终端窗口
不需要
下述启动命令 node app.js
可以等效替换为
npx @nondanee/unblockneteasemusic
# npm i -g @nondanee/unblockneteasemusic
unblockneteasemusic
docker run [OPTIONS] nondanee/unblockneteasemusic
如果看不懂请直接忽略
node app.js
各系统下的基础配置参见 README
填写脚本地址 http://127.0.0.1:8080/proxy.pac
填写服务器地址 127.0.0.1
和端口号 8080
由于网易云 Windows 客户端的 Bug,测试代理会报错 "该代理不可使用",实际并不影响 看到
Server running @ http://0.0.0.0:8080
之后出现如MITM > ...
的请求日志即配置成功
ping music.163.com
得到类似 223.252.199.66 的IP
127.0.0.1 music.163.com
127.0.0.1 interface.music.163.com
Windows hosts
C:\Windows\System32\drivers\etc\hosts
Linux/macOS hosts/etc/hosts
node app.js -p 80 -f 223.252.199.66
若在 linux/macOS下报错
Error: listen EACCES 0.0.0.0:80
请加sudo
参数可叠加
node app.js -s ...
默认为
qq kuwo migu
,排在越前优先级越高,启用越多网络开销越大node app.js -o joox qq ...
node app.js -p 5000 ...
node app.js -f 79.137.38.20 ...
node app.js -u http://127.0.0.1:1080 ...
这对于没有基础的人来说太难了,我用node.js里面的command通过 CD
进入目录来安装commander,然后输入 node app.js
它提示 Server running @ http://0.0.0.0:8080
,可是通过客户端设置代理却说代理不可用
能出个简易的视频教程吗?@nondanee,windows下真的不会弄
@johoney 抱歉啊忘记说明了,Windows客户端设置代理报不可用是正常的😂,网易云自己的bug,只要running提示底下有新的代理请求日志就是成功了
@nondanee 好的谢谢,已经成功解决了,不过我有个问题可以设置类似快捷启动的东西,然后打开这个就能迅速启动代理吗,我希望可以把它加入到shell:startup,这样就不用那么麻烦的启动了。记得之前这个项目是有exe的,不过最近失效了所以我才使用了这个最新的程序了。
@johoney
因为 release 麻烦啊,所以不发可执行文件了😂
项目根目录里新建一个 .bat 文件,写入 node app
,之后双击就可以启动了
或者在项目根目录执行 npm link
,之后在命令行或者 win +r 里直接输入 unblockneteasemusic
就能启动
@nondanee 太谢谢你了,开发者真棒!
bat比较实用
@nondanee 居然贴心的出了这么详细的图文教程拉过来猛抱抱~ 最近好像用之前打包好的文件不太稳定,新版不提供打包好的文件有点点不便。。 顺便问一下有办法在路由器里做启动么,省的每台设备都要启动一下。。
@shugo-chara 只有文没有图😂 更新很频繁,打包太累了,有 node 环境的话你可以自己打包
npm install pkg
npm run pkg
额路由器上运行的话估计不太现实。。。局域网里找一台常开的电脑跑着就行了
建议把这里的说明添加到 Wiki 里面,感觉大家不会来 Issue 里面找教程的。(逃走 ε=ε=ε=┏(゜ロ゜;)┛
@spencerwoo98 因为写wiki里不好回复啊😥
谢谢~~ 发现有个问题,走127.0.0.1:8080/proxy.pac自动代理的话,有时候正常运行,但是网易云提示无网络连接。终端里反馈都是https,并没有自动降级http。断开重连wifi,或者重启后又莫名好了。 mac系统,不定时出现。检查了网络和端口以及自动代理都无异常。
失败时:
Server running @ http://0.0.0.0:8080
HTTPS > https://music.163.com:443
HTTPS > https://music.163.com:443
HTTPS > https://music.163.com:443
重连或者重启或者等一阵子后:
HTTPS > https://music.163.com:443
HTTPS > https://music.163.com:443
HTTPS > https://scss.adobesc.com:443
HTTP > http://music.163.com
HTTP > http://music.163.com
HTTP > http://music.163.com
HTTPS > https://scss-prod-an1.adobesc.com:443
HTTP > http://music.163.com
HTTP > http://music.163.com
HTTP > http://music.163.com
难道是我网络环境问题吗?现在换的sony 2g光,速度应该没问题,而且之前用sb的光也有这个问题。
@nondanee
ps 现在几乎每天打开都会出现上述情况。。求助。
@shugo-chara 不好意思了这周有两个midterm两个assignment,才空下来 遇到问题最好能新开一个 issue,我先在这里回你了 我测试了没有问题,是提示这个吗?还是别的?能不能录个屏? 这个的话随便点别的地方再切换回来就好了
@nondanee 哈哈我也刚忙完看到回复。就是你图里的样子,但是点哪里都提示载入中,然后过一会儿就是网络不给力。重装网易云和重新自带代理都不行。 解决方法就是要么等,等他自己跳回http,要么就重启或者断网重连。
@shugo-chara 这个没办法了,代理是没办法直接控制程序的,只能等了
----------------------------- 19.12.16 更新-----------------------------
网易云音乐 Mac 客户端更新
目标代理域名更新为:*.music.163.com;*.music.126.net;*.netease.com;
----------------------------- 19.06.28 更新-----------------------------
mac 搭配 Proxifier 配置参考
mac 需要使用 *https 代理 两个程序:NeteaseMusic;com.apple.WebKit.Networking 目标代理域名只需要写:`.music.163.com;.music.126.net;.netease.com; `
需要在所有客户端(mac, iPhone 等)安装仓库里的证书并设置信任(参考https://github.com/nondanee/UnblockNeteaseMusic/issues/65#issuecomment-493718439 )
有人反映使用仓库的证书 iOS 不能正常使用,我使用的是自签证书 暂时没有问题。
服务端启动命令为 node app.js -p port1:port2
,客户端需要使用的是 port1 端口(port2 是用来内部转发的 https 端口,随便写一个就行)
放在 VPS 上跑也一样,客户端安装并信任了证书就可以了
iOS 使用配置参考
iOS 上我使用的是 Shadowrocket (参考:https://github.com/nondanee/UnblockNeteaseMusic/issues/65#issue-439169649 )
PS. 记得安装证书并信任,添加了之后不行的话重置一下 Shadowrocket 再试
丢个链接,详细教程 https://www.sheyilin.com/2019/06/unblockneteasemusic/
Windows碰到这种情况该怎么办呢?小白一个,只看得懂第二种方法,然而会直接报错...
G:\NeteaseMusic\UnblockNeteaseMusic-master>node app.js -p 80 -f 59.111.160.197
Server running @ http://0.0.0.0:80
events.js:167
throw er; // Unhandled 'error' event
^
Error: listen EACCES 0.0.0.0:80
at Server.setupListenHandle [as _listen2] (net.js:1269:19)
at listenInCluster (net.js:1334:12)
at Server.listen (net.js:1421:7)
at Promise.all.then.result (G:\NeteaseMusic\UnblockNeteaseMusic-master\app.js:58:9)
at process._tickCallback (internal/process/next_tick.js:68:7)
Emitted 'error' event at:
at emitErrorNT (net.js:1313:8)
at process._tickCallback (internal/process/next_tick.js:63:19)
@PLUSLEE 管理员身份启动命令行试一下,也检查一下80端口是否被其它程序使用
netstat -ano | find "80"
@nondanee 谢谢,跑通了...客户端少了一步。万分感谢!从即刻App关注的“网路冷眼”微博上发现这个好东西
我的使用情况是, 服务想安装在公网服务器上,但不能运行在80端口。——修改hosts文件方式不可用 本机运行一个SS客户端,系统代理已经被它的pac地址占据了——修改系统代理也不可用
SS的pac文件是工具生成的,所以还不好做修改 感觉需要一个工具串联不同代理了,不知道有没有这样的软件
@daorren
@gqbre 这个理论上没用的,SS的pac文件是用gfwlist2pac生成的,自定义规则那里只是配置了需要代理的数据项
@daorren 有用的
楼上 @gqbre 是正解,编辑本地 PAC 文件,在 FindProxyForURL
里加 if
不过因为屏蔽了网易云的 HTTPS 请求,设为系统代理的话,网页版是用不了的,浏览器上要给网易云排除一下系统代理
桌面端代理这两个 host 就够了
if (host == 'music.163.com' || host == 'interface.music.163.com') {
return 'PROXY <Server Name>:<Server PORT>'
}
当然你公网开的得是 http
@nondanee 你的意思我理解,问题是SS客户端的pac文件我并不能直接编辑。 @gqbre 提供的方式我也试了,if代码块会最终会变成SS客户端生成pac文件里,filter数组中的几个元素
@daorren MAC 下的话用 Proxifier ,对指定软件走代理,专门对付那些不提供代理选项又不走系统代理的软件。 Win 下这种软件应该更多,找找看
@daorren 抱歉哈,之前在 windows 上的 Shadowsocks 是可以直接编辑 PAC 文件的,之后试了下 ShadowsocksX-NG 确实不行 @gqbre 的建议挺好的,或者去试试别的 ss 客户端
@nondanee @gqbre 谢谢建议,我再看看
请问安卓手机怎么食用呢
@fantuanyufan WLAN>修改网络>高级选项>代理
putty一关闭,网易云就显示没网,好像app.js没有后台自动运行,用的是80端口那个方法,有解决办法吗
putty一关闭,网易云就显示没网,好像app.js没有后台自动运行,用的是80端口那个方法,有解决办法吗
解决了,用pm2 app.js命令保持常驻后台
@Kirding 简单地用 nohup node app.js &
也行哈
@Kirding 简单地用
nohup node app.js &
也行哈
Get,thangks
感谢作者的付出!在Windows本地部署成功,美滋滋。请问可以部署在VPS上吗,让Android也可以轻松使用?
@cilone 可以啊,一样的方法,或者用 docker 镜像也可以
@cilone 可以啊,一样的方法,或者用 docker 镜像也可以
设置好了,必须80端口吗?80端口被这个占用,部署的网站就打不开了-.-
@cilone 可以啊,一样的方法,或者用 docker 镜像也可以
设置好了,必须80端口吗?80端口被这个占用,部署的网站就打不开了-.-
应该是可以直接在server.js里改的,说明文档里也有改端口命令,我的小机子纯粹用来装挂机脚本,所以80无所谓
@cilone
用 hosts 的话只能 80 端口,代理的话随意
如果一定要用 80 的话可以在前面挂一个 nginx,用 server_name
做一下 proxy_pass 就好了
server {
listen 80;
server_name music.163.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header HOST $server_name;
}
}
安卓手机,,怎么用pac模式,,,我现在打开百度都是用的我服务器流量,,
@110560 设置代理的时候有三个选项吧 "无", "手动", "代理自动配置",用自动,填上 http://?????/proxy.pac
谢谢上面那个问题解决了。。。。 还有个问题就是,必须保持ssh node app.js才会运行 请问这个emmmm怎么破
@110560 简单的用 nohup,或者 pm2, forever 之类的
npm install forever -g 搞定谢谢 还有一个问题就是 有些曲子显示获取播放地址失败 这个只能靠音量增强了吗?emmmm 好难受手机root很烦人
@110560 比如说哪首?
应课代表 @theandychung 的 PR #21 增加详细使用教程 若仍有部署安装上的问题请在下方评论 改进意见、bug 反馈等请新开 issue
P.S. 参与讨论并解决了疑问之后,可以点右侧 Unsubscribe 取消提醒,以防邮箱爆满 P.P.S. clone 了旧代码的同学请定期
git pull
更新, fork 了旧代码的同学请定期 New pull request 同步在 follow 下面的步骤之前,希望你已仔细阅读过 README 中的 "使用" 部分,对配置过程也有初步了解
本篇为基础配置,所有平台通用 README 中提到对部分平台客户端有额外要求,相关教程参考其它带有紫色 "pinned" 标签的 issue