Skip to content

Huibq/Unlock-Music-React

 
 

Repository files navigation

Unlock Music 音乐解锁 (React)

Build Status

⚠️ 手机端浏览器支持有限,请使用最新版本的 Chrome 或 Firefox 官方浏览器。

支持的格式

  • QQ 音乐 QMCv1 (.qmc3 / .qmcflac 等)
  • QQ 音乐 QMCv2
    • PC 客户端 (.mflac / .mgg 等) 1
    • 安卓客户端 (.mflac0 / .mgg1 / .mggl 等) 2
    • iOS 客户端 (.mgalaxy 等) 3
    • Mac 客户端 (.mflach 等) 4
  • 网易云音乐 (.ncm)
  • 虾米音乐 (.xm)
  • 酷我音乐 (.kwm)
  • 酷狗音乐 (.kgm / .vpr)
  • 喜马拉雅 Android 端 (.x2m / .x3m)
  • 咪咕音乐格式 (.mg3d)
  • 蜻蜓 FM (.qta)
  • QQ 音乐海外版JOOX Music (.ofl_en)

不支持的格式?请提交样本(加密文件)与客户端信息(或一并上传其安装包)到仓库的问题追踪区。如果文件太大,请上传到不需要登入下载的网盘,如 mega.nzOneDrive 等。

如果遇到解密出错的情况,请一并携带错误信息并简单描述错误的重现过程。

开发相关

从源码运行或编译生产版本,请参考文档「新手上路」。

面向 libparakeet SDK 开发

⚠️ 如果只是进行前端方面的更改,你可以跳过该节。

请参考文档「面向 libparakeet-js 开发」。

架构

  • 浏览器主线程: 渲染界面,处理 UI 更新
  • Web Worker: 负责计算方面的内容,如内容解密。

数据传输: 生成 blob url (URL.createObjectURL) 然后透过 postMessage 传递给线程,线程利用 fetch API 来获取文件信息。

贡献代码

欢迎贡献代码。请确保:

  • 单元测试的覆盖率不低于主分支的覆盖率;
  • 提交前请使用 Prettier 对代码进行格式化;
  • 提交前请确保 ESLint 不会报告 warning / error;

满足上述条件后发起 Pull Request,仓库管理员审阅后将合并到主分支。

相关项目

有新的项目提交?欢迎提交 issue,请带上项目名称和链接。

TODO

  • 待定
  • 完成
    • #7 简易元数据编辑器 放弃
    • #8 添加单元测试 框架加上了,以后慢慢添加更多测试即可。
    • #2 解密内容探测 (解密过程)
    • #6 文件拖放 (利用 react-dropzone?)

Footnotes

  1. PC 客户端仅支持 v19.43 或更低版本。

  2. 需要获取超级管理员权限后提取密钥数据库,并导入后使用。

  3. 需要越狱获取密钥数据库,或对设备进行完整备份后提取密钥数据库,并导入后使用。

  4. 需要导入密钥数据库。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 94.4%
  • Shell 3.3%
  • JavaScript 1.5%
  • Other 0.8%