diff --git a/.drone.yml b/.drone.yml index 72763ef..dd4d4ef 100644 --- a/.drone.yml +++ b/.drone.yml @@ -4,11 +4,6 @@ type: docker name: default steps: - - name: build-wasm - image: emscripten/emsdk:3.0.0 - commands: - - ./scripts/build-wasm.sh - - name: build image: node:16.18-bullseye commands: diff --git a/.gitlab/ISSUE_TEMPLATE/bug-crypto-guided.yaml b/.gitlab/ISSUE_TEMPLATE/bug-crypto-guided.yaml new file mode 100644 index 0000000..233ba24 --- /dev/null +++ b/.gitlab/ISSUE_TEMPLATE/bug-crypto-guided.yaml @@ -0,0 +1,76 @@ +name: 解码错误报告 (填表) +about: 遇到文件解码失败的问题请选择该项。 +title: '[Bug/Crypto] ' +labels: + - bug + - crypto +body: + - type: textarea + id: what-happened + attributes: + label: 错误描述 + description: 请描述你所遇到的问题,以及你期待的行为。 + placeholder: '' + value: '' + validations: + required: true + - type: dropdown + id: version + attributes: + label: Unlock Music 版本 + description: | + 能够重现错误的版本,版本号通常在页面底部。 + 如果不确定,请升级到最新版确认问题是否解决。 + multiple: true + options: + - 1.10.5 (仓库最新) + - 1.10.3 (官方 DEMO) + - 其它(请在错误描述中指定) + validations: + required: true + - type: dropdown + id: browsers + attributes: + label: 产生错误的浏览器 + multiple: true + options: + - 火狐 / Firefox + - Chrome + - Safari + - 其它基于 Chromium 的浏览器 (Edge、Brave、Opera 等) + - type: dropdown + id: music-platform + attributes: + label: 音乐平台 + description: | + 如果需要报告多个平台的问题,请每个平台提交一个新的 Issue。 + 请注意:播放器缓存文件不属于该项目支持的文件类型。 + multiple: false + options: + - 其它 (请在错误描述指定) + - QQ 音乐 + - Joox (QQ 音乐海外版) + - 虾米音乐 + - 网易云音乐 + - 酷我音乐 + - 酷狗音乐 + - 喜马拉雅 + - 咪咕 3D + validations: + required: true + - type: textarea + id: logs + attributes: + label: 日志信息 + description: 如果有,请提供浏览器开发者控制台(Console)的错误日志: + render: text + - type: checkboxes + id: terms + attributes: + label: 我已经阅读并确认下述内容 + description: '' + options: + - label: 我已经检索过 Issue 列表,并确认这是一个为报告过的问题。 + required: true + - label: 我有证据表明这是程序导致的问题(如不确认,可以通过 Telegram 讨论组 (https://t.me/unlock_music_chat) 进行讨论) + required: true diff --git a/.gitlab/ISSUE_TEMPLATE/bug-report.md b/.gitlab/ISSUE_TEMPLATE/bug-report.md index 8181d6a..520e534 100644 --- a/.gitlab/ISSUE_TEMPLATE/bug-report.md +++ b/.gitlab/ISSUE_TEMPLATE/bug-report.md @@ -1,39 +1,40 @@ --- -name: Bug报告 -about: 报告Bug以帮助改进程序 -title: '' -labels: bug -assignees: '' + +name: "错误报告" +about: "报告 Bug 以帮助改进程序,非填表。" +title: "[BUG] " +labels: + +- bug --- * 请按照此模板填写,否则可能立即被关闭 - [x] 我确认已经搜索过Issue不存并确认相同的Issue -- [x] 我有证据表明这是程序导致的问题(如不确认,可以在[Discussions](https://github.com/ix64/unlock-music/discussions)内提出) +- [x] 我有证据表明这是程序导致的问题(如不确认,可以通过 Telegram 讨论组 (https://t.me/unlock_music_chat) 进行讨论) - -**Bug描述** +## Bug描述 简要地复述你遇到的Bug -**复现方法** +## 复现方法 描述复现方法,必要时请提供样本文件 -**程序截图或者Console报错信息** +## 程序截图或浏览器开发者控制台(Console)的报错信息 如果可以请提供二者之一 - -**环境信息:** +## 环境信息 - 操作系统和浏览器: - 程序版本: - - 获取音乐文件所使用的客户端及其版本信息: + - 网页版的地址(如果为非官方部署请注明): +注意:如果需要会员才能获取该资源,你可能也需要作为附件提交。 -**附加信息** +## 附加信息 -其他能够帮助确认问题的信息 +如果有,请提供其他能够帮助确认问题的信息到下方: diff --git a/.gitlab/ISSUE_TEMPLATE/new-feature.md b/.gitlab/ISSUE_TEMPLATE/new-feature.md index 8d05080..c7610d4 100644 --- a/.gitlab/ISSUE_TEMPLATE/new-feature.md +++ b/.gitlab/ISSUE_TEMPLATE/new-feature.md @@ -1,26 +1,29 @@ --- -name: 新功能 -about: 对于程序新的想法或建议 -title: '' -labels: enhancement -assignees: '' + +name: "新功能" +about: "对于程序新的想法或建议" +title: "[新功能] " +labels: + +- enhancement --- -- 请按照此模板填写,否则可能立即被关闭 + + -**背景和说明** +## 背景和说明 -简要说明产生此想法的背景和此想法的具体内容 + -**实现途径** +## 实现途径 - 如果没有设计方案,请简要描述实现思路 -- 如果你没有任何的实现思路,请通过[Discussions](https://github.com/ix64/unlock-music/discussions)或者Telegram进行讨论 +- 如果你没有任何的实现思路,请通过 Telegram 讨论组 (https://t.me/unlock_music_chat) 进行讨论 -**附加信息** +## 附加信息 -更多你想要表达的内容 + diff --git a/README.md b/README.md index 34c10be..74f5aba 100644 --- a/README.md +++ b/README.md @@ -50,8 +50,6 @@ ### 自行构建 -#### JS部分 - - 环境要求 - nodejs (v16.x) - npm @@ -59,6 +57,7 @@ 1. 获取项目源代码后安装相关依赖: ```sh + npm install npm ci ``` @@ -76,15 +75,3 @@ ```sh npm run make-extension ``` - -#### WASM部分 - -- 环境要求 - - Linux - - python3 - -- 运行此目录下的build-wasm - - ```sh - ./scripts/build-wasm.sh - ``` diff --git a/extension-manifest.json b/extension-manifest.json index eaa9512..b31cb73 100644 --- a/extension-manifest.json +++ b/extension-manifest.json @@ -6,11 +6,13 @@ "128": "./img/icons/msapplication-icon-144x144.png" }, "description": "在任何设备上解锁已购的加密音乐!", - "permissions": ["storage"], + "permissions": [ + "storage" + ], "offline_enabled": true, "options_page": "./index.html", - "homepage_url": "https://github.com/ix64/unlock-music", + "homepage_url": "https://git.unlock-music.dev/um/web", "browser_action": { "default_popup": "./popup.html" } -} +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 80e2a66..48d7266 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,19 @@ { "name": "unlock-music", - "version": "v1.10.3", + "version": "1.10.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "unlock-music", - "version": "v1.10.3", + "version": "1.10.6", "hasInstallScript": true, "license": "MIT", "dependencies": { "@babel/preset-typescript": "^7.16.5", - "@jixun/kugou-crypto": "^1.0.3", "@unlock-music/joox-crypto": "^0.0.1-R5", + "@xhacker/kgmwasm": "^1.0.0", + "@xhacker/qmcwasm": "^1.0.0", "base64-js": "^1.5.1", "browser-id3-writer": "^4.4.0", "core-js": "^3.16.0", @@ -2986,22 +2987,6 @@ "regenerator-runtime": "^0.13.3" } }, - "node_modules/@jixun/kugou-crypto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@jixun/kugou-crypto/-/kugou-crypto-1.0.3.tgz", - "integrity": "sha512-ZiwSkpIAH8IkFcTfMjdQMpP/xco3iXEdYDEQo4wquYpSAln5RmSed3iBctnpoE6s3X1cxmBGhpCYW6v6vZfs+g==", - "dependencies": { - "commander": "^9.2.0" - } - }, - "node_modules/@jixun/kugou-crypto/node_modules/commander": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", - "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==", - "engines": { - "node": "^12.20.0 || >=14" - } - }, "node_modules/@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", @@ -4197,6 +4182,16 @@ "@xtuc/long": "4.2.2" } }, + "node_modules/@xhacker/kgmwasm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@xhacker/kgmwasm/-/kgmwasm-1.0.0.tgz", + "integrity": "sha512-LnBuEVRJQVyJGJTb0cPZxZDu7Qi4PqDhJLRaRJfG6pSUeZuIoglzHiysyd4XfNHobNnLxG8v1IiNPS/uWwoG0A==" + }, + "node_modules/@xhacker/qmcwasm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@xhacker/qmcwasm/-/qmcwasm-1.0.0.tgz", + "integrity": "sha512-oE6isNLmCDqIvxJV9KyDVlIzMISQzTj8o1ePWtQ+DhfXLI0hel/DwOIQ3icCikWnfwA/5SDs2hYw5BvrxdJ63g==" + }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", @@ -5717,7 +5712,7 @@ }, "node_modules/caniuse-lite": { "version": "1.0.30001434", - "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz", "integrity": "sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==" }, "node_modules/case-sensitive-paths-webpack-plugin": { @@ -23195,21 +23190,6 @@ "regenerator-runtime": "^0.13.3" } }, - "@jixun/kugou-crypto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@jixun/kugou-crypto/-/kugou-crypto-1.0.3.tgz", - "integrity": "sha512-ZiwSkpIAH8IkFcTfMjdQMpP/xco3iXEdYDEQo4wquYpSAln5RmSed3iBctnpoE6s3X1cxmBGhpCYW6v6vZfs+g==", - "requires": { - "commander": "^9.2.0" - }, - "dependencies": { - "commander": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", - "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==" - } - } - }, "@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", @@ -24256,6 +24236,16 @@ "@xtuc/long": "4.2.2" } }, + "@xhacker/kgmwasm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@xhacker/kgmwasm/-/kgmwasm-1.0.0.tgz", + "integrity": "sha512-LnBuEVRJQVyJGJTb0cPZxZDu7Qi4PqDhJLRaRJfG6pSUeZuIoglzHiysyd4XfNHobNnLxG8v1IiNPS/uWwoG0A==" + }, + "@xhacker/qmcwasm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@xhacker/qmcwasm/-/qmcwasm-1.0.0.tgz", + "integrity": "sha512-oE6isNLmCDqIvxJV9KyDVlIzMISQzTj8o1ePWtQ+DhfXLI0hel/DwOIQ3icCikWnfwA/5SDs2hYw5BvrxdJ63g==" + }, "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", @@ -25487,7 +25477,7 @@ }, "caniuse-lite": { "version": "1.0.30001434", - "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz", "integrity": "sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==" }, "case-sensitive-paths-webpack-plugin": { diff --git a/package.json b/package.json index 8373728..7e9d9f6 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,13 @@ { "name": "unlock-music", - "version": "1.10.3", + "version": "1.10.6", "ext_build": 0, - "updateInfo": "完善音乐标签编辑功能,支持编辑更多标签", + "updateInfo": "修正文件过小的情况下酷狗 / QQ解密错误问题", "license": "MIT", "description": "Unlock encrypted music file in browser.", "repository": { "type": "git", - "url": "https://github.com/ix64/unlock-music" + "url": "https://git.unlock-music.dev/um/web" }, "private": true, "scripts": { @@ -21,8 +21,9 @@ }, "dependencies": { "@babel/preset-typescript": "^7.16.5", - "@jixun/kugou-crypto": "^1.0.3", "@unlock-music/joox-crypto": "^0.0.1-R5", + "@xhacker/kgmwasm": "^1.0.0", + "@xhacker/qmcwasm": "^1.0.0", "base64-js": "^1.5.1", "browser-id3-writer": "^4.4.0", "core-js": "^3.16.0", diff --git a/public/index.html b/public/index.html index 0b295d7..16ced03 100644 --- a/public/index.html +++ b/public/index.html @@ -1,39 +1,89 @@ - - - - - + + + + + 音乐解锁 - - - - - - - + + + + -
-
-
+
+ + diff --git a/scripts/build-wasm.sh b/scripts/build-wasm.sh deleted file mode 100755 index f0d7922..0000000 --- a/scripts/build-wasm.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -cd "$(git rev-parse --show-toplevel)" - -pushd ./src/QmcWasm -bash build-wasm -popd - -pushd ./src/KgmWasm -bash build-wasm -popd diff --git a/src/App.vue b/src/App.vue index c0c7091..ca3430f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,23 +1,23 @@