27
2025
02
10:36:04

Unlock Music React Project - Electron Edition 在Electron构建的桌面应用中解锁各种加密的音乐文件

https://github.com/dfvips/um-react-electron


关于仓库官方

本仓库原始地址(已 DMCA):https://github.com/unlock-music/unlock-music

本仓库目前官方地址:https://git.unlock-music.dev/um/um-react

你所看到的这个仓库是依照 MIT 协议授权的,除electron部分(不限于electron构建)外,代码与本人无关。

Unlock Music 音乐解锁 Electron 应用程序

Build Status

  • 在Electron应用程序中解锁加密的音乐文件。 Unlock encrypted music file in the Electron App.

  • 无需依赖浏览器,开箱即可使用。

自行构建Electron应用程序

  • 环境要求

    • Linux、MacOs

    • python3、nodejs、npm

  • 开发环境

    git clone https://git.unlock-music.dev/um/um-react.git && npm install --frozen-lockfilecd ../ && npm install
    npm run start / npm run dev
    npm run start / npm run dev
  • 打包

    npm run build  / npm run build:win / npm run build:mac
  • 前端静态页面构建后的产物可以在 src/renderer 目录找到。

  • Electron构建后的产物可以在 release 目录找到。

开箱即用版本

https://github.com/dfvips/unlock-music-electron/releases

Unlock Music 音乐解锁 (React)

Build Status

  • 在浏览器中解锁加密的音乐文件。 Unlock encrypted music file in the browser.

  • Unlock Music 项目是以学习和技术研究的初衷创建的,修改、再分发时请遵循授权协议

  • Unlock Music 的 CLI 版本可以在 unlock-music/cli 找到,大批量转换建议使用 CLI 版本。

  • 我们新建了 Telegram 群组 @unlock_music_chat ,欢迎加入!

  • CI 自动构建已经部署,可以在 Packages 下载。

支持的格式

  •  QQ 音乐 QMCv1 (.qmc0/.qmc2/.qmc3/.qmcflac/.qmcogg/.tkm)

  •  QQ 音乐 QMCv2 PC 端 (.mflac/.mgg/.mflac0/.mgg1/.mggl)

  •  网易云音乐 (.ncm)

  •  虾米音乐 (.xm)

  •  酷我音乐 (.kwm)

  •  酷狗音乐 (.kgm/.vpr)

  •  喜马拉雅 Android 端 (.x2m/.x3m)

  •  咪咕音乐格式 (.mg3d)

  •  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,仓库管理员审阅后将合并到主分支。

TODO

  • 待定

  • 完成

    •  #8 添加单元测试 框架加上了,以后慢慢添加更多测试即可。

    •  #2 解密内容探测 (解密过程)

    •  #6 文件拖放 (利用 react-dropzone?)





推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://sg.hqyman.cn/post/9208.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: