2025-05-25 22:40:12 +08:00
|
|
|
const REQUIRE_BASE = ".";
|
|
|
|
|
|
|
|
|
|
const {
|
2025-11-14 02:58:09 +08:00
|
|
|
updateAikariConfigToRemote,
|
|
|
|
|
} = require(`${REQUIRE_BASE}/../../../../composables/aikariConfigManager`);
|
2025-05-25 22:40:12 +08:00
|
|
|
|
|
|
|
|
const basicSettings = [
|
|
|
|
|
{
|
|
|
|
|
id: 0,
|
|
|
|
|
categoryName: "可访问性",
|
|
|
|
|
child: [
|
|
|
|
|
{
|
|
|
|
|
index: 0,
|
2025-11-16 18:35:53 +08:00
|
|
|
id: "aikarWsPreferPort",
|
2025-05-25 22:40:12 +08:00
|
|
|
type: "input",
|
2025-06-07 23:51:54 +08:00
|
|
|
subType: "number",
|
2025-11-16 18:35:53 +08:00
|
|
|
name: "Aikari WS 默认监听端口",
|
|
|
|
|
description: "Aikari WebSocket 服务器默认监听的端口",
|
2025-06-07 23:51:54 +08:00
|
|
|
reactive: true,
|
|
|
|
|
reactiveVal: ["root.settings"],
|
|
|
|
|
restart: false,
|
2025-05-25 22:40:12 +08:00
|
|
|
reload: false,
|
2025-11-16 18:35:53 +08:00
|
|
|
aikariRequired: true,
|
2025-11-14 02:58:09 +08:00
|
|
|
restartAikari: false,
|
2025-06-07 23:51:54 +08:00
|
|
|
warning: true,
|
2025-11-16 18:35:53 +08:00
|
|
|
warningContent: "Aikari 仍会在默认端口被占用时, 自动随机端口重试",
|
2025-05-25 22:40:12 +08:00
|
|
|
associateVal: null,
|
|
|
|
|
auraIf: () => true,
|
|
|
|
|
defaultValue: "",
|
2025-06-07 23:51:54 +08:00
|
|
|
placeHolder: "输入端口号 (10000 ~ 65535)",
|
2025-05-25 22:40:12 +08:00
|
|
|
valueGetter: () => {
|
2025-11-14 02:58:09 +08:00
|
|
|
if (!global.__HUGO_AURA__.aikariSettings) return "";
|
2025-11-16 18:35:53 +08:00
|
|
|
return global.__HUGO_AURA__.aikariSettings.wsPreferPort;
|
2025-05-25 22:40:12 +08:00
|
|
|
},
|
|
|
|
|
callbackFn: (newVal) => {
|
|
|
|
|
if (newVal === "" || !newVal)
|
2025-06-07 23:51:54 +08:00
|
|
|
return { valid: false, hint: "请输入端口号" };
|
2025-05-25 22:40:12 +08:00
|
|
|
|
2025-06-07 23:51:54 +08:00
|
|
|
const numberNewVal = Number(newVal);
|
2025-11-16 18:35:53 +08:00
|
|
|
if (
|
|
|
|
|
numberNewVal === NaN ||
|
|
|
|
|
!(10000 <= numberNewVal) ||
|
|
|
|
|
!(newVal <= 65535)
|
|
|
|
|
) {
|
2025-06-07 23:51:54 +08:00
|
|
|
return { valid: false, hint: "请输入合法的端口号 (10000 ~ 65535)" };
|
2025-05-25 22:40:12 +08:00
|
|
|
}
|
|
|
|
|
|
2025-11-16 18:35:53 +08:00
|
|
|
global.__HUGO_AURA__.aikariSettings.wsPreferPort = numberNewVal;
|
|
|
|
|
updateAikariConfigToRemote("wsPreferPort", numberNewVal);
|
2025-05-25 22:40:12 +08:00
|
|
|
return { valid: true };
|
|
|
|
|
},
|
|
|
|
|
},
|
2025-06-06 02:05:04 +08:00
|
|
|
{
|
2025-06-07 23:51:54 +08:00
|
|
|
index: 1,
|
2025-11-16 18:35:53 +08:00
|
|
|
id: "aikariForceRegenWsTlsCert",
|
2025-06-07 23:51:54 +08:00
|
|
|
type: "switch",
|
2025-11-16 18:35:53 +08:00
|
|
|
name: "重新生成 WS TLS 证书",
|
|
|
|
|
description: "Aikari 将在下次启动时重新生成用于 WebSocket 的 TLS 证书",
|
2025-06-07 23:51:54 +08:00
|
|
|
reactive: true,
|
|
|
|
|
reactiveVal: ["root.settings"],
|
|
|
|
|
restart: false,
|
|
|
|
|
reload: false,
|
2025-11-16 18:35:53 +08:00
|
|
|
aikariRequired: true,
|
2025-11-14 02:58:09 +08:00
|
|
|
restartAikari: true,
|
2025-06-07 23:51:54 +08:00
|
|
|
associateVal: null,
|
|
|
|
|
auraIf: () => true,
|
|
|
|
|
defaultValue: false,
|
|
|
|
|
valueGetter: () => {
|
2025-11-14 02:58:09 +08:00
|
|
|
if (!global.__HUGO_AURA__.aikariSettings) return "";
|
2025-11-16 18:35:53 +08:00
|
|
|
return global.__HUGO_AURA__.aikariSettings.tls.regenWsCertNextLaunch;
|
2025-06-07 23:51:54 +08:00
|
|
|
},
|
|
|
|
|
callbackFn: (newVal) => {
|
|
|
|
|
if (typeof newVal !== "boolean") return false;
|
|
|
|
|
|
2025-11-16 18:35:53 +08:00
|
|
|
global.__HUGO_AURA__.aikariSettings.tls.regenWsCertNextLaunch =
|
|
|
|
|
newVal;
|
|
|
|
|
updateAikariConfigToRemote("tls.regenWsCertNextLaunch", newVal);
|
2025-06-07 23:51:54 +08:00
|
|
|
return true;
|
|
|
|
|
},
|
|
|
|
|
},
|
2025-05-25 22:40:12 +08:00
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
module.exports = { basicSettings };
|