Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
66e2b96bad | ||
![]() |
79c0c85ab3 | ||
![]() |
ad47a713ad | ||
![]() |
6ef0850c40 | ||
![]() |
9af2ba5e62 |
@@ -34,6 +34,7 @@
|
|||||||
# 使用方法
|
# 使用方法
|
||||||
## 使用已构建版本
|
## 使用已构建版本
|
||||||
- 从[GitHub Release](https://github.com/ix64/unlock-music/releases/latest)下载已构建的版本
|
- 从[GitHub Release](https://github.com/ix64/unlock-music/releases/latest)下载已构建的版本
|
||||||
|
- 本地使用请下载`legacy版本`(`modern版本`只能通过**http/https协议**访问)
|
||||||
- 解压缩后即可部署或本地使用(**请勿直接运行源代码**)
|
- 解压缩后即可部署或本地使用(**请勿直接运行源代码**)
|
||||||
|
|
||||||
## 自行构建
|
## 自行构建
|
||||||
|
2125
package-lock.json
generated
2125
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
16
package.json
16
package.json
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "unlock-music",
|
"name": "unlock-music",
|
||||||
"version": "1.6.2",
|
"version": "1.6.3",
|
||||||
"updateInfo": ".ncm和.xm解锁的一些修复",
|
"updateInfo": ".ncm和.kgm解锁的一些优化",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"description": "Unlock encrypted music file in browser.",
|
"description": "Unlock encrypted music file in browser.",
|
||||||
"repository": {
|
"repository": {
|
||||||
@@ -23,17 +23,17 @@
|
|||||||
"iconv-lite": "^0.5.1",
|
"iconv-lite": "^0.5.1",
|
||||||
"jimp": "^0.14.0",
|
"jimp": "^0.14.0",
|
||||||
"metaflac-js": "^1.0.5",
|
"metaflac-js": "^1.0.5",
|
||||||
"music-metadata-browser": "^2.0.5",
|
"music-metadata-browser": "^2.1.2",
|
||||||
"register-service-worker": "^1.7.1",
|
"register-service-worker": "^1.7.1",
|
||||||
"vue": "^2.6.11"
|
"vue": "^2.6.12"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vue/cli-plugin-babel": "^4.4.6",
|
"@vue/cli-plugin-babel": "^4.5.4",
|
||||||
"@vue/cli-plugin-pwa": "^4.4.6",
|
"@vue/cli-plugin-pwa": "^4.5.4",
|
||||||
"@vue/cli-service": "^4.4.6",
|
"@vue/cli-service": "^4.5.4",
|
||||||
"babel-plugin-component": "^1.1.1",
|
"babel-plugin-component": "^1.1.1",
|
||||||
"vue-cli-plugin-element": "^1.0.1",
|
"vue-cli-plugin-element": "^1.0.1",
|
||||||
"vue-template-compiler": "^2.6.11",
|
"vue-template-compiler": "^2.6.12",
|
||||||
"workerize-loader": "^1.3.0"
|
"workerize-loader": "^1.3.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
20
src/App.vue
20
src/App.vue
@@ -100,16 +100,16 @@
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
}
|
}
|
||||||
if ((!!updateInfo && process.env.NODE_ENV === 'production') && (!!updateInfo.HttpsFound ||
|
if ((!!updateInfo && process.env.NODE_ENV === 'production') && (!!updateInfo.HttpsFound ||
|
||||||
(!!updateInfo.Found && window.location.protocol !== "https:"))) {
|
(!!updateInfo.Found && document.location.protocol !== "https:"))) {
|
||||||
this.$notify.warning({
|
this.$notify.warning({
|
||||||
title: '发现更新',
|
title: '发现更新',
|
||||||
message: '发现新版本 v' + updateInfo.Version +
|
message: '发现新版本 v' + updateInfo.Version +
|
||||||
'<br/>更新详情:' + updateInfo.Detail +
|
'<br/>更新详情:' + updateInfo.Detail +
|
||||||
'<br/><a target="_blank" href="' + updateInfo.URL + '">获取更新</a>',
|
'<br/><a target="_blank" href="' + updateInfo.URL + '">获取更新</a>',
|
||||||
dangerouslyUseHTMLString: true,
|
dangerouslyUseHTMLString: true,
|
||||||
duration: 15000,
|
duration: 15000,
|
||||||
position: 'top-left'
|
position: 'top-left'
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
this.$notify.info({
|
this.$notify.info({
|
||||||
title: '离线使用',
|
title: '离线使用',
|
||||||
|
@@ -10,9 +10,14 @@ const KgmHeader = [
|
|||||||
const VprMaskDiff = [0x25, 0xDF, 0xE8, 0xA6, 0x75, 0x1E, 0x75, 0x0E,
|
const VprMaskDiff = [0x25, 0xDF, 0xE8, 0xA6, 0x75, 0x1E, 0x75, 0x0E,
|
||||||
0x2F, 0x80, 0xF3, 0x2D, 0xB8, 0xB6, 0xE3, 0x11,
|
0x2F, 0x80, 0xF3, 0x2D, 0xB8, 0xB6, 0xE3, 0x11,
|
||||||
0x00]
|
0x00]
|
||||||
const PreDefinedKey = "MoOtOiTvINGwd2E6n0E1i7L5t2IoOoNk"
|
|
||||||
|
|
||||||
export async function Decrypt(file, raw_filename, raw_ext) {
|
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>进行解锁"
|
||||||
|
}
|
||||||
|
}
|
||||||
const oriData = new Uint8Array(await GetArrayBuffer(file));
|
const oriData = new Uint8Array(await GetArrayBuffer(file));
|
||||||
if (raw_ext === "vpr") {
|
if (raw_ext === "vpr") {
|
||||||
if (!IsBytesEqual(VprHeader, oriData.slice(0, 0x10)))
|
if (!IsBytesEqual(VprHeader, oriData.slice(0, 0x10)))
|
||||||
|
@@ -164,7 +164,9 @@ function getMetaData(dataView, fileBuffer, offset) {
|
|||||||
if (plainText.slice(0, labelIndex) === "dj") {
|
if (plainText.slice(0, labelIndex) === "dj") {
|
||||||
result = result.mainMusic;
|
result = result.mainMusic;
|
||||||
}
|
}
|
||||||
if (!!result.albumPic) result.albumPic = result.albumPic.replace("http://", "https://");
|
if (!!result.albumPic && result.albumPic !== "")
|
||||||
|
result.albumPic = result.albumPic.replace("http://", "https://") + "?param=500y500";
|
||||||
|
|
||||||
return {data: result, offset: offset};
|
return {data: result, offset: offset};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user