Skip to content

Commit f5aea03

Browse files
authored
chore: add global params for DNS (#2713)
parameter list: `disableCache`, `disableFallback`, `disableFallbackIfMatch`, `clientIp`
1 parent 14cdde3 commit f5aea03

13 files changed

+197
-9
lines changed

web/html/xui/xray.html

+101-9
Original file line numberDiff line numberDiff line change
@@ -673,9 +673,7 @@
673673
<a-switch v-model="enableDNS"></a-switch>
674674
</a-col>
675675
</a-row>
676-
</a-list-item>
677-
<template v-if="enableDNS">
678-
<a-list-item>
676+
<template v-if="enableDNS">
679677
<a-row style="padding: 10px 20px;">
680678
<a-col :lg="24" :xl="12">
681679
<a-list-item-meta title='{{ i18n "pages.xray.dns.tag" }}'
@@ -685,8 +683,15 @@
685683
<a-input type="text" v-model="dnsTag"></a-input>
686684
</a-col>
687685
</a-row>
688-
</a-list-item>
689-
<a-list-item>
686+
<a-row style="padding: 10px 20px;">
687+
<a-col :lg="24" :xl="12">
688+
<a-list-item-meta title='{{ i18n "pages.xray.dns.clientIp" }}'
689+
description='{{ i18n "pages.xray.dns.clientIpDesc" }}'/>
690+
</a-col>
691+
<a-col :lg="24" :xl="12">
692+
<a-input type="text" v-model="dnsClientIp"></a-input>
693+
</a-col>
694+
</a-row>
690695
<a-row style="padding: 10px 20px;">
691696
<a-col :lg="24" :xl="12">
692697
<a-list-item-meta title='{{ i18n "pages.xray.dns.strategy" }}'
@@ -701,8 +706,35 @@
701706
</a-select>
702707
</a-col>
703708
</a-row>
704-
</a-list-item>
705-
</template>
709+
<a-row style="padding: 10px 20px;">
710+
<a-col :lg="24" :xl="12">
711+
<a-list-item-meta title='{{ i18n "pages.xray.dns.disableCache" }}'
712+
description='{{ i18n "pages.xray.dns.disableCacheDesc" }}'/>
713+
</a-col>
714+
<a-col :lg="24" :xl="12">
715+
<a-switch v-model="dnsDisableCache"></a-switch>
716+
</a-col>
717+
</a-row>
718+
<a-row style="padding: 10px 20px;">
719+
<a-col :lg="24" :xl="12">
720+
<a-list-item-meta title='{{ i18n "pages.xray.dns.disableFallback" }}'
721+
description='{{ i18n "pages.xray.dns.disableFallbackDesc" }}'/>
722+
</a-col>
723+
<a-col :lg="24" :xl="12">
724+
<a-switch v-model="dnsDisableFallback"></a-switch>
725+
</a-col>
726+
</a-row>
727+
<a-row style="padding: 10px 20px;">
728+
<a-col :lg="24" :xl="12">
729+
<a-list-item-meta title='{{ i18n "pages.xray.dns.disableFallbackIfMatch" }}'
730+
description='{{ i18n "pages.xray.dns.disableFallbackIfMatchDesc" }}'/>
731+
</a-col>
732+
<a-col :lg="24" :xl="12">
733+
<a-switch v-model="dnsDisableFallbackIfMatch"></a-switch>
734+
</a-col>
735+
</a-row>
736+
</template>
737+
</a-list-item>
706738
</a-collapse-panel>
707739
<template v-if="enableDNS">
708740
<a-collapse-panel header='DNS'>
@@ -1971,7 +2003,11 @@
19712003
set: function (newValue) {
19722004
newTemplateSettings = this.templateSettings;
19732005
if (newValue) {
1974-
newTemplateSettings.dns = { servers: [], queryStrategy: "UseIP", tag: "dns_inbound" };
2006+
newTemplateSettings.dns = {
2007+
servers: [],
2008+
queryStrategy: "UseIP",
2009+
tag: "dns_inbound"
2010+
};
19752011
newTemplateSettings.fakedns = null;
19762012
} else {
19772013
delete newTemplateSettings.dns;
@@ -1986,7 +2022,63 @@
19862022
},
19872023
set: function (newValue) {
19882024
newTemplateSettings = this.templateSettings;
1989-
newTemplateSettings.dns.tag = newValue;
2025+
newTemplateSettings.dns.tag = newValue;
2026+
this.templateSettings = newTemplateSettings;
2027+
}
2028+
},
2029+
dnsClientIp: {
2030+
get: function () {
2031+
return this.enableDNS ? this.templateSettings.dns.clientIp : null;
2032+
},
2033+
set: function (newValue) {
2034+
newTemplateSettings = this.templateSettings;
2035+
if (newValue) {
2036+
newTemplateSettings.dns.clientIp = newValue;
2037+
} else {
2038+
delete newTemplateSettings.dns.clientIp;
2039+
}
2040+
this.templateSettings = newTemplateSettings;
2041+
}
2042+
},
2043+
dnsDisableCache: {
2044+
get: function () {
2045+
return this.enableDNS ? this.templateSettings.dns.disableCache : false;
2046+
},
2047+
set: function (newValue) {
2048+
newTemplateSettings = this.templateSettings;
2049+
if (newValue) {
2050+
newTemplateSettings.dns.disableCache = newValue;
2051+
} else {
2052+
delete newTemplateSettings.dns.disableCache
2053+
}
2054+
this.templateSettings = newTemplateSettings;
2055+
}
2056+
},
2057+
dnsDisableFallback: {
2058+
get: function () {
2059+
return this.enableDNS ? this.templateSettings.dns.disableFallback : false;
2060+
},
2061+
set: function (newValue) {
2062+
newTemplateSettings = this.templateSettings;
2063+
if (newValue) {
2064+
newTemplateSettings.dns.disableFallback = newValue;
2065+
} else {
2066+
delete newTemplateSettings.dns.disableFallback
2067+
}
2068+
this.templateSettings = newTemplateSettings;
2069+
}
2070+
},
2071+
dnsDisableFallbackIfMatch: {
2072+
get: function () {
2073+
return this.enableDNS ? this.templateSettings.dns.disableFallbackIfMatch : false;
2074+
},
2075+
set: function (newValue) {
2076+
newTemplateSettings = this.templateSettings;
2077+
if (newValue) {
2078+
newTemplateSettings.dns.disableFallbackIfMatch = newValue;
2079+
} else {
2080+
delete newTemplateSettings.dns.disableFallbackIfMatch
2081+
}
19902082
this.templateSettings = newTemplateSettings;
19912083
}
19922084
},

web/translation/translate.en_US.toml

+8
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,14 @@
433433
"enableDesc" = "Enable built-in DNS server"
434434
"tag" = "DNS Inbound Tag"
435435
"tagDesc" = "This tag will be available as an Inbound tag in routing rules."
436+
"clientIp" = "Client IP"
437+
"clientIpDesc" = "Used to notify the server of the specified IP location during DNS queries"
438+
"disableCache" = "Disable cache"
439+
"disableCacheDesc" = "Disables DNS caching"
440+
"disableFallback" = "Disable Fallback"
441+
"disableFallbackDesc" = "Disables fallback DNS queries"
442+
"disableFallbackIfMatch" = "Disable Fallback If Match"
443+
"disableFallbackIfMatchDesc" = "Disables fallback DNS queries when the matching domain list of the DNS server is hit"
436444
"strategy" = "Query Strategy"
437445
"strategyDesc" = "Overall strategy to resolve domain names"
438446
"add" = "Add Server"

web/translation/translate.es_ES.toml

+8
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,14 @@
433433
"enableDesc" = "Habilitar servidor DNS incorporado"
434434
"tag" = "Etiqueta de Entrada DNS"
435435
"tagDesc" = "Esta etiqueta estará disponible como una etiqueta de entrada en las reglas de enrutamiento."
436+
"clientIp" = "IP del cliente"
437+
"clientIpDesc" = "Se utiliza para notificar al servidor la ubicación IP especificada durante las consultas DNS"
438+
"disableCache" = "Desactivar caché"
439+
"disableCacheDesc" = "Desactiva el almacenamiento en caché de DNS"
440+
"disableFallback" = "Desactivar respaldo"
441+
"disableFallbackDesc" = "Desactiva las consultas DNS de respaldo"
442+
"disableFallbackIfMatch" = "Desactivar respaldo si coincide"
443+
"disableFallbackIfMatchDesc" = "Desactiva las consultas DNS de respaldo cuando se acierta en la lista de dominios coincidentes del servidor DNS"
436444
"strategy" = "Estrategia de Consulta"
437445
"strategyDesc" = "Estrategia general para resolver nombres de dominio"
438446
"add" = "Agregar Servidor"

web/translation/translate.fa_IR.toml

+8
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,14 @@
433433
"enableDesc" = "سرور حل دامنه داخلی را فعال کنید"
434434
"tag" = "برچسب"
435435
"tagDesc" = "این برچسب در قوانین مسیریابی به عنوان یک برچسب ورودی قابل استفاده خواهد بود"
436+
"clientIp" = "آی‌پی کلاینت"
437+
"clientIpDesc" = "برای اطلاع‌رسانی به سرور درباره مکان IP مشخص‌شده در طول درخواست‌های DNS استفاده می‌شود"
438+
"disableCache" = "غیرفعال‌سازی کش"
439+
"disableCacheDesc" = "کش DNS را غیرفعال می‌کند"
440+
"disableFallback" = "غیرفعال‌سازی Fallback"
441+
"disableFallbackDesc" = "درخواست‌های DNS Fallback را غیرفعال می‌کند"
442+
"disableFallbackIfMatch" = "غیرفعال‌سازی Fallback در صورت تطابق"
443+
"disableFallbackIfMatchDesc" = "درخواست‌های DNS Fallback را زمانی که لیست دامنه‌های مطابقت‌یافته سرور DNS فعال است، غیرفعال می‌کند"
436444
"strategy" = "استراتژی پرس‌وجو"
437445
"strategyDesc" = "استراتژی کلی برای حل نام دامنه"
438446
"add" = "افزودن سرور"

web/translation/translate.id_ID.toml

+8
Original file line numberDiff line numberDiff line change
@@ -432,6 +432,14 @@
432432
"enableDesc" = "Aktifkan server DNS bawaan"
433433
"tag" = "Tanda DNS Masuk"
434434
"tagDesc" = "Tanda ini akan tersedia sebagai tanda masuk dalam aturan penataan."
435+
"clientIp" = "IP Klien"
436+
"clientIpDesc" = "Digunakan untuk memberi tahu server tentang lokasi IP yang ditentukan selama kueri DNS"
437+
"disableCache" = "Nonaktifkan cache"
438+
"disableCacheDesc" = "Menonaktifkan caching DNS"
439+
"disableFallback" = "Nonaktifkan Fallback"
440+
"disableFallbackDesc" = "Menonaktifkan kueri DNS fallback"
441+
"disableFallbackIfMatch" = "Nonaktifkan Fallback Jika Cocok"
442+
"disableFallbackIfMatchDesc" = "Menonaktifkan kueri DNS fallback ketika daftar domain yang cocok dari server DNS terpenuhi"
435443
"strategy" = "Strategi Kueri"
436444
"strategyDesc" = "Strategi keseluruhan untuk menyelesaikan nama domain"
437445
"add" = "Tambahkan Server"

web/translation/translate.ja_JP.toml

+8
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,14 @@
433433
"enableDesc" = "組み込みDNSサーバーを有効にする"
434434
"tag" = "DNSインバウンドタグ"
435435
"tagDesc" = "このタグはルーティングルールでインバウンドタグとして使用できます"
436+
"clientIp" = "クライアントIP"
437+
"clientIpDesc" = "DNSクエリ中に指定されたIPの位置をサーバーに通知するために使用されます"
438+
"disableCache" = "キャッシュを無効にする"
439+
"disableCacheDesc" = "DNSキャッシュを無効にします"
440+
"disableFallback" = "フォールバックを無効にする"
441+
"disableFallbackDesc" = "フォールバックDNSクエリを無効にします"
442+
"disableFallbackIfMatch" = "一致した場合にフォールバックを無効にする"
443+
"disableFallbackIfMatchDesc" = "DNSサーバーの一致するドメインリストにヒットした場合、フォールバックDNSクエリを無効にします"
436444
"strategy" = "クエリ戦略"
437445
"strategyDesc" = "ドメイン名解決の全体的な戦略"
438446
"add" = "サーバー追加"

web/translation/translate.pt_BR.toml

+8
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,14 @@
433433
"enableDesc" = "Ativar o servidor DNS integrado"
434434
"tag" = "Tag de Entrada DNS"
435435
"tagDesc" = "Esta tag estará disponível como uma tag de Entrada nas regras de roteamento."
436+
"clientIp" = "IP do Cliente"
437+
"clientIpDesc" = "Usado para notificar o servidor sobre a localização IP especificada durante consultas DNS"
438+
"disableCache" = "Desativar cache"
439+
"disableCacheDesc" = "Desativa o cache de DNS"
440+
"disableFallback" = "Desativar Fallback"
441+
"disableFallbackDesc" = "Desativa consultas DNS de fallback"
442+
"disableFallbackIfMatch" = "Desativar Fallback Se Corresponder"
443+
"disableFallbackIfMatchDesc" = "Desativa consultas DNS de fallback quando a lista de domínios correspondentes do servidor DNS é atingida"
436444
"strategy" = "Estratégia de Consulta"
437445
"strategyDesc" = "Estratégia geral para resolver nomes de domínio"
438446
"add" = "Adicionar Servidor"

web/translation/translate.ru_RU.toml

+8
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,14 @@
433433
"enableDesc" = "Включить встроенный DNS-сервер"
434434
"tag" = "Входящий тег DNS"
435435
"tagDesc" = "Этот тег будет доступен как входящий тег в правилах маршрутизации."
436+
"clientIp" = "IP клиента"
437+
"clientIpDesc" = "Используется для уведомления сервера о указанном местоположении IP во время DNS-запросов"
438+
"disableCache" = "Отключить кэш"
439+
"disableCacheDesc" = "Отключает кэширование DNS"
440+
"disableFallback" = "Отключить резервный DNS"
441+
"disableFallbackDesc" = "Отключает резервные DNS-запросы"
442+
"disableFallbackIfMatch" = "Отключить резервный DNS при совпадении"
443+
"disableFallbackIfMatchDesc" = "Отключает резервные DNS-запросы при совпадении списка доменов DNS-сервера"
436444
"strategy" = "Стратегия запроса"
437445
"strategyDesc" = "Общая стратегия разрешения доменных имен"
438446
"add" = "Добавить сервер"

web/translation/translate.tr_TR.toml

+8
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,14 @@
433433
"enableDesc" = "Dahili DNS sunucusunu etkinleştir"
434434
"tag" = "DNS Gelen Etiketi"
435435
"tagDesc" = "Bu etiket, yönlendirme kurallarında Gelen etiketi olarak kullanılabilir."
436+
"clientIp" = "İstemci IP"
437+
"clientIpDesc" = "DNS sorguları sırasında belirtilen IP konumunu sunucuya bildirmek için kullanılır"
438+
"disableCache" = "Önbelleği devre dışı bırak"
439+
"disableCacheDesc" = "DNS önbelleğini devre dışı bırakır"
440+
"disableFallback" = "Yedeklemeyi devre dışı bırak"
441+
"disableFallbackDesc" = "Yedek DNS sorgularını devre dışı bırakır"
442+
"disableFallbackIfMatch" = "Eşleşirse Yedeklemeyi Devre Dışı Bırak"
443+
"disableFallbackIfMatchDesc" = "DNS sunucusunun eşleşen alan adı listesi vurulduğunda yedek DNS sorgularını devre dışı bırakır"
436444
"strategy" = "Sorgu Stratejisi"
437445
"strategyDesc" = "Alan adlarını çözmek için genel strateji"
438446
"add" = "Sunucu Ekle"

web/translation/translate.uk_UA.toml

+8
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,14 @@
433433
"enableDesc" = "Увімкнути вбудований DNS-сервер"
434434
"tag" = "Мітка вхідного DNS"
435435
"tagDesc" = "Ця мітка буде доступна як вхідна мітка в правилах маршрутизації."
436+
"clientIp" = "IP клієнта"
437+
"clientIpDesc" = "Використовується для повідомлення серверу про вказане місцезнаходження IP під час DNS-запитів"
438+
"disableCache" = "Вимкнути кеш"
439+
"disableCacheDesc" = "Вимкнути кешування DNS"
440+
"disableFallback" = "Вимкнути резервний DNS"
441+
"disableFallbackDesc" = "Вимкнути резервні DNS-запити"
442+
"disableFallbackIfMatch" = "Вимкнути резервний DNS при збігу"
443+
"disableFallbackIfMatchDesc" = "Вимкнути резервні DNS-запити при збігу списку доменів DNS-сервера"
436444
"strategy" = "Стратегія запиту"
437445
"strategyDesc" = "Загальна стратегія вирішення доменних імен"
438446
"add" = "Додати сервер"

web/translation/translate.vi_VN.toml

+8
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,14 @@
433433
"enableDesc" = "Kích hoạt máy chủ DNS tích hợp"
434434
"tag" = "Thẻ gửi đến DNS"
435435
"tagDesc" = "Thẻ này sẽ có sẵn dưới dạng thẻ Gửi đến trong quy tắc định tuyến."
436+
"clientIp" = "IP khách hàng"
437+
"clientIpDesc" = "Được sử dụng để thông báo cho máy chủ về vị trí IP được chỉ định trong các truy vấn DNS"
438+
"disableCache" = "Tắt bộ nhớ đệm"
439+
"disableCacheDesc" = "Tắt bộ nhớ đệm DNS"
440+
"disableFallback" = "Tắt Fallback"
441+
"disableFallbackDesc" = "Tắt các truy vấn DNS Fallback"
442+
"disableFallbackIfMatch" = "Tắt Fallback Nếu Khớp"
443+
"disableFallbackIfMatchDesc" = "Tắt các truy vấn DNS Fallback khi danh sách tên miền khớp của máy chủ DNS được kích hoạt"
436444
"strategy" = "Chiến lược truy vấn"
437445
"strategyDesc" = "Chiến lược tổng thể để phân giải tên miền"
438446
"add" = "Thêm máy chủ"

web/translation/translate.zh_CN.toml

+8
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,14 @@
433433
"enableDesc" = "启用内置 DNS 服务器"
434434
"tag" = "DNS 入站标签"
435435
"tagDesc" = "此标签将在路由规则中可用作入站标签"
436+
"clientIp" = "客户端IP"
437+
"clientIpDesc" = "用于在DNS查询期间通知服务器指定的IP位置"
438+
"disableCache" = "禁用缓存"
439+
"disableCacheDesc" = "禁用DNS缓存"
440+
"disableFallback" = "禁用回退"
441+
"disableFallbackDesc" = "禁用回退DNS查询"
442+
"disableFallbackIfMatch" = "匹配时禁用回退"
443+
"disableFallbackIfMatchDesc" = "当DNS服务器的匹配域名列表命中时,禁用回退DNS查询"
436444
"strategy" = "查询策略"
437445
"strategyDesc" = "解析域名的总体策略"
438446
"add" = "添加服务器"

web/translation/translate.zh_TW.toml

+8
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,14 @@
433433
"enableDesc" = "啟用內建 DNS 伺服器"
434434
"tag" = "DNS 入站標籤"
435435
"tagDesc" = "此標籤將在路由規則中可用作入站標籤"
436+
"clientIp" = "客戶端IP"
437+
"clientIpDesc" = "用於在DNS查詢期間通知伺服器指定的IP位置"
438+
"disableCache" = "禁用快取"
439+
"disableCacheDesc" = "禁用DNS快取"
440+
"disableFallback" = "禁用回退"
441+
"disableFallbackDesc" = "禁用回退DNS查詢"
442+
"disableFallbackIfMatch" = "匹配時禁用回退"
443+
"disableFallbackIfMatchDesc" = "當DNS伺服器的匹配域名列表命中時,禁用回退DNS查詢"
436444
"strategy" = "查詢策略"
437445
"strategyDesc" = "解析域名的總體策略"
438446
"add" = "新增伺服器"

0 commit comments

Comments
 (0)