mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2026-03-01 00:00:26 +00:00
Introduce granular "bypass" configuration to control Napi2Native bypass features and expose it in the WebUI. Key changes: - Add bypass defaults to packages/napcat-core/external/napcat.json and BypassOptionsSchema in napcat-core helper config. - Extend Napi2NativeLoader types: enableAllBypasses now accepts BypassOptions. - Framework & Shell: load napcat.json (via json5), pass parsed bypass options to native loader, and log the applied config. Add json5 dependency. - Shell: implement loadBypassConfig with a crash-recovery override (NAPCAT_BYPASS_DISABLE_LEVEL) and add master<->worker IPC (login-success) plus progressive bypass-disable strategy to mitigate repeated crashes before login. - WebUI backend: add GET/Set endpoints for NapCat config (NapCatConfigRouter) with validation and JSON5-aware defaults. - WebUI frontend: add BypassConfig page, types, and controller methods to get/set bypass config. - Update package.json to include json5 and update pnpm lockfile; native binaries (.node / ffmpeg.dll) also updated. This enables operators to tune bypass behavior per-installation and to have an in-UI control for toggling anti-detection features; it also adds progressive fallback behavior to help recover from crashes caused by bypasses.
61 lines
2.0 KiB
TypeScript
61 lines
2.0 KiB
TypeScript
/**
|
|
* @file 所有路由的入口文件
|
|
*/
|
|
|
|
import { Router } from 'express';
|
|
|
|
import { OB11ConfigRouter } from '@/napcat-webui-backend/src/router/OB11Config';
|
|
import { auth } from '@/napcat-webui-backend/src/middleware/auth';
|
|
import { sendSuccess } from '@/napcat-webui-backend/src/utils/response';
|
|
|
|
import { QQLoginRouter } from '@/napcat-webui-backend/src/router/QQLogin';
|
|
import { AuthRouter } from '@/napcat-webui-backend/src/router/auth';
|
|
import { LogRouter } from '@/napcat-webui-backend/src/router/Log';
|
|
import { BaseRouter } from '@/napcat-webui-backend/src/router/Base';
|
|
import { FileRouter } from './File';
|
|
import { WebUIConfigRouter } from './WebUIConfig';
|
|
import { UpdateNapCatRouter } from './UpdateNapCat';
|
|
import DebugRouter from '@/napcat-webui-backend/src/api/Debug';
|
|
import { ProcessRouter } from './Process';
|
|
import { PluginRouter } from './Plugin';
|
|
import { MirrorRouter } from './Mirror';
|
|
import { NapCatConfigRouter } from './NapCatConfig';
|
|
|
|
const router: Router = Router();
|
|
|
|
// 鉴权中间件
|
|
router.use(auth);
|
|
|
|
// router:测试用
|
|
router.all('/test', (_, res) => {
|
|
return sendSuccess(res);
|
|
});
|
|
// router:基础信息相关路由
|
|
router.use('/base', BaseRouter);
|
|
// router:WebUI登录相关路由
|
|
router.use('/auth', AuthRouter);
|
|
// router:QQ登录相关路由
|
|
router.use('/QQLogin', QQLoginRouter);
|
|
// router:OB11配置相关路由
|
|
router.use('/OB11Config', OB11ConfigRouter);
|
|
// router:日志相关路由
|
|
router.use('/Log', LogRouter);
|
|
// file:文件相关路由
|
|
router.use('/File', FileRouter);
|
|
// router:WebUI配置相关路由
|
|
router.use('/WebUIConfig', WebUIConfigRouter);
|
|
// router:更新NapCat相关路由
|
|
router.use('/UpdateNapCat', UpdateNapCatRouter);
|
|
// router:调试相关路由
|
|
router.use('/Debug', DebugRouter);
|
|
// router:进程管理相关路由
|
|
router.use('/Process', ProcessRouter);
|
|
// router:插件管理相关路由
|
|
router.use('/Plugin', PluginRouter);
|
|
// router:镜像管理相关路由
|
|
router.use('/Mirror', MirrorRouter);
|
|
// router:NapCat配置相关路由
|
|
router.use('/NapCatConfig', NapCatConfigRouter);
|
|
|
|
export { router as ALLRouter };
|