惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Vulnerabilities – Threatpost
U
Unit 42
F
Fortinet All Blogs
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
F
Full Disclosure
月光博客
月光博客
Engineering at Meta
Engineering at Meta
博客园_首页
The Register - Security
The Register - Security
G
Google Developers Blog
The Cloudflare Blog
博客园 - Franky
K
Kaspersky official blog
A
Arctic Wolf
Scott Helme
Scott Helme
C
Cisco Blogs
Hugging Face - Blog
Hugging Face - Blog
C
Check Point Blog
NISL@THU
NISL@THU
AI
AI
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog
Project Zero
Project Zero
The GitHub Blog
The GitHub Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Vercel News
Vercel News
T
Tor Project blog
P
Privacy International News Feed
D
Docker
I
Intezer
L
LangChain Blog
P
Proofpoint News Feed
Security Latest
Security Latest
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
博客园 - 聂微东
AWS News Blog
AWS News Blog
Martin Fowler
Martin Fowler
P
Privacy & Cybersecurity Law Blog
V
V2EX
Last Week in AI
Last Week in AI
C
Cybersecurity and Infrastructure Security Agency CISA
The Hacker News
The Hacker News
T
Tenable Blog
Blog — PlanetScale
Blog — PlanetScale
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog

Xuan's blog

Handsome 主题添加侧边栏恋爱计时模块 - Xuan's blog 记录我的第一次网恋奔现 春节到了,给typecho博客网站添加两对3D红灯笼 - Xuan's blog ChatLab 详细使用:用AI 分析和对象的微信聊天记录 最新教程:使用UnlockMusic解锁主流音乐平台VIP歌曲的加密保护 Windows 本地安装并使用 OpenClaw(原 clawdbot)教程 Gemini 3 学生认证教程:免费领取Google AI Pro全部福利 CommentAI - Typecho博客AI智能评论回复插件 PC掌玩下载与使用:在手机上畅玩 Steam 游戏
UnlockMusic 本地构建、服务器部署与浏览器扩展制作教程
xuan · 2026-01-29 · via Xuan's blog

AI摘要

Unlock Music项目提供本地构建、服务器部署和浏览器扩展制作的详细教程,包括环境配置、操作步骤、常见问题解决和部署方案选择,旨在帮助用户解锁音乐文件。

此内容根据文章生成,仅用于文章内容的解释与总结

本地构建

前置环境配置

核心依赖

  • Node.js: 运行环境请务必锁定为 v16.x 版本。该项目暂不支持 v17 及更高版本,强行使用会导致编译失败。
  • npm: 推荐直接使用 Node.js v16 自带的包管理工具(npm v8.x),以规避潜在的版本冲突。
警告: 本项目基于 Vue CLI 4 与 Webpack 4 开发,与 Node.js v17+ 存在底层不兼容。若版本不匹配,编译流程将无法正常完成。

WASM 组件(可选)

  • 操作系统:Linux
  • 环境支持:Python 3

在线预览

地址:unlock-music
预览

详细操作步骤

1. 获取源代码

首先把代码拉取到本地:

git clone https://git.unlock-music.dev/um/web.git

或者在项目仓库下载。

2. 确认 Node 版本

在终端输入命令检查当前版本:

node --version

2026-01-28T16:38:33.png

如果环境不符合 v16.x 要求,请按以下方式切换:

通过 nvm 管理(推荐)

# 安装 Node.js v16
nvm install 16
# 切换到 v16 环境
nvm use 16

(以上命令在 Windows/Linux/macOS 上均适用,nvm 的具体安装请参照对应平台的指南。)

手动安装:若未安装 nvm,请前往 Node.js 历史版本库 获取安装包。

3. 清理旧依赖(建议执行)

如果你之前用其他 Node 版本运行过该项目,为稳妥起见,建议先清理旧的依赖文件:

# Windows PowerShell 环境
Remove-Item -Recurse -Force node_modules
Remove-Item -Force package-lock.json

# Linux/macOS 环境
rm -rf node_modules package-lock.json

4. 安装项目依赖

执行安装命令:

npm install
:请使用 npm install 而非 npm ci,因为在首次构建或切换 Node 版本后,通常需要重新生成 lock 文件。

2026-01-28T16:37:33.png

5. 开始构建

5.1 开发模式(用于调试)
如果你想边修改代码边预览效果,运行:

npm run serve

启动后,在浏览器中访问 http://localhost:8080 即可实时查看。
2026-01-28T16:36:39.png

