Compare commits

...

No commits in common. "master" and "gh-pages" have entirely different histories.

29 changed files with 1262 additions and 87 deletions

0
.nojekyll Normal file
View File

21
LICENSE
View File

@ -1,21 +0,0 @@
MIT License
Copyright (c) 2019-2021 MengYX
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -1,66 +0,0 @@
# Unlock Music 音乐解锁
**由于DMCA Takedown暂时移除仓库所有代码以及Commits**
- 项目新域名:[unlock-music.dev](https://unlock-music.dev)
- 获取更多信息,欢迎加入 Telegram 群组 [`@unlock_music_chat`][tg_group]
- Unlock Music 项目是以学习和技术研究的初衷创建的,修改、再分发时请遵循 [License][license]
- Unlock Music 的 CLI 版本可以在 [unlock-music/cli][repo_cli] 找到,大批量转换建议使用 CLI 版本。
- [相关的其他项目][related_projects]
![Test Build](https://github.com/unlock-music/unlock-music/workflows/Test%20Build/badge.svg)
![GitHub releases](https://img.shields.io/github/downloads/unlock-music/unlock-music/total)
![Docker Pulls](https://img.shields.io/docker/pulls/ix64/unlock-music)
[license]: https://github.com/unlock-music/unlock-music/blob/master/LICENSE
[repo_cli]: https://github.com/unlock-music/cli
[tg_group]: https://t.me/unlock_music_chat
[related_projects]: https://github.com/unlock-music/unlock-music/wiki/和UnlockMusic相关的项目
## 使用方法
### 安装浏览器扩展
[![Chrome Web Store](https://storage.googleapis.com/chrome-gcs-uploader.appspot.com/image/WlD8wC6g8khYWPJUsQceQkhXSlv1/UV4C4ybeBTsZt43U4xis.png)](https://chrome.google.com/webstore/detail/gldlhhhmienbhlpkfanjpmffdjblmegd)
[<img src="https://developer.microsoft.com/en-us/store/badges/images/Chinese_Simplified_get-it-from-MS.png" height="60" alt="Microsoft Edge Addons"/>](https://microsoftedge.microsoft.com/addons/detail/ggafoipegcmodfhakdkalpdpcdkiljmd)
[![Firefox Browser Addons](https://ffp4g1ylyit3jdyti1hqcvtb-wpengine.netdna-ssl.com/addons/files/2015/11/get-the-addon.png)](https://addons.mozilla.org/zh-CN/firefox/addon/unlock-music/)
### 使用已构建版本
- 从[GitHub Release](https://github.com/unlock-music/unlock-music/releases/latest)下载已构建的版本
- 本地使用请下载`legacy版本``modern版本`只能通过 **http(s)协议** 访问)
- 解压缩后即可部署或本地使用(**请勿直接运行源代码**
### 使用 Docker 镜像
```shell
docker run --name unlock-music -d -p 8080:80 ix64/unlock-music
```
### 自行构建
- 环境要求
- nodejs (v16.x)
- npm
1. 获取项目源代码后安装相关依赖:
```sh
npm ci
```
2. 然后进行构建。编译后的文件保存到 dist 目录下:
```sh
npm run build
```
- 如果是用于开发,可以执行 `npm run serve`
3. 如需构建浏览器扩展build 完成后还需要执行:
```sh
npm run make-extension
```

1
css/app.30b45c25.css Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

BIN
favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

BIN
img/icons/favicon-16x16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 641 B

BIN
img/icons/favicon-32x32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@ -0,0 +1,17 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" t="1566718842150" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="1244" width="16" height="16">
<defs>
<style type="text/css"></style>
</defs>
<path d="M512 512m-512 0a512 512 0 1 0 1024 0 512 512 0 1 0-1024 0Z" fill="#2674FD" p-id="1245"></path>
<path d="M512 512m-425.57245 0a425.57245 425.57245 0 1 0 851.1449 0 425.57245 425.57245 0 1 0-851.1449 0Z"
fill="#FFFFFF" p-id="1246"></path>
<path d="M512 512m-214.271074 0a214.271074 214.271074 0 1 0 428.542148 0 214.271074 214.271074 0 1 0-428.542148 0Z"
fill="#FFE41F" p-id="1247"></path>
<path d="M635.968268 408.15377l-89.224127-8.722657a15.980441 15.980441 0 0 0-16.859365 11.479283l-1.784482 6.28564a22.372617 22.372617 0 0 0-2.237262 5.193643l-26.088069 91.754363a67.410825 67.410825 0 1 0 12.984108 61.498063c0.332926-1.185216 0.639218-2.370432 0.905558-3.555648h0.093219l33.106147-116.457461 48.527271-1.891019a48.84688 48.84688 0 0 0 37.767108-20.308477l8.735974-12.158452a8.336463 8.336463 0 0 0-5.92608-13.117278z"
fill="#FFFFFF" p-id="1248"></path>
<path d="M214.231123 503.383879c4.527792-160.563477 136.113403-289.339194 297.768877-289.339194s293.241085 128.775717 297.768877 289.339194h214.151221C1019.339038 224.61841 791.910734 0 512 0S4.647645 224.61841 0.079902 503.383879z"
fill="#2674FD" p-id="1249"></path>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

1
index.html Normal file
View File

@ -0,0 +1 @@
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta content="webkit" name="renderer"><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"><meta content="width=device-width,initial-scale=1" name="viewport"><title>音乐解锁</title><meta content="音乐,解锁,ncm,qmc,mgg,mflac,qq音乐,网易云音乐,加密" name="keywords"><meta content="音乐解锁 - 在任何设备上解锁已购的加密音乐!" name="description"><script src="./ixarea-stats.js"></script><style>#loader{position:absolute;left:50%;top:50%;z-index:1010;margin:-75px 0 0 -75px;border:16px solid #f3f3f3;border-radius:50%;border-top:16px solid #1db1ff;width:120px;height:120px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}#loader-mask{text-align:center;position:absolute;width:100%;height:100%;bottom:0;left:0;right:0;top:0;z-index:1009;background-color:rgba(242,246,252,.88)}@media (prefers-color-scheme:dark){#loader-mask{color:#fff;background-color:rgba(0,0,0,.85)}#loader-mask a{color:#ddd}#loader-mask a:hover{color:#1db1ff}}#loader-source{font-size:1.5rem}#loader-tips-timeout{font-size:1.2rem}</style><link href="css/app.30b45c25.css" rel="preload" as="style"><link href="css/chunk-vendors.094863c6.css" rel="preload" as="style"><link href="js/app.ff02a91c.js" rel="modulepreload" as="script"><link href="js/chunk-vendors.a655fa4c.js" rel="modulepreload" as="script"><link href="css/chunk-vendors.094863c6.css" rel="stylesheet"><link href="css/app.30b45c25.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="./img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="./img/icons/favicon-16x16.png"><link rel="manifest" href="web-manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="音乐解锁"><link rel="apple-touch-icon" href="./img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="./img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="./img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><div id="loader-mask"><div id="loader"></div><noscript><h3 id="loader-js">请启用JavaScript</h3><img alt="" src="https://stats.ixarea.com/ixarea-stats/report?rec=1&action_name=音乐解锁-NoJS&idsite=2" style="border:0"></noscript><h3 id="loader-source">请勿直接运行源代码!</h3><div id="loader-tips-outdated" hidden><h2>您可能在使用不受支持的<span style="color:#f00;">过时</span>浏览器,这可能导致此应用无法正常工作。</h2><h3>如果您使用双核浏览器,您可以尝试切换到 <span style="color:#f00;">“极速模式”</span> 解决此问题。</h3><h3>或者,您可以尝试更换下方的几个浏览器之一。</h3></div><h3 id="loader-tips-timeout" hidden>音乐解锁采用了一些新特性!建议使用 <a href="https://www.microsoft.com/zh-cn/edge" target="_blank">Microsoft Edge Chromium</a> <a href="https://www.google.cn/chrome/" target="_blank">Google Chrome</a> <a href="https://www.firefox.com.cn/" target="_blank">Mozilla Firefox</a> | <a href="https://github.com/ix64/unlock-music/wiki/使用提示" target="_blank">使用提示</a></h3></div><div id="app"></div><script src="./loader.js"></script><script type="module" src="js/chunk-vendors.a655fa4c.js"></script><script type="module" src="js/app.ff02a91c.js"></script><script>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script src="js/chunk-vendors-legacy.e75bd7b3.js" nomodule></script><script src="js/app-legacy.8b3b0c58.js" nomodule></script></body></html>

10
ixarea-stats.js Normal file
View File

@ -0,0 +1,10 @@
var _paq = window._paq || [];
_paq.push(["setRequestMethod", "POST"], ["trackPageView"], ["enableLinkTracking"],
["setSiteId", "2"], ["setTrackerUrl", "https://stats.ixarea.com/ixarea-stats/report"]);
var tag = document.createElement('script');
tag.type = 'text/javascript';
tag.async = true;
tag.src = 'https://stats.ixarea.com/ixarea-stats.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(tag, s);

File diff suppressed because one or more lines are too long

261
js/0.c9123a50.worker.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
js/app.ff02a91c.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

25
loader.js Normal file
View File

@ -0,0 +1,25 @@
(function () {
setTimeout(function () {
var ele = document.getElementById("loader-tips-timeout");
if (ele != null) {
ele.hidden = false;
}
}, 2000);
var ua = navigator && navigator.userAgent;
var detected = (function () {
var m;
if (!ua) return true;
if (/MSIE |Trident\//.exec(ua)) return true; // no IE
m = /Edge\/([\d.]+)/.exec(ua); // Edge >= 17
if (m && Number(m[1]) < 17) return true;
m = /Chrome\/([\d.]+)/.exec(ua); // Chrome >= 58
if (m && Number(m[1]) < 58) return true;
m = /Firefox\/([\d.]+)/.exec(ua); // Firefox >= 45
return m && Number(m[1]) < 45;
})();
if (detected) {
document.getElementById('loader-tips-outdated').hidden = false;
document.getElementById("loader-tips-timeout").hidden = false;
}
})();

View File

@ -0,0 +1,50 @@
self.__precacheManifest = (self.__precacheManifest || []).concat([
{
"revision": "e59892f6c2f0ad6ebd2d",
"url": "css/app.30b45c25.css"
},
{
"revision": "75769016c72999e604b0",
"url": "css/chunk-vendors.094863c6.css"
},
{
"revision": "535877f50039c0cb49a6196a5b7517cd",
"url": "fonts/element-icons.535877f5.woff"
},
{
"revision": "732389ded34cb9c52dd88271f1345af9",
"url": "fonts/element-icons.732389de.ttf"
},
{
"revision": "640a6f9fe5a829b87e11c7ded53ff504",
"url": "index.html"
},
{
"revision": "2d12777f2703612307ff4a12f1b21899",
"url": "ixarea-stats.js"
},
{
"revision": "da19fcc36bad3622ecef4518cbc32f08",
"url": "js/0.c9123a50.worker.js"
},
{
"revision": "e59892f6c2f0ad6ebd2d",
"url": "js/app.ff02a91c.js"
},
{
"revision": "75769016c72999e604b0",
"url": "js/chunk-vendors.a655fa4c.js"
},
{
"revision": "02995355b96ddf2519cd49f8aa73bb46",
"url": "loader.js"
},
{
"revision": "523b1a2eae8cb533fa6bd73831308f09",
"url": "static/kgm.mask"
},
{
"revision": "cd1d395410107c66b4534ec93f0073d3",
"url": "web-manifest.json"
}
]);

View File

@ -0,0 +1,38 @@
self.__precacheManifest = (self.__precacheManifest || []).concat([
{
"revision": "193b5f903c67da55f45d",
"url": "css/app.30b45c25.css"
},
{
"revision": "8d57f12e8cc04b462e3f",
"url": "css/chunk-vendors.094863c6.css"
},
{
"revision": "535877f50039c0cb49a6196a5b7517cd",
"url": "fonts/element-icons.535877f5.woff"
},
{
"revision": "732389ded34cb9c52dd88271f1345af9",
"url": "fonts/element-icons.732389de.ttf"
},
{
"revision": "50023a090d7749f0352d744c59b52dcc",
"url": "index.html"
},
{
"revision": "648c12bb1251505519f5d09e2cdae861",
"url": "js/0-legacy.75478485.worker.js"
},
{
"revision": "193b5f903c67da55f45d",
"url": "js/app-legacy.8b3b0c58.js"
},
{
"revision": "8d57f12e8cc04b462e3f",
"url": "js/chunk-vendors-legacy.e75bd7b3.js"
},
{
"revision": "cd1d395410107c66b4534ec93f0073d3",
"url": "web-manifest.json"
}
]);

30
service-worker.js Normal file
View File

@ -0,0 +1,30 @@
/**
* Welcome to your Workbox-powered service worker!
*
* You'll need to register this file in your web app and you should
* disable HTTP caching for this file too.
* See https://goo.gl/nhQhGp
*
* The rest of the code is auto-generated. Please don't update this file
* directly; instead, make changes to your Workbox build configuration
* and re-run your build process.
* See https://goo.gl/2aRDsh
*/
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
importScripts(
"precache-manifest.9afa2167110700e32224e67f17027e58.js"
);
workbox.core.setCacheNameDetails({prefix: "unlock-music"});
workbox.core.skipWaiting();
/**
* The workboxSW.precacheAndRoute() method efficiently caches and responds to
* requests for URLs in the manifest.
* See https://goo.gl/S9QRab
*/
self.__precacheManifest = [].concat(self.__precacheManifest || []);
workbox.precaching.precacheAndRoute(self.__precacheManifest, {});

BIN
static/kgm.mask Normal file

Binary file not shown.

1
web-manifest.json Normal file
View File

@ -0,0 +1 @@
{"name":"音乐解锁","short_name":"音乐解锁","theme_color":"#4DBA87","icons":[{"src":"./img/icons/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"./img/icons/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"start_url":"./index.html","display":"standalone","background_color":"#000000","description":"在任何设备上解锁已购的加密音乐!"}