From 1c2aa26dd0604806474b0988f26dfd92ede2cfd6 Mon Sep 17 00:00:00 2001 From: xion Date: Wed, 21 May 2025 17:01:08 +0800 Subject: [PATCH] fix: add listen for path --- .../src/module/assistant/config/index.ts | 7 +++++++ assistant/src/server.ts | 19 ++++++++++++++----- submodules/kevisual-query-login | 2 +- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/assistant/src/module/assistant/config/index.ts b/assistant/src/module/assistant/config/index.ts index ef9c044..fd720df 100644 --- a/assistant/src/module/assistant/config/index.ts +++ b/assistant/src/module/assistant/config/index.ts @@ -70,6 +70,13 @@ export type AssistantConfigData = { proxy?: ProxyInfo[]; apiProxyList?: ProxyInfo[]; description?: string; + /** + * 服务启动 + */ + server?: { + path?: string; + port?: number; + }; /** * 首页 */ diff --git a/assistant/src/server.ts b/assistant/src/server.ts index f935d98..7cfd193 100644 --- a/assistant/src/server.ts +++ b/assistant/src/server.ts @@ -7,7 +7,7 @@ import { program } from 'commander'; import { spawnSync } from 'child_process'; import chalk from 'chalk'; import { AssistantApp } from './lib.ts'; -export const runServer = async (port?: number) => { +export const runServer = async (port?: number, listenPath = '127.0.0.1') => { let _port: number | undefined; if (port) { _port = await getPort({ port }); @@ -25,9 +25,16 @@ export const runServer = async (port?: number) => { } _port = isPortAvailable; } - app.listen(_port, () => { - console.log(`Server is running on https://localhost:${_port}`); - }); + const hasSocket = listenPath.includes('.sock'); + if (hasSocket) { + app.listen(listenPath, () => { + console.log(`Server is running on ${listenPath}`); + }); + } else { + app.listen(_port, listenPath, () => { + console.log(`Server is running on https://${listenPath}:${_port}`); + }); + } app.server.on(proxyRoute); proxyWs(); const manager = new AssistantApp(assistantConfig, app); @@ -72,7 +79,9 @@ program console.log('以守护进程方式运行'); } else if (options.start) { console.log('启动服务', chalk.green(assistantConfig.configDir)); - const server = await runServer(options.port); + const listenPort = options.port || assistantConfig.config?.server?.port; + const listenPath = assistantConfig.config?.server?.path || '127.0.0.1'; + const server = await runServer(listenPort, listenPath); } }); diff --git a/submodules/kevisual-query-login b/submodules/kevisual-query-login index 0a0ffbd..bae8275 160000 --- a/submodules/kevisual-query-login +++ b/submodules/kevisual-query-login @@ -1 +1 @@ -Subproject commit 0a0ffbdb235e01ee3b63745e3d4045e032d42216 +Subproject commit bae8275b11d5808fd07c3172441dfc738fef525c