|
@@ -157,6 +157,7 @@
|
|
|
<setting-list-item type="switch" title='{{ i18n "pages.xray.PrivateIp"}}' desc='{{ i18n "pages.xray.PrivateIpDesc"}}' v-model="privateIpSettings"></setting-list-item>
|
|
|
<setting-list-item type="switch" title='{{ i18n "pages.xray.Ads"}}' desc='{{ i18n "pages.xray.AdsDesc"}}' v-model="AdsSettings"></setting-list-item>
|
|
|
<setting-list-item type="switch" title='{{ i18n "pages.xray.Family"}}' desc='{{ i18n "pages.xray.FamilyDesc"}}' v-model="familyProtectSettings"></setting-list-item>
|
|
|
+ <setting-list-item type="switch" title='{{ i18n "pages.xray.Security"}}' desc='{{ i18n "pages.xray.SecurityDesc"}}' v-model="SecuritySettings"></setting-list-item>
|
|
|
<setting-list-item type="switch" title='{{ i18n "pages.xray.Speedtest"}}' desc='{{ i18n "pages.xray.SpeedtestDesc"}}' v-model="SpeedTestSettings"></setting-list-item>
|
|
|
</a-collapse-panel>
|
|
|
<a-collapse-panel header='{{ i18n "pages.xray.blockCountryConfigs"}}'>
|
|
@@ -544,6 +545,11 @@
|
|
|
"geosite:category-ads-all",
|
|
|
"ext:geosite_IR.dat:category-ads-all"
|
|
|
],
|
|
|
+ security: [
|
|
|
+ "ext:geosite_IR.dat:malware",
|
|
|
+ "ext:geosite_IR.dat:phishing",
|
|
|
+ "ext:geosite_IR.dat:cryptominers"
|
|
|
+ ],
|
|
|
speedtest: ["geosite:speedtest"],
|
|
|
openai: ["geosite:openai"],
|
|
|
google: ["geosite:google"],
|
|
@@ -560,7 +566,7 @@
|
|
|
ir: [
|
|
|
"regexp:.*\\.ir$",
|
|
|
"regexp:.*\\.xn--mgba3a4f16a$", // .ایران
|
|
|
- "ext:geosite_IR.dat:ir" // have rules to bypass all .ir domains.
|
|
|
+ "ext:geosite_IR.dat:ir"
|
|
|
],
|
|
|
vn: [
|
|
|
"regexp:.*\\.vn$",
|
|
@@ -571,9 +577,7 @@
|
|
|
familyProtectDNS: {
|
|
|
"servers": [
|
|
|
"1.1.1.3", // https://developers.cloudflare.com/1.1.1.1/setup/
|
|
|
- "1.0.0.3",
|
|
|
- "94.140.14.15", // https://adguard-dns.io/kb/general/dns-providers/
|
|
|
- "94.140.15.16"
|
|
|
+ "1.0.0.3"
|
|
|
],
|
|
|
"queryStrategy": "UseIPv4"
|
|
|
},
|
|
@@ -1182,6 +1186,18 @@
|
|
|
}
|
|
|
},
|
|
|
},
|
|
|
+ SecuritySettings: {
|
|
|
+ get: function () {
|
|
|
+ return doAllItemsExist(this.settingsData.domains.security, this.blockedDomains);
|
|
|
+ },
|
|
|
+ set: function (newValue) {
|
|
|
+ if (newValue) {
|
|
|
+ this.blockedDomains = [...this.blockedDomains, ...this.settingsData.domains.security];
|
|
|
+ } else {
|
|
|
+ this.blockedDomains = this.blockedDomains.filter(data => !this.settingsData.domains.security.includes(data));
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
SpeedTestSettings: {
|
|
|
get: function () {
|
|
|
return doAllItemsExist(this.settingsData.domains.speedtest, this.blockedDomains);
|