diff options
Diffstat (limited to 'web/html')
| -rw-r--r-- | web/html/xui/xray.html | 60 |
1 files changed, 59 insertions, 1 deletions
diff --git a/web/html/xui/xray.html b/web/html/xui/xray.html index 605f01b1..4a2ae38b 100644 --- a/web/html/xui/xray.html +++ b/web/html/xui/xray.html @@ -174,6 +174,8 @@ <setting-list-item type="switch" title='{{ i18n "pages.xray.ChinaDomain"}}' desc='{{ i18n "pages.xray.ChinaDomainDesc"}}' v-model="ChinaDomainSettings"></setting-list-item> <setting-list-item type="switch" title='{{ i18n "pages.xray.RussiaIp"}}' desc='{{ i18n "pages.xray.RussiaIpDesc"}}' v-model="RussiaIpSettings"></setting-list-item> <setting-list-item type="switch" title='{{ i18n "pages.xray.RussiaDomain"}}' desc='{{ i18n "pages.xray.RussiaDomainDesc"}}' v-model="RussiaDomainSettings"></setting-list-item> + <setting-list-item type="switch" title='{{ i18n "pages.xray.VNIp"}}' desc='{{ i18n "pages.xray.VNIpDesc"}}' v-model="VNIpSettings"></setting-list-item> + <setting-list-item type="switch" title='{{ i18n "pages.xray.VNDomain"}}' desc='{{ i18n "pages.xray.VNDomainDesc"}}' v-model="VNDomainSettings"></setting-list-item> </a-collapse-panel> <a-collapse-panel header='{{ i18n "pages.xray.directCountryConfigs"}}'> <a-row :xs="24" :sm="24" :lg="12"> @@ -190,6 +192,8 @@ <setting-list-item type="switch" title='{{ i18n "pages.xray.DirectChinaDomain"}}' desc='{{ i18n "pages.xray.DirectChinaDomainDesc"}}' v-model="ChinaDomainDirectSettings"></setting-list-item> <setting-list-item type="switch" title='{{ i18n "pages.xray.DirectRussiaIp"}}' desc='{{ i18n "pages.xray.DirectRussiaIpDesc"}}' v-model="RussiaIpDirectSettings"></setting-list-item> <setting-list-item type="switch" title='{{ i18n "pages.xray.DirectRussiaDomain"}}' desc='{{ i18n "pages.xray.DirectRussiaDomainDesc"}}' v-model="RussiaDomainDirectSettings"></setting-list-item> + <setting-list-item type="switch" title='{{ i18n "pages.xray.DirectVNIp"}}' desc='{{ i18n "pages.xray.DirectVNIpDesc"}}' v-model="VNIpDirectSettings"></setting-list-item> + <setting-list-item type="switch" title='{{ i18n "pages.xray.DirectVNDomain"}}' desc='{{ i18n "pages.xray.DirectVNDomainDesc"}}' v-model="VNDomainDirectSettings"></setting-list-item> </a-collapse-panel> <a-collapse-panel header='{{ i18n "pages.xray.ipv4Configs"}}'> <a-row :xs="24" :sm="24" :lg="12"> @@ -533,6 +537,7 @@ cn: ["geoip:cn"], ir: ["ext:geoip_IR.dat:ir"], ru: ["geoip:ru"], + vn: ["ext:geoip_VN.dat:vn"], }, domains: { ads: [ @@ -556,7 +561,12 @@ "regexp:.*\\.ir$", "regexp:.*\\.xn--mgba3a4f16a$", // .ایران "ext:geosite_IR.dat:ir" // have rules to bypass all .ir domains. - ] + ], + vn: [ + "regexp:.*\\.vn$", + "ext:geosite_VN.dat:vn", + "ext:geosite_VN.dat:ads" + ] }, familyProtectDNS: { "servers": [ @@ -1278,6 +1288,30 @@ } } }, + VNIpSettings: { + get: function () { + return doAllItemsExist(this.settingsData.ips.vn, this.blockedIPs); + }, + set: function (newValue) { + if (newValue) { + this.blockedIPs = [...this.blockedIPs, ...this.settingsData.ips.vn]; + } else { + this.blockedIPs = this.blockedIPs.filter(data => !this.settingsData.ips.vn.includes(data)); + } + } + }, + VNDomainSettings: { + get: function () { + return doAllItemsExist(this.settingsData.domains.vn, this.blockedDomains); + }, + set: function (newValue) { + if (newValue) { + this.blockedDomains = [...this.blockedDomains, ...this.settingsData.domains.vn]; + } else { + this.blockedDomains = this.blockedDomains.filter(data => !this.settingsData.domains.vn.includes(data)); + } + } + }, IRIpDirectSettings: { get: function () { return doAllItemsExist(this.settingsData.ips.ir, this.directIPs); @@ -1350,6 +1384,30 @@ } } }, + VNIpDirectSettings: { + get: function () { + return doAllItemsExist(this.settingsData.ips.vn, this.directIPs); + }, + set: function (newValue) { + if (newValue) { + this.directIPs = [...this.directIPs, ...this.settingsData.ips.vn]; + } else { + this.directIPs = this.directIPs.filter(data => !this.settingsData.ips.vn.includes(data)); + } + } + }, + VNDomainDirectSettings: { + get: function () { + return doAllItemsExist(this.settingsData.domains.vn, this.directDomains); + }, + set: function (newValue) { + if (newValue) { + this.directDomains = [...this.directDomains, ...this.settingsData.domains.vn]; + } else { + this.directDomains = this.directDomains.filter(data => !this.settingsData.domains.vn.includes(data)); + } + } + }, GoogleWARPSettings: { get: function () { return doAllItemsExist(this.settingsData.domains.google, this.warpDomains); |
