8 Commits

Author SHA1 Message Date
MengYX
55b2f17ed7 Bump Version 2020-09-23 16:51:17 +08:00
MengYX
be09790810 Merge pull request #97 from qq1010903229/patch-1
Merge pull request #97 增加对QQ音乐微云网盘格式的支持
2020-09-23 16:45:54 +08:00
MengYX
df2d409351 Fix Kgm Decrypt Bug 2020-09-23 14:15:47 +08:00
MengYX
a558dac34b Update Deps 2020-09-23 12:55:14 +08:00
MengYX
44642b1c39 Fix kgm bug 2020-09-23 12:54:54 +08:00
qq1010903229
6e66d2da4f Update qmc.js 2020-09-19 12:03:02 +08:00
qq1010903229
e1cf15cf8c Update common.js 2020-09-19 12:00:58 +08:00
MengYX
1d415cae52 Add Comment for Issue Template 2020-09-04 19:12:58 +08:00
9 changed files with 545 additions and 195 deletions

View File

@@ -7,8 +7,10 @@ assignees: ''
---
- [ ] 我确认已经搜索过Issue不存并确认相同的Issue
- [ ] 我认为这是程序导致的问题如不确认请先通过Telegram或者Email进行咨询
- 请按照此模板填写,否则可能立即被关闭
- [x] 我确认已经搜索过Issue不存并确认相同的Issue
- [x] 我认为这是程序导致的问题如不确认请先通过Telegram或者Email进行咨询
**Bug描述**
@@ -19,13 +21,18 @@ assignees: ''
描述复现方法,必要时请提供样本文件
**程序截图或者Console报错信息**
如果可以请提供二者之一
**环境信息:**
- 操作系统和浏览器:
- 程序版本:
- 获取音乐文件所使用的客户端及其版本信息:
**附加信息**
其他能够帮助确认问题的信息

View File

@@ -7,13 +7,20 @@ assignees: ''
---
- 请按照此模板填写,否则可能立即被关闭
**背景和说明**
简要说明产生此想法的背景和此想法的具体内容
**实现途径**
- 如果没有设计方案,请简要描述实现思路
- 如果你没有任何的实现思路请通过Telegram进行讨论
**附加信息**
更多你想要表达的内容

673
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
{
"name": "unlock-music",
"version": "1.6.3",
"updateInfo": ".ncm和.kgm解锁的一些优化",
"version": "1.6.4",
"updateInfo": "支持QQ音乐微云网盘格式.kgm解锁的一些优化",
"license": "MIT",
"description": "Unlock encrypted music file in browser.",
"repository": {
@@ -23,14 +23,14 @@
"iconv-lite": "^0.5.1",
"jimp": "^0.14.0",
"metaflac-js": "^1.0.5",
"music-metadata-browser": "^2.1.2",
"music-metadata-browser": "^2.1.4",
"register-service-worker": "^1.7.1",
"vue": "^2.6.12"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^4.5.4",
"@vue/cli-plugin-pwa": "^4.5.4",
"@vue/cli-service": "^4.5.4",
"@vue/cli-plugin-babel": "^4.5.6",
"@vue/cli-plugin-pwa": "^4.5.6",
"@vue/cli-service": "^4.5.6",
"babel-plugin-component": "^1.1.1",
"vue-cli-plugin-element": "^1.0.1",
"vue-template-compiler": "^2.6.12",

View File

@@ -100,7 +100,7 @@
} catch (e) {
}
if ((!!updateInfo && process.env.NODE_ENV === 'production') && (!!updateInfo.HttpsFound ||
(!!updateInfo.Found && document.location.protocol !== "https:"))) {
(!!updateInfo.Found && window.location.protocol !== "https:"))) {
this.$notify.warning({
title: '发现更新',
message: '发现新版本 v' + updateInfo.Version +

View File

@@ -47,12 +47,12 @@
this.idle_workers.push(0);
// delay to optimize for first loading
setTimeout(() => {
for (let i = 1; i < this.thread_num; i++) {
// noinspection JSValidateTypes,JSUnresolvedVariable
this.workers.push(worker().CommonDecrypt);
this.idle_workers.push(i);
}
}, 1000);
for (let i = 1; i < this.thread_num; i++) {
// noinspection JSValidateTypes,JSUnresolvedVariable
this.workers.push(worker().CommonDecrypt);
this.idle_workers.push(i);
}
}, 5000);
} else {
const dec = require('../decrypt/common');
this.workers.push(dec.CommonDecrypt);

View File

@@ -41,6 +41,11 @@ export async function CommonDecrypt(file) {
case "bkcflac"://Moo Music Flac
case "mflac"://QQ Music Desktop Flac
case "mgg": //QQ Music Desktop Ogg
case "666c6163"://QQ Music Weiyun Flac
case "6d7033"://QQ Music Weiyun Mp3
case "6f6767"://QQ Music Weiyun Ogg
case "6d3461"://QQ Music Weiyun M4a
case "776176"://QQ Music Weiyun Wav
rt_data = await QmcDecrypt.Decrypt(file.raw, raw_filename, raw_ext);
break;
case "tm2":// QQ Music IOS M4a

View File

@@ -12,11 +12,14 @@ const VprMaskDiff = [0x25, 0xDF, 0xE8, 0xA6, 0x75, 0x1E, 0x75, 0x0E,
0x00]
export async function Decrypt(file, raw_filename, raw_ext) {
if (document.location.protocol === "file:") {
return {
status: false,
message: "请使用<a target='_blank' href='https://github.com/ix64/unlock-music/wiki/其他音乐格式工具'>CLI版本</a>进行解锁"
try {
if (window.location.protocol === "file:") {
return {
status: false,
message: "请使用<a target='_blank' href='https://github.com/ix64/unlock-music/wiki/其他音乐格式工具'>CLI版本</a>进行解锁"
}
}
} catch {
}
const oriData = new Uint8Array(await GetArrayBuffer(file));
if (raw_ext === "vpr") {

View File

@@ -29,7 +29,12 @@ const HandlerMap = {
"qmcflac": {handler: QmcMaskGetDefault, ext: "flac", detect: false},
"bkcmp3": {handler: QmcMaskGetDefault, ext: "mp3", detect: false},
"bkcflac": {handler: QmcMaskGetDefault, ext: "flac", detect: false},
"tkm": {handler: QmcMaskGetDefault, ext: "m4a", detect: false}
"tkm": {handler: QmcMaskGetDefault, ext: "m4a", detect: false},
"666c6163": {handler: QmcMaskGetDefault, ext: "flac", detect: false},
"6d7033": {handler: QmcMaskGetDefault, ext: "mp3", detect: false},
"6f6767": {handler: QmcMaskGetDefault, ext: "ogg", detect: false},
"6d3461": {handler: QmcMaskGetDefault, ext: "m4a", detect: false},
"776176": {handler: QmcMaskGetDefault, ext: "wav", detect: false}
};
export async function Decrypt(file, raw_filename, raw_ext) {