From da6ac1626b3574be2fabeeb18a1f10d60bdcbe49 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Wed, 13 Nov 2024 23:37:35 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20ipv6=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib-server/src/system/settings/service/models.ts | 1 + .../src/system/settings/service/sys-settings-service.ts | 5 +++++ packages/ui/certd-client/src/views/sys/settings/api.ts | 1 + .../ui/certd-client/src/views/sys/settings/index.vue | 9 +++++++++ 4 files changed, 16 insertions(+) diff --git a/packages/libs/lib-server/src/system/settings/service/models.ts b/packages/libs/lib-server/src/system/settings/service/models.ts index 37cf8686..25b21246 100644 --- a/packages/libs/lib-server/src/system/settings/service/models.ts +++ b/packages/libs/lib-server/src/system/settings/service/models.ts @@ -30,6 +30,7 @@ export class SysPrivateSettings extends BaseSettings { httpsProxy? = ''; httpProxy? = ''; + dnsResultOrder? = ''; removeSecret() { const clone = cloneDeep(this); diff --git a/packages/libs/lib-server/src/system/settings/service/sys-settings-service.ts b/packages/libs/lib-server/src/system/settings/service/sys-settings-service.ts index ab137992..31517617 100644 --- a/packages/libs/lib-server/src/system/settings/service/sys-settings-service.ts +++ b/packages/libs/lib-server/src/system/settings/service/sys-settings-service.ts @@ -7,6 +7,7 @@ import { BaseSettings, SysInstallInfo, SysPrivateSettings, SysPublicSettings, Sy import * as _ from 'lodash-es'; import { BaseService } from '../../../basic/index.js'; import { logger, setGlobalProxy } from '@certd/basic'; +import * as dns from 'node:dns'; /** * 设置 */ @@ -131,6 +132,10 @@ export class SysSettingsService extends BaseService { httpsProxy: bean.httpsProxy, }; setGlobalProxy(opts); + + if (bean.dnsResultOrder) { + dns.setDefaultResultOrder(bean.dnsResultOrder as any); + } } async updateByKey(key: string, setting: any) { diff --git a/packages/ui/certd-client/src/views/sys/settings/api.ts b/packages/ui/certd-client/src/views/sys/settings/api.ts index 78213015..a24e390e 100644 --- a/packages/ui/certd-client/src/views/sys/settings/api.ts +++ b/packages/ui/certd-client/src/views/sys/settings/api.ts @@ -13,6 +13,7 @@ export type SysPublicSetting = { export type SysPrivateSetting = { httpProxy?: string; httpsProxy?: string; + dnsResultOrder?: string; }; export const SettingKeys = { diff --git a/packages/ui/certd-client/src/views/sys/settings/index.vue b/packages/ui/certd-client/src/views/sys/settings/index.vue index 4d8e6c63..aeed3b2f 100644 --- a/packages/ui/certd-client/src/views/sys/settings/index.vue +++ b/packages/ui/certd-client/src/views/sys/settings/index.vue @@ -39,6 +39,15 @@
一般这两个代理填一样的
+ + + + 默认 + IPV4优先 + IPV6优先 + +
如果选择IPv6优先,需要在docker-compose.yaml中启用ipv6
+
保存