chore: add DNS Presets modal

This commit is contained in:
Shishkevich D. 2025-06-16 05:13:54 +00:00
parent 0b005054b6
commit 4b6e7fae28
16 changed files with 166 additions and 3 deletions

View file

@ -0,0 +1,110 @@
{{define "modals/dnsPresetsModal"}}
<a-modal id="dnsPresets-modal" v-model="dnsPresetsModal.visible" :title="dnsPresetsModal.title" :closable="true"
:mask-closable="false" :footer="null" :class="themeSwitcher.currentTheme">
<a-list class="ant-dns-presets-list" bordered :style="{ width: '100%' }">
<a-list-item v-for="dns in dnsPresetsDatabase" :style="{ padding: '12px 16px' }">
<a-row justify="space-between" align="middle">
<a-col :span="12">
<a-space direction="vertical" size="small">
<span class="ant-dns-presets-list-name">[[ dns.name ]]</span>
<a-tag :color="dns.family ? 'purple' : 'green'">[[ dns.family ? '{{ i18n "pages.xray.dns.dnsPresetFamily" }}' : 'DNS' ]]</a-tag>
</a-space>
</a-col>
<a-col :span="12" :style="{ textAlign: 'right' }">
<a-button type="primary" @click="dnsPresetsModal.install(dns.data)">{{ i18n "install" }}</a-button>
</a-col>
</a-row>
</a-list-item>
</a-list>
</a-modal>
<style>
.dark .ant-dns-presets-list {
border-color: var(--dark-color-stroke)
}
.dark .ant-dns-presets-list-name {
color: var(--dark-color-text-primary);
}
</style>
<script>
const dnsPresetsDatabase = [
{
name: 'Google DNS',
family: false,
data: [
"8.8.8.8",
"8.8.4.4",
"2001:4860:4860::8888",
"2001:4860:4860::8844"
]
},
{
name: 'Cloudflare DNS',
family: false,
data: [
"1.1.1.1",
"1.0.0.1",
"2606:4700:4700::1111",
"2606:4700:4700::1001"
]
},
{
name: 'Adguard DNS',
family: false,
data: [
"94.140.14.14",
"94.140.15.15",
"2a10:50c0::ad1:ff",
"2a10:50c0::ad2:ff"
]
},
{
name: 'Adguard Family DNS',
family: true,
data: [
"94.140.14.14",
"94.140.15.15",
"2a10:50c0::ad1:ff",
"2a10:50c0::ad2:ff"
]
},
{
name: 'Cloudflare Family DNS',
family: true,
data: [
"1.1.1.3",
"1.0.0.3",
"2606:4700:4700::1113",
"2606:4700:4700::1003"
]
}
]
const dnsPresetsModal = {
title: '',
visible: false,
selected: null,
install(selectedPreset) {
return ObjectUtil.execute(dnsPresetsModal.selected, selectedPreset);
},
show({ title = '', selected = (selectedPreset) => { }, isEdit = false }) {
this.title = title;
this.selected = selected;
this.visible = true;
},
close() {
dnsPresetsModal.visible = false;
},
};
new Vue({
delimiters: ['[[', ']]'],
el: '#dnsPresets-modal',
data: {
dnsPresetsModal: dnsPresetsModal,
}
});
</script>
{{end}}

View file

@ -110,9 +110,12 @@
</template>
<template v-else>
<a-empty description='{{ i18n "emptyDnsDesc" }}' :style="{ margin: '10px' }">
<a-button type="primary" icon="plus" @click="addDNSServer()" :style="{ marginTop: '10px' }">
<span>{{ i18n "pages.xray.dns.add" }}</span>
</a-button>
<a-button-group>
<a-button type="primary" icon="plus" @click="addDNSServer()">
<span>{{ i18n "pages.xray.dns.add" }}</span>
</a-button>
<a-button type="primary" icon="menu" @click="openDNSPresets()"></a-button>
</a-button-group>
</a-empty>
</template>
</a-collapse-panel>

View file

