nondanee / unblockneteasemusic Goto Github PK
View Code? Open in Web Editor NEWRevive unavailable songs for Netease Cloud Music
License: MIT License
Revive unavailable songs for Netease Cloud Music
License: MIT License
有沒有人跟我一樣,使用音量增強器可以破解手機端变灰歌曲,但這個hosts方法破解好像只破解讓歌曲顯示不变灰而已
对于有vip标签的音乐,会导致下载结果为ncm,且无会员状态下不播放本地文件
hi,特别感谢你写的这个程序,很棒!谢谢!
我想问一下你未来有计划把灰色歌曲不能下载的问题修复吗,谢谢了
还是倾向使用host
不然每次听歌都要挂代理有点麻烦
android端的
iptables里设置屏蔽的ip如何查找?这个应该是会变的吧 我试了下223.252.199.10不管用
抱歉的通知各位
目前网上流传的提升音质方法应该都失效了,包括各种无损下载器,包括音量增强器
暂时只能回滚到 m4a 音源
会修复,不过现在虾米有海外墙了
修复时间待定
除了基本的命令行参数,在源码中还预留了一些可配置位置
如果有能力,可以了解一下这个部分
譬如說 選的歌是a 實際放出來的卻是b的情況 這個有辦法解決嗎...
search api 回应 {"rgv587_flag":"sm","url":"https://www.taobao.com/markets/bx/deny_h5"}
是否解密问题了
node app.js -p 1630
Server running @ http://0.0.0.0:1630
Proxy HTTP request for: http://music.163.com
crypto.js:170
var ret = this._handle.update(data, inputEncoding);
^
TypeError: Bad input string
at Decipheriv.update (crypto.js:170:26)
at decrypt (/www/wwwroot/qt/UnblockNeteaseMusic/crypto.js:9:22)
at decryptEapi (/www/wwwroot/qt/UnblockNeteaseMusic/crypto.js:22:9)
at IncomingMessage.<anonymous> (/www/wwwroot/qt/UnblockNeteaseMusic/proxy.js:86:14)
at emitNone (events.js:106:13)
at IncomingMessage.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
macOS 10.4.4
UnblockNeteaseMusic b0b1afc
(但在这个 commit 之前也会出现)
NeteaseMusic 2.0.0(730)
hosts 模式,在一段时间的运行后会无法播放音乐(表现为歌单里的会不断跳过),log 里也只有一行MITM > music.163.com
且难以稳定复现...但差不多每天都会出现一次。重开网易云可以解决。
不知道有没有什么好的测试办法,比如运行的时候 verbose?但 -v 被输出版本占用了
方便浏览器使用
在termux上安装了项目并且测试在wifi下可以正常解锁。
但是在移动网络下无效,想法是尝试用代理软件指定网易云,但是试了好几个软件都无效不知道为什么。
adguard里自带的代理,127.0.0.1:8080下指定网易云后代理提示正常,网易云无效。
drony里设置127.0.0.1:8080后termux里全局都有流量在跑,但是唯独网易云提示网络异常。
ss里设置127.0.0.1后网易云网络异常
不知 @nondanee 有没有android端可以用的指定应用走http代理的app。我找了好多发现都无法使用。要么网易云不生效,要么就是网易云提示网络异常。
你原本的接口搜不到好多歌~
const request = require('../request.js')
function search(songInfo){
var url =
'http://search.kuwo.cn/r.s?SONGNAME=' + encodeURIComponent(songInfo.name) + '&ARTIST='+encodeURIComponent(songInfo.artists[0].name)+'&ft=music&rformat=json&encoding=utf8&rn=8&callback=song&vipver=MUSIC_8.0.3.1'
return request('GET', url)
.then(function(response){
var jsonBody = JSON.parse(response.body.replace(/(\')/g, '"').replace("try {var jsondata =", '').replace(";song(jsondata);}catch(e){jsonError(e)}",""))
var chief = jsonBody['abslist'][0]
if(chief)
return chief.MUSICRID.split('_').pop()
else
return Promise.reject()
})
}
function track(id){
var url =
'http://antiserver.kuwo.cn/anti.s?' +
'type=convert_url&format=aac|mp3|wma&response=url&rid=MUSIC_' + id
return request('GET', url)
.then(function(response){
if (response.body)
return response.body
else
return Promise.reject()
})
}
function check(songInfo){
return search(songInfo)
.then(function(songId){
return track(songId)
})
.catch(function(e){
return
})
}
module.exports = {check}
OS: macOS Mojave
node: 10.9.0
一般用 screen 挂着当后台程序,改 hosts 的模式。
log
Server running @ http://0.0.0.0:80
...
HTTP > http://music.163.com
HTTP > http://music.163.com
HTTP > http://music.163.com
HTTPS > https://alogs.umeng.com:443
HTTP > http://www.localnetwork.uop
events.js:167
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at TCP.onread (net.js:660:25)
Emitted 'error' event at:
at Socket.onerror (_stream_readable.js:690:12)
at Socket.emit (events.js:182:13)
at emitErrorNT (internal/streams/destroy.js:82:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
在这里公示目前无法处理的 BUG
windows 10, v2.5.0, host 修改, 海外, Nodejs v10.15.0
ping music.163.com
後得到 103.65.41.125
用cmd執行node app.js -p 80 -f 103.65.41.125
得到Server running @ http://0.0.0.0:8080
開啟後無法登入
如果用原ip登入後再用此修改host的方式開啟就看不到歌單也沒辦法聽到任何歌
請問是此方式失效了嗎?
有些歌曲无法下载,提示该资源仅限开通会员后下载,现在去开通会员!
大部分VIP资源可以下载
[Proxy]
UnblockNeteaseMusic = http,<Server Name>,<PORT>,,
[Rule]
PROCESS-NAME,NeteaseMusic,UnblockNeteaseMusic
FINAL,DIRECT
iOS 端限制较多, 你应该需要 "配置 https 转发",见下文
[Proxy]
UnblockNeteaseMusic = http,<Server Name>,<PORT>,,
[Rule]
USER-AGENT,NeteaseMusic*,UnblockNeteaseMusic
FINAL,DIRECT
若需要使用 Surge 的 MITM 功能,再加上 (感谢 @wangliangliang2 提供 #314 )
[MITM]
hostname = music.163.com,*.music.163.com
Clash 已于 1.1.0 版本支持了 Linux, MacOS, Windows 三端的 Process-Name 规则。
若你使用 Clash 的最新版本,可以尝试下面被注释的那一行。理论上能将网易云发出的流量全部走代理。
only test on MacOS.
Proxy:
- name: "UnblockNeteaseMusic"
type: http
server: <Server-IP>
port: <Server-Port>
Rule:
- DOMAIN-SUFFIX,163.com,UnblockNeteaseMusic
# - PROCESS-NAME, NeteaseMusic, UnblockNeteaseMusic
- GEOIP,CN,DIRECT
- MATCH,DIRECT
Clash 安卓端配置参考 #162
如果日志显示有匹配结果但是 iOS 客户端仍提示无法播放
那应该是返回数据中以 http://music.163.com/package/
开头的音源链接被客户端擅自升级到 https
因链接请求会被 unblock server 当成 HTTPS API 请求主动 block (降级策略) 而无法加载
你可能需要做以下的尝试 (选其一)
关于
/package
的用途和-s
endpoint 相关问题,参考 #143 (comment)
版权歌曲虽然不变灰了,但是还是无法播放,之前一直可以的 @nondanee
您好nondanee,
我这边设置代理后无法打开一些网页和app。(微信号公众号文章,谷歌Play,知乎文章等。)
我尝试过添加https到代理,也没有起到作用。eg. https://domain.com:8080/proxy.pac
(node:24237) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 6): SyntaxError: Unexpected token u in JSON at position 0
使用代理器
我在我 美国西部
的 VPS 上搭建服务
我现在用 docker 启动一个实例监听 8653
端口
启动命令:
docker run -dt --name unblockneteasemusic --restart=always -p 8653:8080 nondanee/unblockneteasemusic -s -f 59.111.181.61
效果如下:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
74376c5eb6f4 nondanee/unblockneteasemusic "node app.js -s" 11 hours ago Up 11 hours 0.0.0.0:8653->8080/tcp unblockneteasemusic
然后我用 nginx 监听 80
端口,并且添加配置文件
server {
listen 80;
server_name music.163.com interface.music.163.com;
access_log /var/log/nginx/163.log main;
location / {
proxy_pass http://127.0.0.1:8653;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Accept-Encoding "";
}
}
然后我在 mac 机器上添加 HOST 记录
# 1.2.3.4 代表 美西服务器 的 IPV4
1.2.3.4 music.163.com
1.2.3.4 interface.music.163.com
然后发现,听不了歌曲
可以看到底部的时间显示一直都是 00:00:00
客户端版本 2.0.0 (700)
在这种模式下,我尝试请求 http://music.163.com/ ,尝试抓包发现我的 美西服务器 返回了 302 到 https
这个有没有办法弄一下
就是我 http 请求 UnblockNeteaseMusic
,UnblockNeteaseMusic
以 https 请求网易云服务器,然后返回页面 html
因为我 VPS 上 80 端口还要做其他事情,所以必须需要有一个 nginx,这种情况下,该如何食用?
因为对node端口类不是很懂。
请问作为windows用户的话,怎么使用呢?
(node:4460) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'songs' of undefined
at F:\github\UnblockNeteaseMusic\proxy.js:284:25
at new Promise (<anonymous>)
at bodyHook (F:\github\UnblockNeteaseMusic\proxy.js:217:9)
at F:\github\UnblockNeteaseMusic\proxy.js:128:9
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:182:7)
(node:4460) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 8)
就像sstap和某些游戏加速器那样
希望未来可以支持,收藏变灰歌曲这个功能还是比较有用的
直接使用nohup node app.js -s -p port & 命令后台运行时。出现了报错,报错信息提示Error: ENOENT: no such file or directory, open './keys/server.key'。检查了的server.js路径下的代码。发现server.key与server.crt是直接使用"./"方式进行引用的。应该使用pwd等参数改成绝对路径引用。
应课代表 @theandychung 的 PR #21 增加详细使用教程
若仍有部署安装上的问题请在下方评论
改进意见、bug 反馈等请新开 issue
P.S. 参与讨论并解决了疑问之后,可以点右侧 Unsubscribe 取消提醒,以防邮箱爆满
P.P.S. clone 了旧代码的同学请定期 git pull
更新, fork 了旧代码的同学请定期 New pull request 同步
在 follow 下面的步骤之前,希望你已仔细阅读过 README 中的 "使用" 部分,对配置过程也有初步了解
本篇为基础配置,所有平台通用
README 中提到对部分平台客户端有额外要求,相关教程参考其它带有紫色 "pinned" 标签的 issue
node一直提示错误列表。。
请教mac运行方式
看不懂hosts修改法
你好 作者,我看那个说明书,我 在 源文件打开CMD窗口 输入 node app.js 它说我服务运行在 http://0.0.0.0:8080 这里,我打开网易云 客户端 还是不能下载 已经下架的歌曲,我也修改了host文件
我已经用hosts的方法搭建完了,打开云音乐也可以使用了。但是变灰的歌虽然没变黑,但是打开来是播放失败。并不能听.其他的歌不受影响。可以播放。我在想是不是和我ip有关。我拿的一台英国的ip搭建的。属于欧盟的范围。。还是姿势不对
小白一枚 之前没接触过node.js 刚安装node.js的软件,下一步该怎么操作,能否提供node.js的入门资料或者这个项目使用详细教程?感谢!
有没有可能通过代理服务器ssr流量从而实现安卓端的单应用代理,这样能节省很多资源
如題,請問 docker 容器如何啟動嚴格模式?
謝謝
最近发现使用代理会导致一些应用的图片打不开, 或者微信的表情显示不了
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.