浏览器解锁 ncm/qmc 加密音乐:零安装、不上传、5 分钟上手
【免费下载链接】unlock-music在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web项目地址: https://gitcode.com/gh_mirrors/un/unlock-music
你花了几十块买了首歌,为什么换个手机、换个 App 就播不了?你下载到的.ncm、.qmc3文件,音频数据其实被重新加密过,只有平台自家 App 才能播。Unlock Music 做的就是在浏览器里完成音乐解密:打开一个网页、把文件拖进去,不装任何软件,就能把 ncm 这类加密音乐还原成能正常播放的文件。
把平台锁在文件里的"加密格式"讲明白
先弄清"加密"到底加密了什么。可以把加密音乐文件想成一个贴好封条的信封:信纸(原始音频数据)没动,但封口处贴着平台自己的封条,只有发信封条的那家 App 知道怎么拆开。不同平台的封条不一样,文件后缀也各是一套:
- 网易云音乐:
.ncm - QQ 音乐:
.qmc0、.qmc3、.qmcflac、.mgg、.mflac - 酷狗音乐:
.kgm、.vpr - 酷我音乐:
.kwm - 虾米:
.xm;咪咕:.mg3d;喜马拉雅:.x2m、.x3m;JOOX:.ofl_en
这个项目的活儿,就是逐个学会拆开这些封条,把音频连同歌名、歌手、封面一起还原出来。它的承诺很短:解密全程在你本地的浏览器里完成,文件不出设备,不装任何软件。
几百首音乐的批量解密要注意什么
想把手头收藏导进车载 U 盘或手机,一首一首来肯定来不及。页面本身的用法很直接:文件批量拖进去就行,解密是多线程并行的,算得重的文件不用排着队慢慢来;解完之后标题、歌手、专辑、封面会自动写回新文件,不用你再手动补标签。边界说一句:网页版的结果会留在浏览器内存里,几十首没压力,上百首建议勾选"立即保存",让结果逐个落盘;再往多的量级,就不太合适了,后面会说去哪接。
手机上临时用:把网页变成 App 是什么体验
同一个页面在手机浏览器里也能直接打开。出远门临时想处理几首.ncm,不必装 App,打开页面就能用;页面支持 PWA,可以添加到主屏幕,之后像普通应用一样点开。手机端有两点要留意:一屏能看的条目有限,一次批量选太多不好逐个确认结果,小批量来更稳;大文件对手机内存压力不小,卡顿了就减点数量。
整库归档:什么时候该交给 CLI 版本
如果你的目标是整库几百上千首,跑一条"下载—解密—归档"的流水线过夜跑完,网页就不是合适的工具了。项目有独立的 CLI 版本,用同一套算法,从终端脚本里调用,能挂进定时任务。到时候浏览器版就适合它的老本行:偶尔来几首、就地验证、随手下载。
从下载到第一首歌响起来
不想碰源码的话,直接去项目 Release 页面下载最新预构建压缩包,解压后找到index.html用浏览器打开,页面就绪;把加密文件拖进页面,等进度条走完,在结果列表点下载,拿到的就是能直接播放、带完整信息的文件。想自己构建、或者想看看它内部怎么跑,从克隆仓库到跑起来是这样的:
git clone https://gitcode.com/gh_mirrors/un/unlock-music # 获取项目源代码 cd unlock-music # 进入项目目录 npm ci # 安装依赖(保证版本一致) npm run serve # 启动开发服务器,浏览器打开即可体验 npm run build # 构建生产版本,产物在 dist 目录⚠️ 本地自用务必拿legacy版本——modern版本只能通过 http(s) 协议访问,直接双击(file:// 协议)打不开。这是新手最容易卡住的地方。
文件拖进浏览器后发生了什么
文件一进页面,走的是一条流水线。先做格式识别:既看扩展名,也核对文件头里的魔数——每个平台的文件开头都有自己固定的"封条",判断错了不会把文件弄坏。识别完分发到对应的解密模块,这些模块在src/decrypt/目录下,每种格式一个文件,结构很透明。之后按算力分叉:纯 JavaScript 算得动的直接走 JS;算得动的吃力、计算量大的(比如酷狗的.kgm、QQ 的新格式),把算法写成 C++,用 Emscripten 编译成 WASM——WASM 你可以理解为把 C++ 算法打包成浏览器能直接跑的小插件——再由 Web Worker 开多线程并行处理。
文件拖入 → 格式识别 → Decryptor 解密(JS / WASM 多线程)→ 写回元数据与封面 → 下载最后一步收工时,工具会把原文件里残留的标题、歌手、封面写回新文件,你拿到的不只是一段能播的音频,还是一份信息完整的音乐档案。
它做不了的事,提前说实话
.mflach(QQ 音乐较新的 Flac 变体)网页版解不了,遇到它页面会直接提示改用 CLI 版本;- 它只处理"你已经下载到的文件"。下载限制、播放限制不归它管,它只负责拆你已经带回家的信封;
- 它是"解锁"不是"转码":音频数据原样保留,FLAC 解出来还是 FLAC。想换编码格式,得另跑转码工具。
几个高频问题
Q:解密后音质会损失吗?A:不会。全程是解锁不是转码,音频数据原样保留,FLAC 解出来还是 FLAC。
Q:文件会被上传到服务器吗?A:不会。所有处理都在本地浏览器完成,代码开源,可以自己审查一遍。
Q:支持哪些平台的格式?A:QQ 音乐(qmc0/qmc3/qmcflac/mgg/mflac 等)、网易云(ncm)、酷狗(kgm/vpr)、酷我(kwm)、虾米(xm)、咪咕(mg3d)、喜马拉雅(x2m/x3m)、JOOX(ofl_en)等,覆盖主流平台。
Q:一次能解多少个文件?A:没有硬性上限,支持批量选择、批量下载。文件多的时候建议勾选"立即保存",避免结果积压在内存里。
Q:手机上能用吗?A:能。手机浏览器直接打开页面即可,配合 PWA 添加到主屏幕,还能当应用用。
参与:两条能直接上手的路
项目按 MIT 协议发布,自由使用、修改、再分发都行;底线只有一条:只解密你合法拥有的文件,不要用于侵权。想参与的话,两条路都是现成的:遇到解不了的格式或 bug,去项目仓库提 Issue,把文件后缀和复现步骤写清楚;会写代码的话,直接看src/decrypt/下现成的格式实现,提交 PR 补新格式或修问题。
把下载文件夹里那堆.ncm拖进去试试吧——五分钟,你就能听到声音。
【免费下载链接】unlock-music在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web项目地址: https://gitcode.com/gh_mirrors/un/unlock-music
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考