5.2 生产环境构建(用于部署)
如果你需要将应用部署到服务器,运行:

npm run build

构建完成后,所有生成的文件将位于 dist 目录中,将其上传至服务器即可运行。
2026-01-28T16:41:56.png

6. 制作浏览器插件(可选)

如果你想将其打包为浏览器扩展程序,运行:

npm run make-extension

2026-01-29T06:19:25.png

构建成功后会在 dist 目录生成三个扩展文件:popup.html、popup.js 和 manifest.json
2026-01-29T06:20:56.png


常见报错及解决方法

报错 1: error:0308010C:digital envelope routines::unsupported

  • 原因:典型的 OpenSSL 兼容性问题,通常由 Node.js 版本过高引起。
  • 解决:将 Node.js 降级至 v16.x 即可。

报错 2: parser.state.module.addPresentationalDependency is not a function

  • 原因:全局安装了 Webpack 5,与项目内的 Webpack 4 产生冲突。
  • 解决

    # 1. 移除全局冲突的 webpack
    npm uninstall -g webpack
    # 2. 彻底清理并重装项目依赖
    rm -rf node_modules package-lock.json
    npm install

报错 3: npm 环境警告

  • 如果看到类似 npm warn cli npm v11.x.x does not support Node.js v16.x.x 的提示,通常可以忽略,这仅是版本跨度提示,一般不影响最终构建结果。

目录结构说明

构建完成后,dist 目录结构大致如下:

dist/
├── index.html          # 应用主入口页面
├── loader.js           # 资源预加载脚本
├── css/                # 样式文件目录
├── js/                 # 核心逻辑及 Web Worker 脚本
├── img/                # 图片等静态资源
└── service-worker.js   # 离线应用支持脚本

2026-01-28T16:42:49.png


部署方案选择

方案一:Nginx 静态托管

dist 目录下的所有文件上传至你的 Nginx、Apache 服务器或任意静态托管服务/CDN。
2026-01-28T17:34:41.png

基础 Nginx 配置参考

server {
    listen 80;
    server_name your-domain.com;
    root /path/to/your/dist;
    index index.html;
    
    location / {
        try_files $uri $uri/ /index.html;
    }
}

方案二:Docker 容器化部署

使用项目提供的 Dockerfile 快速构建镜像并运行:

docker build -t unlock-music-web .
docker run -d -p 80:80 unlock-music-web

方案三:安装浏览器扩展

按照以下步骤,将构建好的扩展加载到浏览器中,即可在任意网页上便捷使用。

Chrome / Edge 浏览器安装步骤:

  1. 打开浏览器扩展管理页面
  2. 开启开发者模式

    • 在页面右上角找到并打开开发者模式开关
      2026-01-29T06:38:20.png
  3. 加载扩展

  4. 确认安装成功

    • 扩展列表中会出现“音乐解锁”扩展卡片
    • 确保扩展处于启用状态
      2026-01-29T06:41:27.png

Firefox 浏览器安装步骤:

  1. 打开调试页面

    • 地址栏输入 about:debugging#/runtime/this-firefox
  2. 临时加载附加组件

    • 点击“临时载入附加组件”按钮
    • 选择 dist 目录下的 manifest.json 文件
    • 点击“打开”完成加载

使用扩展:

打开后和网页版的一样

2026-01-29T06:42:11.png

注意:通过开发者模式加载的扩展在浏览器重启后可能需要重新加载。如需长期使用,建议通过官方扩展商店安装正式版本。

方案四:本地离线运行

直接下载并解压已构建好的产物包,在浏览器中打开 index.html 文件即可运行(注:此方式通常仅适用于 legacy 版本)。


安全与使用须知

隐私保护

  1. 纯本地运算:所有解密操作均在您的浏览器内部完成,程序不会将任何音频文件上传至服务器。
  2. 网络请求:仅在需要在线匹配专辑封面或同步元数据时,才会发起极少量的网络请求。
  3. 环境建议:为保障数据传输安全,建议在 HTTPS 协议下访问。同时,HTTPS 环境也能启用 Web Worker 以获得更好的并行处理性能。

效能建议

  • 处理大量文件:如果您需要处理数以万计的音乐文件,建议使用 CLI 命令行版本,效率更高。
  • 浏览器兼容性:推荐使用最新版本的 Chrome、Edge 或 Firefox 浏览器,以获得最佳的性能和兼容性。

赞赏作者

如果觉得我的文章对你有用,请随意赞赏