diff options
| author | Alireza Ahmadi <alireza7@gmail.com> | 2024-10-10 22:38:56 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-10 22:38:56 +0300 |
| commit | c385662783e6b95c5002745dfda6418762f05e47 (patch) | |
| tree | bd7e43b760a17a8ba76e94023c9a73c32995f5b7 | |
| parent | 4a05188a7f505e9e820b5e12799f4955fcc481c1 (diff) | |
simplified basic routing (#2579)
| -rw-r--r-- | web/html/xui/xray.html | 616 | ||||
| -rw-r--r-- | web/translation/translate.en_US.toml | 46 | ||||
| -rw-r--r-- | web/translation/translate.es_ES.toml | 39 | ||||
| -rw-r--r-- | web/translation/translate.fa_IR.toml | 39 | ||||
| -rw-r--r-- | web/translation/translate.id_ID.toml | 39 | ||||
| -rw-r--r-- | web/translation/translate.pt_BR.toml | 39 | ||||
| -rw-r--r-- | web/translation/translate.ru_RU.toml | 39 | ||||
| -rw-r--r-- | web/translation/translate.tr_TR.toml | 39 | ||||
| -rw-r--r-- | web/translation/translate.uk_UA.toml | 39 | ||||
| -rw-r--r-- | web/translation/translate.vi_VN.toml | 39 | ||||
| -rw-r--r-- | web/translation/translate.zh_CN.toml | 39 | ||||
| -rw-r--r-- | web/translation/translate.zh_TW.toml | 39 |
12 files changed, 202 insertions, 850 deletions
diff --git a/web/html/xui/xray.html b/web/html/xui/xray.html index f467c97a..ac97b1f1 100644 --- a/web/html/xui/xray.html +++ b/web/html/xui/xray.html @@ -228,14 +228,10 @@ </a-row> <a-list-item> <setting-list-item type="switch" title='{{ i18n "pages.xray.Torrent"}}' desc='{{ i18n "pages.xray.TorrentDesc"}}' v-model="torrentSettings"></setting-list-item> - <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-list-item> </a-collapse-panel> - <a-collapse-panel header='{{ i18n "pages.xray.blockConnectionsConfigs"}}'> + <a-collapse-panel header='{{ i18n "pages.xray.basicRouting"}}'> <a-row :xs="24" :sm="24" :lg="12"> <a-alert type="warning" style="text-align: center;"> <template slot="message"> @@ -245,36 +241,44 @@ </a-alert> </a-row> <a-list-item> - <a-collapse> - <a-collapse-panel header='{{ i18n "pages.xray.blockips"}}'> - <setting-list-item type="switch" title='🇮🇷 Iran' - v-model="IRIpSettings"></setting-list-item> - <setting-list-item type="switch" title='🇨🇳 China' - v-model="ChinaIpSettings"></setting-list-item> - <setting-list-item type="switch" title='🇷🇺 Russia' - v-model="RussiaIpSettings"></setting-list-item> - <setting-list-item type="switch" title='🇻🇳 Vietnam' - v-model="VNIpSettings"></setting-list-item> - </a-collapse-panel> - </a-collapse> - <br> - <a-collapse> - <a-collapse-panel header='{{ i18n "pages.xray.blockdomains"}}'> - <setting-list-item type="switch" title='🇮🇷 Iran' - v-model="IRDomainSettings"></setting-list-item> - <setting-list-item type="switch" title='🇨🇳 China' - v-model="ChinaDomainSettings"></setting-list-item> - <setting-list-item type="switch" title='🇷🇺 Russia' - v-model="RussiaDomainSettings"></setting-list-item> - <setting-list-item type="switch" title='🇻🇳 Vietnam' - v-model="VNDomainSettings"></setting-list-item> - </a-collapse-panel> - </a-collapse> + <a-row style="padding: 0 20px"> + <a-col :lg="24" :xl="12"> + <a-list-item-meta + title='{{ i18n "pages.xray.blockips" }}'/> + </a-col> + <a-col :lg="24" :xl="12"> + <template> + <a-select mode="tags" v-model="blockedIPs" style="width: 100%" + :dropdown-class-name="themeSwitcher.currentTheme"> + <a-select-option :value="p.value" :label="p.label" + v-for="p in settingsData.IPsOptions"> [[ p.label ]] + </a-select-option> + </a-select> + </template> + </a-col> + </a-row> + </a-list-item> + <a-list-item> + <a-row style="padding: 0 20px"> + <a-col :lg="24" :xl="12"> + <a-list-item-meta + title='{{ i18n "pages.xray.blockdomains" }}'/> + </a-col> + <a-col :lg="24" :xl="12"> + <template> + <a-select mode="tags" style="width: 100%" + v-model="blockedDomains" + :dropdown-class-name="themeSwitcher.currentTheme"> + <a-select-option :value="p.value" :label="p.label" + v-for="p in settingsData.DomainsOptions"> [[ p.label ]] + </a-select-option> + </a-select> + </template> + </a-col> + </a-row> </a-list-item> - </a-collapse-panel> - <a-collapse-panel header='{{ i18n "pages.xray.directConnectionsConfigs"}}'> <a-row :xs="24" :sm="24" :lg="12"> - <a-alert type="warning" style="text-align: center;"> + <a-alert type="warning" style="text-align: center; margin-top: 20px;"> <template slot="message"> <a-icon type="exclamation-circle" theme="filled" style="color: #FFA031"></a-icon> {{ i18n "pages.xray.directConnectionsConfigsDesc" }} @@ -282,65 +286,99 @@ </a-alert> </a-row> <a-list-item> - <a-collapse> - <a-collapse-panel header='{{ i18n "pages.xray.directips"}}'> - <setting-list-item type="switch" title='🇮🇷 Iran' - v-model="IRIpDirectSettings"></setting-list-item> - <setting-list-item type="switch" title='🇨🇳 China' - v-model="ChinaIpDirectSettings"></setting-list-item> - <setting-list-item type="switch" title='🇷🇺 Russia' - v-model="RussiaIpDirectSettings"></setting-list-item> - <setting-list-item type="switch" title='🇻🇳 Vietnam' - v-model="VNIpDirectSettings"></setting-list-item> - </a-collapse-panel> - </a-collapse> - <br> - <a-collapse> - <a-collapse-panel header='{{ i18n "pages.xray.directdomains"}}'> - <setting-list-item type="switch" title='🇮🇷 Iran' - v-model="IRDomainDirectSettings"></setting-list-item> - <setting-list-item type="switch" title='🇨🇳 China' - v-model="ChinaDomainDirectSettings"></setting-list-item> - <setting-list-item type="switch" title='🇷🇺 Russia' - v-model="RussiaDomainDirectSettings"></setting-list-item> - <setting-list-item type="switch" title='🇻🇳 Vietnam' - v-model="VNDomainDirectSettings"></setting-list-item> - </a-collapse-panel> - </a-collapse> + <a-row style="padding: 0 20px"> + <a-col :lg="24" :xl="12"> + <a-list-item-meta + title='{{ i18n "pages.xray.directips" }}'/> + </a-col> + <a-col :lg="24" :xl="12"> + <template> + <a-select mode="tags" style="width: 100%" + v-model="directIPs" + :dropdown-class-name="themeSwitcher.currentTheme"> + <a-select-option :value="p.value" :label="p.label" + v-for="p in settingsData.IPsOptions"> [[ p.label ]] + </a-select-option> + </a-select> + </template> + </a-col> + </a-row> + </a-list-item> + <a-list-item> + <a-row style="padding: 0 20px"> + <a-col :lg="24" :xl="12"> + <a-list-item-meta + title='{{ i18n "pages.xray.directdomains" }}'/> + </a-col> + <a-col :lg="24" :xl="12"> + <template> + <a-select mode="tags" style="width: 100%" + v-model="directDomains" + :dropdown-class-name="themeSwitcher.currentTheme"> + <a-select-option :value="p.value" :label="p.label" + v-for="p in settingsData.DomainsOptions"> [[ p.label ]] + </a-select-option> + </a-select> + </template> + </a-col> + </a-row> </a-list-item> - </a-collapse-panel> - <a-collapse-panel header='{{ i18n "pages.xray.ipv4Configs"}}'> <a-row :xs="24" :sm="24" :lg="12"> - <a-alert type="warning" style="text-align: center;"> + <a-alert type="warning" style="text-align: center; margin-top: 20px;"> <template slot="message"> <a-icon type="exclamation-circle" theme="filled" style="color: #FFA031"></a-icon> - {{ i18n "pages.xray.ipv4ConfigsDesc" }} + {{ i18n "pages.xray.ipv4RoutingDesc" }} </template> </a-alert> </a-row> <a-list-item> - <setting-list-item type="switch" title='{{ i18n "pages.xray.GoogleIPv4"}}' desc='{{ i18n "pages.xray.GoogleIPv4Desc"}}' v-model="GoogleIPv4Settings"></setting-list-item> - <setting-list-item type="switch" title='{{ i18n "pages.xray.NetflixIPv4"}}' desc='{{ i18n "pages.xray.NetflixIPv4Desc"}}' v-model="NetflixIPv4Settings"></setting-list-item> + <a-row style="padding: 0 20px"> + <a-col :lg="24" :xl="12"> + <a-list-item-meta + title='{{ i18n "pages.xray.ipv4Routing" }}'/> + </a-col> + <a-col :lg="24" :xl="12"> + <template> + <a-select mode="tags" style="width: 100%" + v-model="ipv4Domains" + :dropdown-class-name="themeSwitcher.currentTheme"> + <a-select-option :value="p.value" :label="p.label" + v-for="p in settingsData.ServicesOptions"> [[ p.label ]] + </a-select-option> + </a-select> + </template> + </a-col> + </a-row> </a-list-item> - </a-collapse-panel> - <a-collapse-panel header='{{ i18n "pages.xray.warpConfigs"}}'> <a-row :xs="24" :sm="24" :lg="12"> - <a-alert type="warning" style="text-align: center;"> + <a-alert type="warning" style="text-align: center; margin-top: 20px;"> <template slot="message"> <a-icon type="exclamation-circle" theme="filled" style="color: #FFA031"></a-icon> - {{ i18n "pages.xray.warpConfigsDesc" }} + {{ i18n "pages.xray.warpRoutingDesc" }} </template> </a-alert> </a-row> <a-list-item> <template v-if="WarpExist"> - <setting-list-item type="switch" title='{{ i18n "pages.xray.GoogleWARP"}}' desc='{{ i18n "pages.xray.GoogleWARPDesc"}}' v-model="GoogleWARPSettings"></setting-list-item> - <setting-list-item type="switch" title='{{ i18n "pages.xray.OpenAIWARP"}}' desc='{{ i18n "pages.xray.OpenAIWARPDesc"}}' v-model="OpenAIWARPSettings"></setting-list-item> - <setting-list-item type="switch" title='{{ i18n "pages.xray.NetflixWARP"}}' desc='{{ i18n "pages.xray.NetflixWARPDesc"}}' v-model="NetflixWARPSettings"></setting-list-item> - <setting-list-item type="switch" title='{{ i18n "pages.xray.SpotifyWARP"}}' desc='{{ i18n "pages.xray.SpotifyWARPDesc"}}' v-model="SpotifyWARPSettings"></setting-list-item> - <setting-list-item type="switch" title='{{ i18n "pages.xray.MetaWARP"}}' desc='{{ i18n "pages.xray.MetaWARPDesc"}}' v-model="MetaWARPSettings"></setting-list-item> - <setting-list-item type="switch" title='{{ i18n "pages.xray.AppleWARP"}}' desc='{{ i18n "pages.xray.AppleWARPDesc"}}' v-model="AppleWARPSettings"></setting-list-item> - <setting-list-item type="switch" title='{{ i18n "pages.xray.RedditWARP"}}' desc='{{ i18n "pages.xray.RedditWARPDesc"}}' v-model="RedditWARPSettings"></setting-list-item> + <a-list-item> + <a-row style="padding: 0 20px"> + <a-col :lg="24" :xl="12"> + <a-list-item-meta + title='{{ i18n "pages.xray.warpRouting" }}'/> + </a-col> + <a-col :lg="24" :xl="12"> + <template> + <a-select mode="tags" style="width: 100%" + v-model="warpDomains" + :dropdown-class-name="themeSwitcher.currentTheme"> + <a-select-option :value="p.value" :label="p.label" + v-for="p in settingsData.ServicesOptions"> [[ p.label ]] + </a-select-option> + </a-select> + </template> + </a-col> + </a-row> + </a-list-item> </template> <a-button style="margin-left: 20px;" v-else type="primary" icon="cloud" @click="showWarp()">WARP</a-button> </a-list-item> @@ -859,52 +897,40 @@ protocols: { bittorrent: ["bittorrent"], }, - ips: { - local: ["geoip:private"], - cn: ["geoip:cn"], - ir: ["ext:geoip_IR.dat:ir"], - ru: ["geoip:ru"], - vn: ["ext:geoip_VN.dat:vn"], - }, - domains: { - ads: [ - "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"], - spotify: ["geosite:spotify"], - netflix: ["geosite:netflix"], - meta: ["geosite:meta"], - apple: ["geosite:apple"], - reddit: ["geosite:reddit"], - cn: [ - "regexp:.*\\.cn$", - "geosite:cn" - ], - ru: [ - "regexp:.*\\.ru$", - "geosite:category-ru" //https://github.com/v2fly/domain-list-community/blob/master/data/category-ru - - ], - ir: [ - "regexp:.*\\.ir$", - "ext:geosite_IR.dat:ir", - "geosite:category-ir", // https://github.com/v2fly/domain-list-community/blob/master/data/category-ir - "regexp:.*\\.xn--mgba3a4f16a$" // .ایران - ], - vn: [ - "regexp:.*\\.vn$", - "ext:geosite_VN.dat:vn", - "ext:geosite_VN.dat:ads" - ] - }, + IPsOptions: [ + { label: 'Private IP', value: 'geoip:private' }, + { label: '🇮🇷 Iran', value: 'ext:geoip_IR.dat:ir' }, + { label: '🇨🇳 China', value: 'geoip:cn' }, + { label: '🇷🇺 Russia', value: 'geoip:ru' }, + { label: '🇻🇳 Vietnam', value: 'ext:geoip_VN.dat:vn' }, + ], + DomainsOptions: [ + { label: 'Ads All', value: 'geosite:category-ads-all' }, + { label: 'Ads IR', value: 'ext:geosite_IR.dat:category-ads-all' }, + { label: 'Ads VN', value: 'ext:geosite_VN.dat:ads' }, + { label: 'Sec-IR malware', value: 'geosite_IR.dat:malware' }, + { label: 'Sec-IR phishing', value: 'geosite_IR.dat:phishing' }, + { label: 'Sec-IR cryptominers', value: 'geosite_IR.dat:cryptominers' }, + { label: '🇮🇷 Iran', value: 'ext:geosite_IR.dat:ir' }, + { label: '🇮🇷 .ir', value: 'regexp:.*\\.ir$' }, + { label: '🇮🇷 .ایران', value: 'regexp:.*\\.xn--mgba3a4f16a$' }, + { label: '🇨🇳 China', value: 'geosite:cn' }, + { label: '🇨🇳 .cn', value: 'regexp:.*\\.cn$' }, + { label: '🇷🇺 Russia', value: 'geosite:category-ru' }, //https://github.com/v2fly/domain-list-community/blob/master/data/category-ru + { label: '🇷🇺 .ru', value: 'regexp:.*\\.ru' }, + { label: '🇻🇳 Vietnam', value: 'ext:geosite_VN.dat:vn' }, + { label: '🇻🇳 .vn', value: 'regexp:.*\\.vn$' }, + ], + ServicesOptions: [ + { label: 'Apple', value: 'geosite:apple' }, + { label: 'Meta', value: 'geosite:meta' }, + { label: 'Google', value: 'geosite:google' }, + { label: 'OpenAI', value: 'geosite:openai' }, + { label: 'Spotify', value: 'geosite:spotify' }, + { label: 'Netflix', value: 'geosite:netflix' }, + { label: 'Reddit', value: 'geosite:reddit' }, + { label: 'Speedtest', value: 'geosite:speedtest' }, + ], familyProtectDNS: { "servers": [ "1.1.1.3", // https://developers.cloudflare.com/1.1.1.1/setup/ @@ -1861,54 +1887,6 @@ } }, }, - privateIpSettings: { - get: function () { - return doAllItemsExist(this.settingsData.ips.local, this.blockedIPs); - }, - set: function (newValue) { - if (newValue) { - this.blockedIPs = [...this.blockedIPs, ...this.settingsData.ips.local]; - } else { - this.blockedIPs = this.blockedIPs.filter(data => !this.settingsData.ips.local.includes(data)); - } - }, - }, - AdsSettings: { - get: function () { - return doAllItemsExist(this.settingsData.domains.ads, this.blockedDomains); - }, - set: function (newValue) { - if (newValue) { - this.blockedDomains = [...this.blockedDomains, ...this.settingsData.domains.ads]; - } else { - this.blockedDomains = this.blockedDomains.filter(data => !this.settingsData.domains.ads.includes(data)); - } - }, - }, - 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); - }, - set: function (newValue) { - if (newValue) { - this.blockedDomains = [...this.blockedDomains, ...this.settingsData.domains.speedtest]; - } else { - this.blockedDomains = this.blockedDomains.filter(data => !this.settingsData.domains.speedtest.includes(data)); - } - }, - }, familyProtectSettings: { get: function () { if (!this.templateSettings || !this.templateSettings.dns || !this.templateSettings.dns.servers) return false; @@ -1924,311 +1902,11 @@ this.templateSettings = newTemplateSettings; }, }, - GoogleIPv4Settings: { - get: function () { - return doAllItemsExist(this.settingsData.domains.google, this.ipv4Domains); - }, - set: function (newValue) { - if (newValue) { - this.ipv4Domains = [...this.ipv4Domains, ...this.settingsData.domains.google]; - } else { - this.ipv4Domains = this.ipv4Domains.filter(data => !this.settingsData.domains.google.includes(data)); - } - }, - }, - NetflixIPv4Settings: { - get: function () { - return doAllItemsExist(this.settingsData.domains.netflix, this.ipv4Domains); - }, - set: function (newValue) { - if (newValue) { - this.ipv4Domains = [...this.ipv4Domains, ...this.settingsData.domains.netflix]; - } else { - this.ipv4Domains = this.ipv4Domains.filter(data => !this.settingsData.domains.netflix.includes(data)); - } - }, - }, - IRIpSettings: { - get: function () { - return doAllItemsExist(this.settingsData.ips.ir, this.blockedIPs); - }, - set: function (newValue) { - if (newValue) { - this.blockedIPs = [...this.blockedIPs, ...this.settingsData.ips.ir]; - } else { - this.blockedIPs = this.blockedIPs.filter(data => !this.settingsData.ips.ir.includes(data)); - } - } - }, - IRDomainSettings: { - get: function () { - return doAllItemsExist(this.settingsData.domains.ir, this.blockedDomains); - }, - set: function (newValue) { - if (newValue) { - this.blockedDomains = [...this.blockedDomains, ...this.settingsData.domains.ir]; - } else { - this.blockedDomains = this.blockedDomains.filter(data => !this.settingsData.domains.ir.includes(data)); - } - } - }, - ChinaIpSettings: { - get: function () { - return doAllItemsExist(this.settingsData.ips.cn, this.blockedIPs); - }, - set: function (newValue) { - if (newValue) { - this.blockedIPs = [...this.blockedIPs, ...this.settingsData.ips.cn]; - } else { - this.blockedIPs = this.blockedIPs.filter(data => !this.settingsData.ips.cn.includes(data)); - } - } - }, - ChinaDomainSettings: { - get: function () { - return doAllItemsExist(this.settingsData.domains.cn, this.blockedDomains); - }, - set: function (newValue) { - if (newValue) { - this.blockedDomains = [...this.blockedDomains, ...this.settingsData.domains.cn]; - } else { - this.blockedDomains = this.blockedDomains.filter(data => !this.settingsData.domains.cn.includes(data)); - } - } - }, - RussiaIpSettings: { - get: function () { - return doAllItemsExist(this.settingsData.ips.ru, this.blockedIPs); - }, - set: function (newValue) { - if (newValue) { - this.blockedIPs = [...this.blockedIPs, ...this.settingsData.ips.ru]; - } else { - this.blockedIPs = this.blockedIPs.filter(data => !this.settingsData.ips.ru.includes(data)); - } - } - }, - RussiaDomainSettings: { - get: function () { - return doAllItemsExist(this.settingsData.domains.ru, this.blockedDomains); - }, - set: function (newValue) { - if (newValue) { - this.blockedDomains = [...this.blockedDomains, ...this.settingsData.domains.ru]; - } else { - this.blockedDomains = this.blockedDomains.filter(data => !this.settingsData.domains.ru.includes(data)); - } - } - }, - 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); - }, - set: function (newValue) { - if (newValue) { - this.directIPs = [...this.directIPs, ...this.settingsData.ips.ir]; - } else { - this.directIPs = this.directIPs.filter(data => !this.settingsData.ips.ir.includes(data)); - } - } - }, - IRDomainDirectSettings: { - get: function () { - return doAllItemsExist(this.settingsData.domains.ir, this.directDomains); - }, - set: function (newValue) { - if (newValue) { - this.directDomains = [...this.directDomains, ...this.settingsData.domains.ir]; - } else { - this.directDomains = this.directDomains.filter(data => !this.settingsData.domains.ir.includes(data)); - } - } - }, - ChinaIpDirectSettings: { - get: function () { - return doAllItemsExist(this.settingsData.ips.cn, this.directIPs); - }, - set: function (newValue) { - if (newValue) { - this.directIPs = [...this.directIPs, ...this.settingsData.ips.cn]; - } else { - this.directIPs = this.directIPs.filter(data => !this.settingsData.ips.cn.includes(data)); - } - } - }, - ChinaDomainDirectSettings: { - get: function () { - return doAllItemsExist(this.settingsData.domains.cn, this.directDomains); - }, - set: function (newValue) { - if (newValue) { - this.directDomains = [...this.directDomains, ...this.settingsData.domains.cn]; - } else { - this.directDomains = this.directDomains.filter(data => !this.settingsData.domains.cn.includes(data)); - } - } - }, - RussiaIpDirectSettings: { - get: function () { - return doAllItemsExist(this.settingsData.ips.ru, this.directIPs); - }, - set: function (newValue) { - if (newValue) { - this.directIPs = [...this.directIPs, ...this.settingsData.ips.ru]; - } else { - this.directIPs = this.directIPs.filter(data => !this.settingsData.ips.ru.includes(data)); - } - } - }, - RussiaDomainDirectSettings: { - get: function () { - return doAllItemsExist(this.settingsData.domains.ru, this.directDomains); - }, - set: function (newValue) { - if (newValue) { - this.directDomains = [...this.directDomains, ...this.settingsData.domains.ru]; - } else { - this.directDomains = this.directDomains.filter(data => !this.settingsData.domains.ru.includes(data)); - } - } - }, - 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)); - } - } - }, WarpExist: { get: function() { return this.templateSettings ? this.templateSettings.outbounds.findIndex((o) => o.tag == "warp")>=0 : false; }, }, - GoogleWARPSettings: { - get: function () { - return doAllItemsExist(this.settingsData.domains.google, this.warpDomains); - }, - set: function (newValue) { - if (newValue) { - this.warpDomains = [...this.warpDomains, ...this.settingsData.domains.google]; - } else { - this.warpDomains = this.warpDomains.filter(data => !this.settingsData.domains.google.includes(data)); - } - }, - }, - OpenAIWARPSettings: { - get: function () { - return doAllItemsExist(this.settingsData.domains.openai, this.warpDomains); - }, - set: function (newValue) { - if (newValue) { - this.warpDomains = [...this.warpDomains, ...this.settingsData.domains.openai]; - } else { - this.warpDomains = this.warpDomains.filter(data => !this.settingsData.domains.openai.includes(data)); - } - }, - }, - NetflixWARPSettings: { - get: function () { - return doAllItemsExist(this.settingsData.domains.netflix, this.warpDomains); - }, - set: function (newValue) { - if (newValue) { - this.warpDomains = [...this.warpDomains, ...this.settingsData.domains.netflix]; - } else { - this.warpDomains = this.warpDomains.filter(data => !this.settingsData.domains.netflix.includes(data)); - } - }, - }, - MetaWARPSettings: { - get: function () { - return doAllItemsExist(this.settingsData.domains.meta, this.warpDomains); - }, - set: function (newValue) { - if (newValue) { - this.warpDomains = [...this.warpDomains, ...this.settingsData.domains.meta]; - } else { - this.warpDomains = this.warpDomains.filter(data => !this.settingsData.domains.meta.includes(data)); - } - }, - }, - AppleWARPSettings: { - get: function () { - return doAllItemsExist(this.settingsData.domains.apple, this.warpDomains); - }, - set: function (newValue) { - if (newValue) { - this.warpDomains = [...this.warpDomains, ...this.settingsData.domains.apple]; - } else { - this.warpDomains = this.warpDomains.filter(data => !this.settingsData.domains.apple.includes(data)); - } - }, - }, - R
|
