fix: support multiple hosts values and IPv6 addresses in DNS config

This commit is contained in:
Memory 2026-04-01 21:58:33 +08:00 committed by GitHub
parent 93d552870e
commit e4110f65c2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 10 additions and 9 deletions

View File

@ -473,7 +473,7 @@
"dns.customHosts.title": "Custom Hosts",
"dns.customHosts.list": "Hosts List",
"dns.customHosts.domainPlaceholder": "Domain",
"dns.customHosts.valuePlaceholder": "Domain or IP",
"dns.customHosts.valuePlaceholder": "Domain or IP, separate multiple with commas",
"dns.saveOnly": "Save Only",
"profiles.title": "Profile Management",
"profiles.input.placeholder": "Enter your subscription URL",

View File

@ -445,7 +445,7 @@
"dns.customHosts.title": "Hosts سفارشی",
"dns.customHosts.list": "لیست Hosts",
"dns.customHosts.domainPlaceholder": "دامنه",
"dns.customHosts.valuePlaceholder": "دامنه یا IP",
"dns.customHosts.valuePlaceholder": "دامنه یا IP، چندین مورد با کاما جدا کنید",
"dns.saveOnly": "فقط ذخیره",
"profiles.title": "مدیریت پروفایل",
"profiles.input.placeholder": "آدرس اشتراک خود را وارد کنید",

View File

@ -447,7 +447,7 @@
"dns.customHosts.title": "Пользовательский Hosts",
"dns.customHosts.list": "Список Hosts",
"dns.customHosts.domainPlaceholder": "Домен",
"dns.customHosts.valuePlaceholder": "Домен или IP",
"dns.customHosts.valuePlaceholder": "Домен или IP, несколько через запятую",
"dns.saveOnly": "Только сохранить",
"profiles.title": "Управление профилями",
"profiles.input.placeholder": "Введите URL вашей подписки",

View File

@ -464,7 +464,7 @@
"dns.customHosts.title": "自定义 Hosts",
"dns.customHosts.list": "Hosts 列表",
"dns.customHosts.domainPlaceholder": "域名",
"dns.customHosts.valuePlaceholder": "域名或 IP",
"dns.customHosts.valuePlaceholder": "域名或 IP,多个用逗号分隔",
"dns.fallback": "回退服务器",
"dns.fallbackPlaceholder": "例https://dns.alidns.com/dns-query",
"dns.fallbackFilter.title": "回退过滤设置",

View File

@ -464,7 +464,7 @@
"dns.customHosts.title": "自定義 Hosts",
"dns.customHosts.list": "Hosts 列表",
"dns.customHosts.domainPlaceholder": "域名",
"dns.customHosts.valuePlaceholder": "域名或 IP",
"dns.customHosts.valuePlaceholder": "域名或 IP,多個用逗號分隔",
"dns.fallback": "回退伺服器",
"dns.fallbackPlaceholder": "例https://dns.alidns.com/dns-query",
"dns.fallbackFilter.title": "回退過濾設置",

View File

@ -123,10 +123,11 @@ const DNS: React.FC = () => {
const handleSubkeyChange = (type: string, domain: string, value: string, index: number): void => {
const list = [...values[type]]
const processedValue = value.includes(',')
? value.split(',').map((s: string) => s.trim())
: value.trim()
if (domain || processedValue) list[index] = { domain: domain.trim(), value: processedValue }
const parts = value.split(',').map((s: string) => s.trim()).filter(Boolean)
const processedValue = type === 'hosts'
? parts
: (parts.length > 1 ? parts : value.trim())
if (domain || parts.length > 0) list[index] = { domain: domain.trim(), value: processedValue }
else list.splice(index, 1)
setValues({ ...values, [type]: list })
}