
揭秘自动刷歌原理cloud-uploader 每日 300 首背后的 API 调用链与限频策略【免费下载链接】cloud-uploader网易云音乐MAC云盘上传工具项目地址: https://gitcode.com/gh_mirrors/cl/cloud-uploadercloud-uploader 是一款开源的网易云音乐 MAC 云盘上传工具它除了解决 Mac 版网易云音乐无法上传歌曲到云盘的问题还内置了每日自动签到与每日自动刷歌 300 首功能帮你轻松提升账号等级。很多人好奇它凭什么能在 1~3 分钟内听完300 首歌今天我们就从源码出发揭秘自动刷歌原理、梳理完整的 API 调用链并分析它是如何通过限频策略规避风控的。自动刷歌 300 首是怎么触发的先看懂执行机制作者在更新日志里专门解释过没有引入任何第三方定时库而是采用窗口激活时检查的轻量方案。前端通过localStorage记录当天是否已刷歌键名为listen-日期见 uploader.js每次打开/激活主窗口时主进程检查该标记若当天未完成则通过 IPC 发送auto-listen事件见 main.js收到事件后主进程调用Listen.asyncState()真正开始刷歌见 listen.js。这套设计的好处是零依赖、免配置打开软件即自动执行关闭也不影响当天额度记录。✅刷歌 API 调用链全解析从每日推荐到听歌反馈刷歌的核心逻辑并不复杂本质上是循环模拟听歌完整调用链分三步第一步recommend_resource 获取每日推荐歌单playList()调用网易云recommend_resource接口拿到每日推荐歌单列表每个歌单只有 id 和 name见 listen.js。第二步playlist_track_all 拉取歌单内全部歌曲拿到歌单 id 后playListDetail(id)调用playlist_track_all接口拉取该歌单下所有歌曲并提取歌曲的id、sourceId来源歌单、dt歌曲时长三个关键字段见 listen.js。第三步scrobble 上报听歌反馈这是最核心的一步。feedback(song)调用scrobble接口把id、sourceid、time歌曲时长和当前时间戳t一起提交网易云就会认为这首歌被完整听过了见 listen.js。整个过程在双层循环中反复执行外层遍历推荐歌单内层遍历歌单歌曲直到累计听歌数超过上限才停止。关键限频策略为什么一天刷 300 首不容易被风控短时间大量请求接口很容易触发网易云的频率限制。cloud-uploader 通过 const.js 中的几个常量设计了完整的限频策略常量默认值作用LISTEN_MAX_COUNT350每日最多听歌数留 50 首冗余因可能有已听过的歌设为 -1 可听完全部推荐LISTEN_SLEEP_TIME100ms每首歌之间的请求间隔LISTEN_ERROR_SLEEP_TIME5000ms接口报错多为请求频繁后的冷却休息时间这三层设计非常讲究数量冗余每日上限 300但默认刷到 350 才停保证即使部分歌曲已听过不计入也能凑满 300节奏控制100ms 的间隔模拟了连续切歌的听歌节奏不至于请求过于密集失败冷却一旦出现接口错误立刻暂停 5 秒再继续避免触发更严厉的风控这也是刷歌稳定性的关键。上传音乐同样有限频随机间隔防批量封禁除了刷歌上传云盘环节也应用了限频思路。上传时每首歌之间会随机等待1000~3000 毫秒见 const.js 与 uploader.js。随机间隔比固定间隔更难被识别为脚本行为有效缓解批量上传出错的问题。一次刷歌请求的完整链路cookie 如何注入所有 API 请求都经过 api.js 的统一封装每次请求前都会重新从本地存储读取 cookie 并注入参数同时带上代理配置proxy然后转发给NeteaseCloudMusicApi完成实际调用。所以完整链路是窗口激活 → IPCauto-listen→ 拉取每日推荐歌单 → 拉取歌单详情 → 逐首 scrobble 上报 → 达到 350 上限停止 → 前端标记已刷歌整个流程大约 1~3 分钟一次登录后每天打开软件就能自动完成配合自动签到daily_signin接口见 signIn.js距离 10 级大佬真的不远了。写在最后刷歌工具的正确打开方式理解自动刷歌原理和限频策略后你会发现它能稳定跑通靠的不是暴力请求而是数量冗余 节奏控制 失败冷却三件套。如果你也想本地构建体验克隆后执行npm install启动即可对源码感兴趣重点阅读 listen.js、const.js 和 api.js 三个文件刷歌的秘密就全在里面了。【免费下载链接】cloud-uploader网易云音乐MAC云盘上传工具项目地址: https://gitcode.com/gh_mirrors/cl/cloud-uploader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考