mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2026-03-01 16:20:25 +00:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
407d8d1fd2 | ||
|
|
108897f6ad | ||
|
|
3d2decb0ec | ||
|
|
386b884f1b | ||
|
|
ace4da2297 | ||
|
|
a8fb48fb50 |
BIN
launcher/NapCatWinBootHook_34231.dll
Normal file
BIN
launcher/NapCatWinBootHook_34231.dll
Normal file
Binary file not shown.
1
launcher/ReadMe.txt
Normal file
1
launcher/ReadMe.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
带有34231数字的是指QQ 9.9.19-34231 适配的启动脚本
|
||||||
32
launcher/launcher-user-34231.bat
Normal file
32
launcher/launcher-user-34231.bat
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
@echo off
|
||||||
|
chcp 65001
|
||||||
|
set NAPCAT_PATCH_PACKAGE=%cd%\qqnt.json
|
||||||
|
set NAPCAT_LOAD_PATH=%cd%\loadNapCat.js
|
||||||
|
set NAPCAT_INJECT_PATH=%cd%\NapCatWinBootHook_34231.dll
|
||||||
|
set NAPCAT_LAUNCHER_PATH=%cd%\NapCatWinBootMain.exe
|
||||||
|
set NAPCAT_MAIN_PATH=%cd%\napcat.mjs
|
||||||
|
:loop_read
|
||||||
|
for /f "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\QQ" /v "UninstallString"') do (
|
||||||
|
set RetString=%%b
|
||||||
|
goto :napcat_boot
|
||||||
|
)
|
||||||
|
|
||||||
|
:napcat_boot
|
||||||
|
for %%a in ("%RetString%") do (
|
||||||
|
set "pathWithoutUninstall=%%~dpa"
|
||||||
|
)
|
||||||
|
|
||||||
|
SET QQPath=%pathWithoutUninstall%QQ.exe
|
||||||
|
|
||||||
|
if not exist "%QQpath%" (
|
||||||
|
echo provided QQ path is invalid
|
||||||
|
pause
|
||||||
|
exit /b
|
||||||
|
)
|
||||||
|
|
||||||
|
set NAPCAT_MAIN_PATH=%NAPCAT_MAIN_PATH:\=/%
|
||||||
|
echo (async () =^> {await import("file:///%NAPCAT_MAIN_PATH%")})() > "%NAPCAT_LOAD_PATH%"
|
||||||
|
|
||||||
|
"%NAPCAT_LAUNCHER_PATH%" "%QQPath%" "%NAPCAT_INJECT_PATH%" %1
|
||||||
|
|
||||||
|
pause
|
||||||
33
launcher/launcher-win10-user-34231.bat
Normal file
33
launcher/launcher-win10-user-34231.bat
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
@echo off
|
||||||
|
chcp 65001
|
||||||
|
set NAPCAT_PATCH_PACKAGE=%cd%\qqnt.json
|
||||||
|
set NAPCAT_LOAD_PATH=%cd%\loadNapCat.js
|
||||||
|
set NAPCAT_INJECT_PATH=%cd%\NapCatWinBootHook_34231.dll
|
||||||
|
set NAPCAT_LAUNCHER_PATH=%cd%\NapCatWinBootMain.exe
|
||||||
|
set NAPCAT_MAIN_PATH=%cd%\napcat.mjs
|
||||||
|
:loop_read
|
||||||
|
for /f "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\QQ" /v "UninstallString"') do (
|
||||||
|
set RetString=%%b
|
||||||
|
goto :napcat_boot
|
||||||
|
)
|
||||||
|
|
||||||
|
:napcat_boot
|
||||||
|
for %%a in ("%RetString%") do (
|
||||||
|
set "pathWithoutUninstall=%%~dpa"
|
||||||
|
)
|
||||||
|
|
||||||
|
SET QQPath=%pathWithoutUninstall%QQ.exe
|
||||||
|
|
||||||
|
if not exist "%QQpath%" (
|
||||||
|
echo provided QQ path is invalid
|
||||||
|
pause
|
||||||
|
exit /b
|
||||||
|
)
|
||||||
|
set NAPCAT_MAIN_PATH=%NAPCAT_MAIN_PATH:\=/%
|
||||||
|
echo (async () =^> {await import("file:///%NAPCAT_MAIN_PATH%")})() > "%NAPCAT_LOAD_PATH%"
|
||||||
|
|
||||||
|
"%NAPCAT_LAUNCHER_PATH%" "%QQPath%" "%NAPCAT_INJECT_PATH%" %1
|
||||||
|
|
||||||
|
REM "%NAPCAT_LAUNCHER_PATH%" "%QQPath%" "%NAPCAT_INJECT_PATH%" 123456
|
||||||
|
|
||||||
|
pause
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
"name": "NapCatQQ",
|
"name": "NapCatQQ",
|
||||||
"slug": "NapCat.Framework",
|
"slug": "NapCat.Framework",
|
||||||
"description": "高性能的 OneBot 11 协议实现",
|
"description": "高性能的 OneBot 11 协议实现",
|
||||||
"version": "4.7.13",
|
"version": "4.7.15",
|
||||||
"icon": "./logo.png",
|
"icon": "./logo.png",
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"name": "napcat",
|
"name": "napcat",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "4.7.13",
|
"version": "4.7.15",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build:universal": "npm run build:webui && vite build --mode universal || exit 1",
|
"build:universal": "npm run build:webui && vite build --mode universal || exit 1",
|
||||||
"build:framework": "npm run build:webui && vite build --mode framework || exit 1",
|
"build:framework": "npm run build:webui && vite build --mode framework || exit 1",
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
export const napCatVersion = '4.7.13';
|
export const napCatVersion = '4.7.15';
|
||||||
|
|||||||
8
src/core/external/appid.json
vendored
8
src/core/external/appid.json
vendored
@@ -234,5 +234,13 @@
|
|||||||
"3.2.16-33800": {
|
"3.2.16-33800": {
|
||||||
"appid": 537274009,
|
"appid": 537274009,
|
||||||
"qua": "V1_LNX_NQ_3.2.16_33800_GW_B"
|
"qua": "V1_LNX_NQ_3.2.16_33800_GW_B"
|
||||||
|
},
|
||||||
|
"9.9.19-34231": {
|
||||||
|
"appid": 537279209,
|
||||||
|
"qua": "V1_WIN_NQ_9.9.19_34231_GW_B"
|
||||||
|
},
|
||||||
|
"3.2.17-34231": {
|
||||||
|
"appid": 537279245,
|
||||||
|
"qua": "V1_LNX_NQ_3.2.17_34231_GW_B"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
12
src/core/external/offset.json
vendored
12
src/core/external/offset.json
vendored
@@ -314,5 +314,17 @@
|
|||||||
"3.2.16-33800-arm64": {
|
"3.2.16-33800-arm64": {
|
||||||
"send": "7262BB0",
|
"send": "7262BB0",
|
||||||
"recv": "72664E0"
|
"recv": "72664E0"
|
||||||
|
},
|
||||||
|
"9.9.19-34231-x64": {
|
||||||
|
"send": "3BD73D0",
|
||||||
|
"recv": "3BDBBD0"
|
||||||
|
},
|
||||||
|
"3.2.17-34231-x64": {
|
||||||
|
"send": "AD787E0",
|
||||||
|
"recv": "AD7C200"
|
||||||
|
},
|
||||||
|
"3.2.17-34231-arm64": {
|
||||||
|
"send": "770CDC0",
|
||||||
|
"recv": "77106F0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -23,7 +23,7 @@ export class GetRkeyServer extends GetPacketStatusDepends<void, { private_rkey?:
|
|||||||
let privateRkeyItem = rkeys.filter(rkey => rkey.type === 10)[0];
|
let privateRkeyItem = rkeys.filter(rkey => rkey.type === 10)[0];
|
||||||
let groupRkeyItem = rkeys.filter(rkey => rkey.type === 20)[0];
|
let groupRkeyItem = rkeys.filter(rkey => rkey.type === 20)[0];
|
||||||
|
|
||||||
this.expiryTime = Math.floor(Date.now() / 1000) + 3600; // 假设缓存有效期为 1 小时
|
this.expiryTime = Math.floor(Date.now() / 1000) + Math.min(+groupRkeyItem!.ttl.toString(),+privateRkeyItem!.ttl.toString());
|
||||||
|
|
||||||
// 更新缓存
|
// 更新缓存
|
||||||
this.rkeyCache = {
|
this.rkeyCache = {
|
||||||
|
|||||||
Reference in New Issue
Block a user