Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
55b2f17ed7 | ||
![]() |
be09790810 | ||
![]() |
df2d409351 | ||
![]() |
a558dac34b | ||
![]() |
44642b1c39 | ||
![]() |
6e66d2da4f | ||
![]() |
e1cf15cf8c | ||
![]() |
1d415cae52 |
@@ -7,8 +7,10 @@ assignees: ''
|
||||
|
||||
---
|
||||
|
||||
- [ ] 我确认已经搜索过Issue不存并确认相同的Issue
|
||||
- [ ] 我认为这是程序导致的问题(如不确认,请先通过Telegram或者Email进行咨询)
|
||||
- 请按照此模板填写,否则可能立即被关闭
|
||||
- [x] 我确认已经搜索过Issue不存并确认相同的Issue
|
||||
- [x] 我认为这是程序导致的问题(如不确认,请先通过Telegram或者Email进行咨询)
|
||||
|
||||
|
||||
**Bug描述**
|
||||
|
||||
@@ -19,13 +21,18 @@ assignees: ''
|
||||
描述复现方法,必要时请提供样本文件
|
||||
|
||||
**程序截图或者Console报错信息**
|
||||
|
||||
如果可以请提供二者之一
|
||||
|
||||
|
||||
**环境信息:**
|
||||
|
||||
- 操作系统和浏览器:
|
||||
- 程序版本:
|
||||
- 获取音乐文件所使用的客户端及其版本信息:
|
||||
|
||||
|
||||
**附加信息**
|
||||
|
||||
其他能够帮助确认问题的信息
|
||||
|
@@ -7,13 +7,20 @@ assignees: ''
|
||||
|
||||
---
|
||||
|
||||
- 请按照此模板填写,否则可能立即被关闭
|
||||
|
||||
**背景和说明**
|
||||
|
||||
简要说明产生此想法的背景和此想法的具体内容
|
||||
|
||||
|
||||
**实现途径**
|
||||
|
||||
- 如果没有设计方案,请简要描述实现思路
|
||||
- 如果你没有任何的实现思路,请通过Telegram进行讨论
|
||||
|
||||
|
||||
**附加信息**
|
||||
|
||||
更多你想要表达的内容
|
||||
|
673
package-lock.json
generated
673
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
12
package.json
12
package.json
@@ -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",
|
||||
|
@@ -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 +
|
||||
|
@@ -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);
|
||||
|
@@ -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
|
||||
|
@@ -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") {
|
||||
|
@@ -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) {
|
||||
|
Reference in New Issue
Block a user