forked from um/web
#11 Add Moo Music Format
This commit is contained in:
parent
4e499b2deb
commit
60445b7ed9
@ -9,7 +9,8 @@
|
||||
# Features
|
||||
- [x] Unlock in browser 在浏览器中解锁
|
||||
- [x] QQMusic Format QQ音乐格式 (.qmc0/.qmc3/.qmcflac/.qmcogg)
|
||||
- [x] QQMusic Tm Format QQ音乐 (.tm0/.tm2/.tm3/.tm6)
|
||||
- [x] MooMusic Format Moo音乐格式 ([.bkcmp3/.bkcflac](https://github.com/ix64/unlock-music/issues/11))
|
||||
- [x] QQMusic Tm Format QQ音乐Tm格式 (.tm0/.tm2/.tm3/.tm6)
|
||||
- [ ] QQMusic New Format QQ音乐新格式
|
||||
- [x] .mflac (Partial 部分支持)
|
||||
- [ ] .mgg
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "unlock-music",
|
||||
"version": "1.1.0",
|
||||
"version": "1.1.1",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
|
11
src/App.vue
11
src/App.vue
@ -67,7 +67,8 @@
|
||||
<el-footer id="app-footer">
|
||||
<el-row>
|
||||
音乐解锁:移除已购音乐的加密保护。
|
||||
目前支持网易云音乐(ncm)和QQ音乐(qmc0, qmc3, qmcflac, qmcogg, mflac)。
|
||||
目前支持网易云音乐(ncm)、QQ音乐(qmc0, qmc3, qmcflac, qmcogg, mflac)以及
|
||||
<a href="https://github.com/ix64/unlock-music/blob/master/README.md" target="_blank">其他格式</a>。
|
||||
<a href="https://github.com/ix64/unlock-music/wiki/使用提示" target="_blank">使用提示</a>
|
||||
</el-row>
|
||||
<el-row>
|
||||
@ -108,7 +109,7 @@
|
||||
this.$notify.info({
|
||||
title: '离线使用',
|
||||
message: '我们使用PWA技术,无网络也能使用<br/>' +
|
||||
'最近更新:支持tm0/2/3/6<br/>' +
|
||||
'最近更新:支持bkcmp3/bkcflac<br/>' +
|
||||
'点击查看 <a target="_blank" href="https://github.com/ix64/unlock-music/wiki/使用提示">使用提示</a>',
|
||||
dangerouslyUseHTMLString: true,
|
||||
duration: 10000,
|
||||
@ -118,7 +119,7 @@
|
||||
handleFile(file) {
|
||||
|
||||
(async () => {
|
||||
let data =await dec.CommonDecrypt(file);
|
||||
let data = await dec.CommonDecrypt(file);
|
||||
if (data.status) {
|
||||
this.tableData.push(data);
|
||||
this.$notify.success({
|
||||
@ -193,8 +194,8 @@
|
||||
}
|
||||
|
||||
#app-footer a {
|
||||
padding-left: 0.5em;
|
||||
padding-right: 0.5em;
|
||||
padding-left: 0.2em;
|
||||
padding-right: 0.2em;
|
||||
}
|
||||
|
||||
#app-footer {
|
||||
|
@ -27,6 +27,8 @@ async function CommonDecrypt(file) {
|
||||
case "qmc0"://QQ Music Android Mp3
|
||||
case "qmcflac"://QQ Music Android Flac
|
||||
case "qmcogg"://QQ Music Android Ogg
|
||||
case "bkcmp3"://Moo Music Mp3
|
||||
case "bkcflac"://Moo Music Flac
|
||||
rt_data = await QmcDecrypt.Decrypt(file.raw, raw_filename, raw_ext);
|
||||
break;
|
||||
case "mflac"://QQ Music Desktop Flac
|
||||
|
@ -11,24 +11,21 @@ const SEED_MAP = [
|
||||
[0x0e, 0x74, 0xbb, 0x90, 0xbc, 0x3f, 0x92],
|
||||
[0x00, 0x09, 0x5b, 0x9f, 0x62, 0x66, 0xa1]];
|
||||
|
||||
const OriginalExtMap = {
|
||||
"qmc0": "mp3",
|
||||
"qmc3": "mp3",
|
||||
"qmcogg": "ogg",
|
||||
"qmcflac": "flac",
|
||||
"bkcmp3": "mp3",
|
||||
"bkcflac": "flac"
|
||||
};
|
||||
|
||||
async function Decrypt(file, raw_filename, raw_ext) {
|
||||
// 获取扩展名
|
||||
let new_ext;
|
||||
switch (raw_ext) {
|
||||
case "qmc0":
|
||||
case "qmc3":
|
||||
new_ext = "mp3";
|
||||
break;
|
||||
case "qmcogg":
|
||||
new_ext = "ogg";
|
||||
break;
|
||||
case "qmcflac":
|
||||
new_ext = "flac";
|
||||
break;
|
||||
default:
|
||||
return {status: false, message: "File type is incorrect!"}
|
||||
if (!(raw_ext in OriginalExtMap)) {
|
||||
return {status: false, message: "File type is incorrect!"}
|
||||
}
|
||||
let new_ext = OriginalExtMap[raw_ext]
|
||||
const mime = util.AudioMimeType[new_ext];
|
||||
// 读取文件
|
||||
const fileBuffer = await util.GetArrayBuffer(file);
|
||||
|
Loading…
Reference in New Issue
Block a user