feat: update instructions and scripts for QQMusic Mac v10.7 and v8.8.0

This commit is contained in:
鲁树人
2025-10-15 02:08:32 +09:00
parent fb52b0197c
commit 7b2558c585
5 changed files with 50 additions and 12 deletions

View File

@@ -39,10 +39,16 @@ export function InstructionsMacV10() {
<code>{DUMP_COMMAND_NAME}</code>
</li>
<li>
<code>{DUMP_COMMAND_NAME}</code>访访
<p>
<code>{DUMP_COMMAND_NAME}</code>
</p>
<p>
<VQuote></VQuote><VQuote></VQuote>
</p>
</li>
<li>
<code>qqmusic-mac-*.mmkv</code> <code>*</code>
<code>qqmusic-mac-*.mmkv</code> <code>*</code>
</li>
{inSecretImportModal ? (
<li>

View File

@@ -6,7 +6,11 @@ import { MacCommandKey } from '~/components/Key/MacCommandKey';
import { ShiftKey } from '~/components/Key/ShiftKey';
import { copyToClipboard } from '~/util/clipboard';
import BlockUpdateScript from './assets/QQ 音乐 Mac 屏蔽升级.tar.gz?base64';
import {
commandName as BLOCK_UPDATE_COMAND,
tarName as BLOCK_UPDATE_TAR_NAME,
tarball as BLOCK_UPDATE_BASE64,
} from './assets/qqmusic_v8.8.0_patch_update.command?&name=QQ 音乐 Mac v8.8.0 屏蔽更新.command&mac-command';
import { DownloadBase64 } from '~/components/DownloadBase64';
import { useContext } from 'react';
import { InSecretImportModalContext } from '~/context/InSecretImportModal';
@@ -38,10 +42,14 @@ export function InstructionsMacV8() {
<p className="mt-4">
<DownloadBase64 filename="QQ 音乐 Mac v8.8.0 屏蔽升级.tar.gz" data={BlockUpdateScript}></DownloadBase64>
<code>QQ Mac .command</code>
<DownloadBase64 filename={BLOCK_UPDATE_TAR_NAME} data={BLOCK_UPDATE_BASE64}></DownloadBase64>
<code>{BLOCK_UPDATE_COMAND}</code>
<span> QQ </span>
</p>
<p>
<VQuote></VQuote><VQuote></VQuote>
</p>
<p className="mt-4"></p>
<FilePathBlock>{DB_PATH}</FilePathBlock>

View File

@@ -8,6 +8,7 @@ import sys
from argparse import ArgumentParser
from dataclasses import dataclass
from os import PathLike
from os.path import dirname
from pathlib import Path
from struct import pack, unpack
@@ -154,13 +155,12 @@ def main():
"-o",
"--output",
type=str,
help="Output directory for decrypted MMKV files (default: current directory)",
default=".",
help="Output directory for decrypted MMKV files (default: script directory)",
default=dirname(__file__),
)
parser.add_argument(
"-v", "--verbose", action="store_true", help="Enable verbose output"
)
parser.add_argument("--no-pause", action="store_true", help="Do not pause on exit")
args = parser.parse_args()
home_dir = Path.home()
@@ -182,7 +182,6 @@ def main():
force = args.force
verbose = args.verbose
no_pause = args.no_pause
for plist_file in plists:
if plist_file.exists() and plist_file.is_file():
@@ -209,9 +208,6 @@ def main():
print(f"Error writing decrypted mmkv: {e}", file=sys.stderr)
continue
if not no_pause:
input("Press Enter to exit...")
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,28 @@
#!/bin/sh
echo '补丁中…'
patch_count=0
patch_qqmusic() {
SUDO="$1"
APP="$2"
if [ ! -d "$APP" ]; then
echo "路径不存在,跳过 $APP..."
return
fi
echo "修补 $APP..."
$SUDO sed -i.bak 's#<string>8.8.0</string>#<string>88.8.0</string>#' \
"$APP/Contents/Info.plist"
$SUDO codesign --force --deep --sign - "$APP"
$SUDO xattr -d com.apple.quarantine "$APP"
patch_count=$((patch_count + 1))
}
patch_qqmusic sudo "/Applications/QQMusic.app"
patch_qqmusic "" "$HOME/Applications/QQMusic.app"
echo "完成,已修补 $patch_count 个 QQ 音乐安装"