<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>https://dhjcomical.github.io/</id>
  <title type="text">DHJComical</title>
  <subtitle type="text">Site</subtitle>
  <updated>2025-12-20T00:00:00.000Z</updated>
  <author><name>DHJComical</name></author>
  <link rel="alternate" href="https://dhjcomical.github.io/"/>
  <link rel="self" href="https://dhjcomical.github.io/atom.xml"/>
  <generator uri="https://github.com/CuteLeaf/Firefly">Firefly v6.16.8</generator>
    <entry>
      <id>https://dhjcomical.github.io/posts/unlock-music/</id>
      <title type="text">Unlock Music - 浏览器端的音乐加密格式解锁工具</title>
      <published>2025-12-20T00:00:00.000Z</published>
      <updated>2025-12-20T00:00:00.000Z</updated>
      <author><name>DHJComical</name></author>
      <link rel="alternate" href="https://dhjcomical.github.io/posts/unlock-music/"/>
      <summary type="text">基于 React 重构的音乐解锁工具，支持 QMC、NCM、KWM 等主流加密格式。纯前端解密，保护隐私，无需上传文件。</summary>
      <content type="html"><![CDATA[<a href="https://github.com/DHJComical/um-react-mirror" target="_blank"><div><div><div><div></div><div>DHJComical</div></div><div>/</div><div>um-react-mirror</div></div><div></div></div><div>Unlock Music in React (um-react)</div><div><div>—</div><div>—</div><div>MIT</div><span>TypeScript</span></div></a>
<section><h2>项目介绍<a href="#项目介绍"><span>#</span></a></h2><p><strong>Unlock Music (React)</strong> 是一个在浏览器中运行的加密音乐文件解锁工具。</p><p>很多时候，我们在各大音乐平台下载的音乐文件是加密格式（如 <code>.ncm</code>, <code>.qmc</code>, <code>.mflac</code> 等），导致无法在其他播放器或设备上播放。这个工具的初衷就是为了方便用户将自己已购的音乐转换为通用的 MP3 或 FLAC 格式。</p><p>本项目是原 <a href="https://git.um-react.app/um/web" target="_blank">Unlock Music (Vue)</a> 项目的 <strong>React 重构版本</strong>，使用了更现代的技术栈（React + Vite + Rust/Wasm），性能更强，体验更好。</p><div><div><div></div><div>Tip</div></div><div><p>本站部署的是该项目的镜像版本，你可以直接访问我的部署地址使用，也可以查看源码自行部署。（GitHub Pages请使用gh-action分支且在Settings里将发布来源设置为Actions）</p></div></div></section>
<section><h2>核心特性<a href="#核心特性"><span>#</span></a></h2><ul>
<li><strong>🛡️ 隐私安全</strong>：所有解密过程都在浏览器本地（Web Worker）完成，<strong>不会上传任何文件</strong>到服务器，确保你的数据安全。</li>
<li><strong>🚀 性能强大</strong>：引入了 Rust 编写的解密库 (<code>@unlock-music/crypto</code>)，配合 WebAssembly 技术，解密速度极快。</li>
<li><strong>📱 离线可用</strong>：支持 PWA（渐进式 Web 应用），安装后即使没有网络也能使用。</li>
<li><strong>📂 批量处理</strong>：支持拖拽上传，可以一次性解锁大量文件。</li>
</ul></section>
<section><h2>支持的格式<a href="#支持的格式"><span>#</span></a></h2><p>目前支持绝大多数主流平台的加密格式：</p><ul>
<li><strong>QQ 音乐</strong>:
<ul>
<li>QMCv1 (<code>.qmc3</code>, <code>.qmcflac</code>)</li>
<li>QMCv2 PC/Android/iOS 端 (<code>.mflac</code>, <code>.mgg</code>, <code>.mflac0</code> 等)</li>
</ul>
</li>
<li><strong>网易云音乐</strong>: <code>.ncm</code></li>
<li><strong>酷我音乐</strong>: <code>.kwm</code>, <code>.mflac</code></li>
<li><strong>酷狗音乐</strong>: <code>.kgm</code>, <code>.vpr</code>, <code>.kgg</code></li>
<li><strong>虾米音乐</strong>: <code>.xm</code></li>
<li><strong>其他</strong>: 喜马拉雅 (<code>.x2m</code>), 咪咕 (<code>.mg3d</code>), 蜻蜓FM (<code>.qta</code>) 等</li>
</ul><div><div><div></div><div>Warning</div></div><div><p>部分较新的加密格式（如新版 QQ 音乐、酷我、酷狗的高音质文件）需要配合 <strong>密钥数据库</strong> 使用。你需要自行提取设备密钥并导入到设置中才能解锁。</p></div></div></section>
<section><h2>如何使用<a href="#如何使用"><span>#</span></a></h2><ol>
<li>访问 <a href="https://dhjcomical.github.io/um-react-mirror/" target="_blank"><strong>在线解锁工具</strong></a>（也就是本站部署的版本）。</li>
<li>将你的加密音乐文件<strong>拖拽</strong>到网页中间的区域。</li>
<li>等待解密完成。</li>
<li>点击下载转换后的文件。</li>
</ol></section>
<section><h2>技术细节<a href="#技术细节"><span>#</span></a></h2><p>如果你对技术感兴趣，这个项目也是一个很好的 React 学习案例：</p><ul>
<li><strong>架构</strong>：主线程负责 UI 渲染，<strong>Web Worker</strong> 负责繁重的解密计算，避免页面卡顿。</li>
<li><strong>数据传输</strong>：主线程生成 Blob URL，通过 <code>postMessage</code> 传递给 Worker，Worker 再通过 <code>fetch</code> API 获取数据。</li>
<li><strong>部署</strong>：本项目无法直接运行在子目录下，需要配置 <code>base</code> 路径和 <code>HashRouter</code>（这也是我之前折腾部署遇到的主要坑，现已修复）。</li>
</ul></section>
<section><h2>相关链接<a href="#相关链接"><span>#</span></a></h2><ul>
<li><strong>官方仓库</strong>: <a href="https://git.um-react.app/um/um-react" target="_blank">https://git.um-react.app/um/um-react</a></li>
<li><strong>Telegram 群组</strong>: <a href="https://t.me/unlock_music_chat" target="_blank"><code>@unlock_music_chat</code></a></li>
<li><strong>CLI 版本</strong>: 如果你有成千上万个文件需要处理，建议使用 <a href="https://git.um-react.app/um/cli" target="_blank">CLI 版本</a>。</li>
</ul><hr /><blockquote><p><strong>免责声明</strong>：本项目仅供技术研究和学习使用。请支持正版音乐，修改、再分发时请遵循项目的授权协议。</p></blockquote></section>]]></content>
    </entry>
    <entry>
      <id>https://dhjcomical.github.io/posts/vintageime/</id>
      <title type="text">IngameIME (1.12.2) - 彻底解决 MC 全屏输入法问题</title>
      <published>2025-12-13T00:00:00.000Z</published>
      <updated>2025-12-13T00:00:00.000Z</updated>
      <author><name>DHJComical</name></author>
      <link rel="alternate" href="https://dhjcomical.github.io/posts/vintageime/"/>
      <summary type="text">专为 Minecraft 1.12.2 打造的输入法优化模组，支持游戏内渲染选词框，彻底告别全屏下无法打字、选词框闪烁的烦恼。</summary>
      <content type="html"><![CDATA[<a href="https://github.com/DHJComical/IngameIME-1.12.2" target="_blank"><div><div><div><div></div><div>DHJComical</div></div><div>/</div><div>IngameIME-1.12.2</div></div><div></div></div><div>Use InputMethod in Fullscreen Minecraft 1.12.2</div><div><div>—</div><div>—</div><div>LGPL-2.1</div><span>Java</span></div></a>
<section><h2>为什么需要这个模组？<a href="#为什么需要这个模组"><span>#</span></a></h2><p>对于还在坚守 <strong>Minecraft 1.12.2</strong> 版本的玩家来说，中文输入一直是一个痛点，尤其是在<strong>全屏模式</strong>下：</p><ol>
<li><strong>选词框消失</strong>：打字时看不到候选词，只能“盲打”。</li>
<li><strong>被迫窗口化</strong>：为了聊天不得不退出全屏，沉浸感全无。</li>
</ol><p><strong>IngameIME</strong> 就是为了解决这些问题而生的。它通过 Mixin 游戏渲染，将输入法的候选词列表直接<strong>渲染在游戏画面内部</strong>，就像原生的 GUI 一样顺滑。 甚至支持 SmoothFont 这类修改文字渲染的Mod</p><div><div><div></div><div>Tip</div></div><div><p>本项目是基于旧版开源代码的维护与优化版本，专注于 <strong>1.12.2</strong> 版本的稳定性和兼容性修复。</p></div></div></section>
<section><h2>核心功能<a href="#核心功能"><span>#</span></a></h2><ul>
<li><strong>📺 游戏内渲染</strong>：候选词窗口不再浮在游戏窗口之外，而是作为游戏 UI 的一部分显示。</li>
<li><strong>🚀 全屏兼容</strong>：完美支持全屏模式，不再需要盲目选词。</li>
<li><strong>⌨️ 多输入法支持</strong>：兼容微软拼音、搜狗输入法等主流 IME。</li>
</ul></section>
<section><h2>安装指南<a href="#安装指南"><span>#</span></a></h2><section><h3>前置要求<a href="#前置要求"><span>#</span></a></h3><ul>
<li><strong>Minecraft 版本</strong>：1.12.2 、1.7.10</li>
<li><strong>Mod Loader</strong>：Minecraft Forge / Cleanroom</li>
<li><strong>Mod</strong>：MixinBooter（1.12.2）、UniMixin（1.7.10）</li>
</ul></section><section><h3>相关链接<a href="#相关链接"><span>#</span></a></h3><ul>
<li><strong><a href="https://github.com/DHJComical/IngameIME-1.12.2" target="_blank">GitHub</a></strong></li>
<li><strong><a href="https://www.curseforge.com/minecraft/mc-mods/ingameime-vintage" target="_blank">CurseForge</a></strong></li>
<li><strong><a href="https://modrinth.com/mod/ingameime-vintage" target="_blank">Modrinth</a></strong></li>
<li><strong><a href="https://www.mcmod.cn/class/20138.html" target="_blank">MCMOD百科</a></strong></li>
</ul><div><div><div></div><div>注意事项</div></div><div><p>如果你安装了其他涉及输入法优化的模组（如 InputMethodBlocker 等），建议移除，以避免冲突。IngameIME 已经包含了必要的输入修复功能。</p></div></div></section></section>]]></content>
    </entry>
</feed>
