本文发表于 2025/5/1 22:25
上次修改于 2025/8/16 19:44
孩子们,在此怀着沉痛的心情告诉大家,此方案已失效,这意味着原版NeteaseCloudMusicAPI已完全趋势,请各位另寻他法/家,或者干脆自己写一个新的。但我不会放弃,可能三个月,六个月,甚至以年为单位。只要网易仍不会做软件,我们就坚持教他们怎么做软件!
金杰活了!金杰活了!不要告诉其他人!金杰活了!
通过其他大佬的解决方式,我把它搬到了我的方案里,使得能够重新登陆
简单来说就是请求的时候模拟官方请求,使服务器相信这是来自官方的请求
你可以在右侧很方便地拨到 使用 一栏
为保护方案可用性,暂不考虑提供参考文档
在此感谢方案与脚本提供者,十分感谢!
本文章与 Bilibili 同名专栏 同步,转载请表明链接
建议在动手操作前先看一遍文章内容
起因
前几天才知道有LyricEase这个软件,但是等我赶过去的时候已经不能正常登录了(悲,为什么每次我发现这种工具的时候都是这样)
但是我甘心吗,我不甘心!看着这么好的一个软件就这么没了,我是真感到失落。其他开源替代品我不是没试过,主要是我还是更喜欢LyricEase的界面

研究研究
咳咳扯远了,虽然但是,根据调试软件来看,我发现它还是能正常发送请求的,貌似只是因为冈易加了个新设备验证(云盾或者什么东西)而Lyric不支持它而已

既然官方的请求不行,那我们看看第三方?
巧了,我发现了一个曾经存在的接口项目,虽然现在被冈易封杀,但还是能找到的
那我们应该做什么也已经显而易见了,就是把请求转发到第三方接口上。
我使用了Charles Proxy(charlesproxy.com)来转发请求,使请求格式与第三方接口能够对的上 二维码获取一共三个步骤:
一,获取unikey
在Charles上这样配置:
/weapi/login/qrcode/unikey
->/login/qr/key
根据文档,我们要在/login/qr/key请求后面加上时间戳来防止缓存,像这样:
/login/qr/key?timestamp=xxx
但这样还不够
官方生成的key长这样:

而第三方接口返回的是这样:

所以我们要在转发时把data层去掉
二,二维码生成
第二步研究了一整天,然后才发现Lyricease压根不需要这一步,在客户端中自己就给生成好了

三,状态检测
与unikey一样如法炮制即可:
/weapi/login/qrcode/client/login
->/login/qr/check
同样的,这个也要在结尾加时间戳,不过还多了一个unikey的值,所以我们需要在转发时提取上一步获取的key加在后面,然后再把时间戳加后面,像这样:
/login/qr/check?key=xxx&tamp=xxx
就这样把接口运行在本地,让转发层把接口的返回值返回给客户端,大功告成
整个的流程大概是这样的:

新问题:
在前段时间,网易收紧了请求方式,使得几乎所有第三方软件都暴毙了(因为用的都是一个登陆方案)
这时登录你会发现,手机端不许你登录了,提示登录环境有风险。别慌,你不需要思考自己最近是不是看片看多了,手机中毒了,只是识别到请求并不是来自官方客户端所以拦截了请求。
那咋办呢?动动脑子,哦不,不用动脑子了。隔壁大佬已经研究出了解决方案:模拟官方请求。我们只需要在发送请求的时候附加上官方客户端的信息再发出去就好了。于是我把方案照搬了过来,发送请求时带上了官方客户端的信息,这样扫描后就不再报错了。好人一生平安!
使用
使用方法较之前有些复杂,不过并不难。
下载Charles,上方工具栏:Tools
->Map remote
点击左下角加号添加配置,一共两个,一个是:

另一个是:

然后勾选Enable Map remote就好了。
然后看看脚本文件。解压后有俩脚本文件, 一个 start.ps1 文件

与一个 server.js 文件,

请把他们解压到一个空文件夹里,保证无任何程序占用3000或3001端口,然后右键 start.ps1 文件-使用 PowerShell 运行即可。

运行到这里时请打开你的网易云官方客户端

点击设置->关于网易云音乐->代理,按如下配置:

随后重新打开网易云音乐,脚本会自动进行抓包。
成功登录后终端窗口会关闭。 待脚本成功运行后打开LyricEase,点击右上角齿轮,勾选网络请求使用HTTP协议,

随后点击扫码登陆
Charles与Lyricease的安装包和登录脚本文件在这里
常见问题
1》如果你遇到了窗口一闪而过的情况,请按下Windows 徽标键-->Windows Power Shell(管理员) 输入:
Set-ExecutionPolicy RemoteSigned
这将允许系统执行脚本操作
2》如果你遇到"未找到指令npm
" "MODEL_NOT_FOUND
"一类的错误,请重新运行脚本
3》如果你遇到“检测本地服务”超时的问题(最多30s)请检查任务栏中的一个命令提示符窗口是否有让你确认什么东西,如果有请输入y后回车
4》如果在解除应用回环时遇到问题,请在 Windows Power Shell(管理员) 窗口中定位到脚本文件并手动执行
关于LyricEase的安装
先去设置打开开发者模式,然后回到安装包,安装包里有个cer证书文件,已经过期了,你需要调整你的系统时间为证书有效期(2023/10/17-2024/10/16),然后双击证书-安装证书-本地计算机-将所有的证书都放入下列存储-浏览,选择[受信任的根证书颁发机构],然后完成就可以直接双击安装了(完成后别忘了把时间改回来)
我不会代码,这些代码都是ai写的,出问题我不一定会但我尽量帮忙(
目前只支持扫码登陆。登录一次后能够实现自动登录。
我知道你很急(扔到回收站),但你先别急。若你遇到提示:网络服务出错 别慌,你不需要思考自己最近是不是看片看多了,电脑中毒了 你只需要重新按照文章流程走一次就好。这个问题目前找不到什么规律,暂时不知道怎么解决。
新方案下,这个问题貌似不再出现了?
如果登陆时遇到了一些网站无法访问的情况,是正常情况,因为 Charles 用的是 Windows 代理,只需要关掉它就好了。
有问题可加群:1056388735