refactor: 将QRC解密替换为纯JS实现并简化kw歌词获取 (#2845)

* 简化kw歌词获取 && kw歌词解密逻辑移动

将酷我歌词解密从主进程 native/IPC 方案迁移到渲染进程纯 JS 实现,
移除 kw_decodeLyric 主进程入口与 handle_kw_decode_lyric IPC 通道。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* tx歌词解密改用js实现

将 QRC 歌词的 3DES 解密由主进程 native 插件(qrc_decode.node)按原 C++
算法 1:1 移植为渲染进程纯 JS 实现,移除 tx_decodeLyric 主进程入口、
handle_tx_decode_lyric IPC 通道,以及 build 配置中对 qrc_decode.node
的引用与各平台预构建二进制。

注意:QRC 使用的是非标准 DES 变体(S2[23]=15、S4[53]=10,标准为
14、1),新实现已逐字节对照原 native 二进制保持一致。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* update

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: lyswhut <lyswhut@qq.com>
This commit is contained in:
ikun0014
2026-06-07 11:14:17 +08:00
committed by GitHub
co-authored by Claude Opus 4.8 lyswhut
parent f0342b852b
commit cb2798cba9
23 changed files with 350 additions and 251 deletions
-3
View File
@@ -1,8 +1,6 @@
const path = require('path')
const ESLintPlugin = require('eslint-webpack-plugin')
const isDev = process.env.NODE_ENV === 'development'
module.exports = {
target: 'electron-main',
output: {
@@ -18,7 +16,6 @@ module.exports = {
'electron-font-manager': 'electron-font-manager',
bufferutil: 'bufferutil',
'utf-8-validate': 'utf-8-validate',
'qrc_decode.node': isDev ? path.join(__dirname, '../../build/Release/qrc_decode.node') : path.join('../build/Release/qrc_decode.node'),
},
resolve: {
alias: {