@ -128,6 +128,7 @@
{{template "modals/reverseModal"}}
{{template "modals/balancerModal"}}
{{template "modals/dnsModal"}}
{{template "modals/dnsPresetsModal"}}
{{template "modals/fakednsModal"}}
{{template "modals/warpModal"}}
<script>
@ -817,6 +818,16 @@
this.obsSettings = '';
this.changeObsCode()
},
openDNSPresets() {
dnsPresetsModal.show({
title: '{{ i18n "pages.xray.dns.dnsPresetTitle" }}',
selected: (selectedPreset) => {
this.dnsServers = selectedPreset;
dnsPresetsModal.close();
}
});
},
addDNSServer(){
dnsModal.show({
title: '{{ i18n "pages.xray.dns.add" }}',

View file

@ -521,6 +521,9 @@
"unexpectIPs" = "عناوين IP غير متوقعة"
"useSystemHosts" = "استخدام ملف Hosts الخاص بالنظام"
"useSystemHostsDesc" = "استخدام ملف hosts من نظام مثبت"
"usePreset" = "استخدام النموذج"
"dnsPresetTitle" = "قوالب DNS"
"dnsPresetFamily" = "العائلي"
[pages.xray.fakedns]
"add" = "أضف Fake DNS"

View file

@ -520,6 +520,9 @@
"unexpectIPs" = "Unexpect IPs"
"useSystemHosts" = "Use System Hosts"
"useSystemHostsDesc" = "Use the hosts file from an installed system"
"usePreset" = "Use Preset"
"dnsPresetTitle" = "DNS Presets"
"dnsPresetFamily" = "Family"
[pages.xray.fakedns]
"add" = "Add Fake DNS"

View file

@ -523,6 +523,9 @@
"unexpectIPs" = "IPs inesperadas"
"useSystemHosts" = "Usar Hosts del sistema"
"useSystemHostsDesc" = "Usar el archivo hosts de un sistema instalado"
"usePreset" = "Usar plantilla"
"dnsPresetTitle" = "Plantillas DNS"
"dnsPresetFamily" = "Familiar"
[pages.xray.fakedns]
"add" = "Agregar DNS Falso"

View file

@ -523,6 +523,9 @@
"unexpectIPs" = "آی‌پی‌های غیرمنتظره"
"useSystemHosts" = "استفاده از Hosts سیستم"
"useSystemHostsDesc" = "استفاده از فایل hosts یک سیستم نصب‌شده"
"usePreset" = "استفاده از پیش‌تنظیم"
"dnsPresetTitle" = "پیش‌تنظیم‌های DNS"
"dnsPresetFamily" = "خانوادگی"
[pages.xray.fakedns]
"add" = "افزودن دی‌ان‌اس جعلی"

View file

@ -524,6 +524,9 @@
"unexpectIPs" = "IP tak terduga"
"useSystemHosts" = "Gunakan Hosts Sistem"
"useSystemHostsDesc" = "Gunakan file hosts dari sistem yang terinstal"
"usePreset" = "Gunakan templat"
"dnsPresetTitle" = "Templat DNS"
"dnsPresetFamily" = "Keluarga"
[pages.xray.fakedns]
"add" = "Tambahkan DNS Palsu"

View file

@ -523,6 +523,9 @@
"unexpectIPs" = "予期しないIP"
"useSystemHosts" = "システムのHostsを使用"
"useSystemHostsDesc" = "インストール済みシステムのhostsファイルを使用する"
"usePreset" = "テンプレートを使用"
"dnsPresetTitle" = "DNSテンプレート"
"dnsPresetFamily" = "ファミリー"
[pages.xray.fakedns]
"add" = "フェイクDNS追加"

View file

@ -523,6 +523,9 @@
"unexpectIPs" = "IPs inesperados"
"useSystemHosts" = "Usar Hosts do sistema"
"useSystemHostsDesc" = "Usar o arquivo hosts de um sistema instalado"
"usePreset" = "Usar modelo"
"dnsPresetTitle" = "Modelos DNS"
"dnsPresetFamily" = "Familiar"
[pages.xray.fakedns]
"add" = "Adicionar Fake DNS"

View file

@ -523,6 +523,9 @@
"unexpectIPs" = "Неожидаемые IP"
"useSystemHosts" = "Использовать системные Hosts"
"useSystemHostsDesc" = "Использовать файл hosts из установленной системы"
"usePreset" = "Использовать шаблон"
"dnsPresetTitle" = "Шаблоны DNS"
"dnsPresetFamily" = "Семейный"
[pages.xray.fakedns]
"add" = "Создать Fake DNS"

View file

@ -523,6 +523,9 @@
"unexpectIPs" = "Beklenmeyen IP'ler"
"useSystemHosts" = "Sistem Hosts'larını Kullan"
"useSystemHostsDesc" = "Yüklü bir sistemden hosts dosyasını kullan"
"usePreset" = "Şablon kullan"
"dnsPresetTitle" = "DNS Şablonları"
"dnsPresetFamily" = "Aile"
[pages.xray.fakedns]
"add" = "Sahte DNS Ekle"

View file

@ -523,6 +523,9 @@
"unexpectIPs" = "Неочікувані IP"
"useSystemHosts" = "Використовувати системні Hosts"
"useSystemHostsDesc" = "Використовувати файл hosts з встановленої системи"
"usePreset" = "Використати шаблон"
"dnsPresetTitle" = "Шаблони DNS"
"dnsPresetFamily" = "Сімейний"
[pages.xray.fakedns]
"add" = "Додати підроблений DNS"

View file

@ -523,6 +523,9 @@
"unexpectIPs" = "IP không mong muốn"
"useSystemHosts" = "Sử dụng Hosts hệ thống"
"useSystemHostsDesc" = "Sử dụng file hosts từ hệ thống đã cài đặt"
"usePreset" = "Dùng mẫu"
"dnsPresetTitle" = "Mẫu DNS"
"dnsPresetFamily" = "Gia đình"
[pages.xray.fakedns]
"add" = "Thêm DNS giả"

View file

@ -523,6 +523,9 @@
"unexpectIPs" = "意外IP"
"useSystemHosts" = "使用系统Hosts"
"useSystemHostsDesc" = "使用已安装系统的hosts文件"
"usePreset" = "使用模板"
"dnsPresetTitle" = "DNS模板"
"dnsPresetFamily" = "家庭"
[pages.xray.fakedns]
"add" = "添加假 DNS"

View file

@ -525,6 +525,9 @@
"unexpectIPs" = "意外IP"
"useSystemHosts" = "使用系統Hosts"
"useSystemHostsDesc" = "使用已安裝系統的hosts檔案"
"usePreset" = "使用範本"
"dnsPresetTitle" = "DNS範本"
"dnsPresetFamily" = "家庭"
[pages.xray.fakedns]
"add" = "新增假 DNS"