Compare commits
No commits in common. "master" and "gh-pages" have entirely different histories.
21
LICENSE
@ -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.
|
66
README.md
@ -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
1
css/chunk-vendors.094863c6.css
Normal file
BIN
favicon.ico
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
fonts/element-icons.535877f5.woff
Normal file
BIN
fonts/element-icons.732389de.ttf
Normal file
BIN
img/icons/android-chrome-192x192.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
img/icons/android-chrome-512x512.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
img/icons/apple-touch-icon-152x152.png
Normal file
After Width: | Height: | Size: 7.9 KiB |
BIN
img/icons/favicon-16x16.png
Normal file
After Width: | Height: | Size: 641 B |
BIN
img/icons/favicon-32x32.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
img/icons/msapplication-icon-144x144.png
Normal file
After Width: | Height: | Size: 7.3 KiB |
17
img/icons/safari-pinned-tab.svg
Normal 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
@ -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
@ -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);
|
261
js/0-legacy.75478485.worker.js
Normal file
261
js/0.c9123a50.worker.js
Normal file
1
js/app-legacy.8b3b0c58.js
Normal file
1
js/app.ff02a91c.js
Normal file
282
js/chunk-vendors-legacy.e75bd7b3.js
Normal file
282
js/chunk-vendors.a655fa4c.js
Normal file
25
loader.js
Normal 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;
|
||||
}
|
||||
})();
|
50
precache-manifest.9afa2167110700e32224e67f17027e58.js
Normal 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"
|
||||
}
|
||||
]);
|
38
precache-manifest.f05eec9f35f5865060af12e0fda58906.js
Normal 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
@ -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
1
web-manifest.json
Normal 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":"在任何设备上解锁已购的加密音乐!"}
|