mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-05-12 19:28:05 +00:00
option - ban ir ip - ban ir domain
This commit is contained in:
parent
48d6362a69
commit
f2c28822c1
2 changed files with 75 additions and 2 deletions
|
@ -97,6 +97,8 @@
|
||||||
<a-list item-layout="horizontal" :style="siderDrawer.isDarkTheme ? 'color: hsla(0,0%,100%,.65);': 'background: white;'">
|
<a-list item-layout="horizontal" :style="siderDrawer.isDarkTheme ? 'color: hsla(0,0%,100%,.65);': 'background: white;'">
|
||||||
<setting-list-item type="switch" title='{{ i18n "pages.setting.xrayConfigTorrent"}}' desc='{{ i18n "pages.setting.xrayConfigTorrentDesc"}}' v-model="torrentSettings"></setting-list-item>
|
<setting-list-item type="switch" title='{{ i18n "pages.setting.xrayConfigTorrent"}}' desc='{{ i18n "pages.setting.xrayConfigTorrentDesc"}}' v-model="torrentSettings"></setting-list-item>
|
||||||
<setting-list-item type="switch" title='{{ i18n "pages.setting.xrayConfigPrivateIp"}}' desc='{{ i18n "pages.setting.xrayConfigPrivateIpDesc"}}' v-model="privateIpSettings"></setting-list-item>
|
<setting-list-item type="switch" title='{{ i18n "pages.setting.xrayConfigPrivateIp"}}' desc='{{ i18n "pages.setting.xrayConfigPrivateIpDesc"}}' v-model="privateIpSettings"></setting-list-item>
|
||||||
|
<setting-list-item type="switch" title='{{ i18n "pages.setting.xrayConfigIRIp"}}' desc='{{ i18n "pages.setting.xrayConfigIRIpDesc"}}' v-model="IRIpSettings"></setting-list-item>
|
||||||
|
<setting-list-item type="switch" title='{{ i18n "pages.setting.xrayConfigIRdomain"}}' desc='{{ i18n "pages.setting.xrayConfigIRdomainDesc"}}' v-model="IRdomainSettings"></setting-list-item>
|
||||||
<a-divider>{{ i18n "pages.setting.advancedTemplate"}}</a-divider>
|
<a-divider>{{ i18n "pages.setting.advancedTemplate"}}</a-divider>
|
||||||
<a-collapse>
|
<a-collapse>
|
||||||
<a-collapse-panel header="{{ i18n "pages.setting.xrayConfigInbounds"}}">
|
<a-collapse-panel header="{{ i18n "pages.setting.xrayConfigInbounds"}}">
|
||||||
|
@ -304,6 +306,73 @@
|
||||||
this.templateSettings = newTemplateSettings
|
this.templateSettings = newTemplateSettings
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
IRIpSettings: {
|
||||||
|
get: function () {
|
||||||
|
localIpFilter = false
|
||||||
|
if(this.templateSettings != null){
|
||||||
|
this.templateSettings.routing.rules.forEach(routingRule => {
|
||||||
|
if(routingRule.hasOwnProperty("ip")){
|
||||||
|
if (routingRule.ip[0] === "geoip:ir" && routingRule.outboundTag == "blocked"){
|
||||||
|
localIpFilter = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return localIpFilter
|
||||||
|
},
|
||||||
|
set: function (newValue) {
|
||||||
|
newTemplateSettings = JSON.parse(this.allSetting.xrayTemplateConfig);
|
||||||
|
if (newValue){
|
||||||
|
newTemplateSettings.routing.rules.push(JSON.parse("{\"outboundTag\": \"blocked\",\"ip\": [\"geoip:ir\"],\"type\": \"field\"}"))
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
newTemplateSettings.routing.rules = [];
|
||||||
|
this.templateSettings.routing.rules.forEach(routingRule => {
|
||||||
|
if (routingRule.hasOwnProperty('ip')){
|
||||||
|
if (routingRule.ip[0] === "geoip:ir" && routingRule.outboundTag == "blocked"){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
newTemplateSettings.routing.rules.push(routingRule);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.templateSettings = newTemplateSettings
|
||||||
|
},
|
||||||
|
},
|
||||||
|
IRdomainSettings: {
|
||||||
|
get: function () {
|
||||||
|
localdomainFilter = false
|
||||||
|
if(this.templateSettings != null){
|
||||||
|
this.templateSettings.routing.rules.forEach(routingRule => {
|
||||||
|
if(routingRule.hasOwnProperty("domain")){
|
||||||
|
if (routingRule.domain[0] === "regexp:.+.ir$" && routingRule.outboundTag == "blocked"){
|
||||||
|
localdomainFilter = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return localdomainFilter
|
||||||
|
},
|
||||||
|
set: function (newValue) {
|
||||||
|
newTemplateSettings = JSON.parse(this.allSetting.xrayTemplateConfig);
|
||||||
|
if (newValue){
|
||||||
|
newTemplateSettings.routing.rules.push(JSON.parse("{\"outboundTag\": \"blocked\",\"domain\": [\"regexp:.+.ir$\"],\"type\": \"field\"}"))
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
newTemplateSettings.routing.rules = [];
|
||||||
|
this.templateSettings.routing.rules.forEach(routingRule => {
|
||||||
|
if (routingRule.hasOwnProperty('domain')){
|
||||||
|
if (routingRule.domain[0] === "regexp:.+.ir$" && routingRule.outboundTag == "blocked"){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
newTemplateSettings.routing.rules.push(routingRule);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.templateSettings = newTemplateSettings
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -202,8 +202,12 @@
|
||||||
"xrayConfigTemplateDesc" = "Generate the final xray configuration file based on this template, restart the panel to take effect."
|
"xrayConfigTemplateDesc" = "Generate the final xray configuration file based on this template, restart the panel to take effect."
|
||||||
"xrayConfigTorrent" = "Ban bittorrent usage"
|
"xrayConfigTorrent" = "Ban bittorrent usage"
|
||||||
"xrayConfigTorrentDesc" = "Change the configuration temlate to avoid using bittorrent by users, restart the panel to take effect"
|
"xrayConfigTorrentDesc" = "Change the configuration temlate to avoid using bittorrent by users, restart the panel to take effect"
|
||||||
"xrayConfigPrivateIp" = "Ban private ip range to connect"
|
"xrayConfigPrivateIp" = "Ban private IP ranges to connect"
|
||||||
"xrayConfigPrivateIpDesc" = "Change the configuration temlate to avoid connecting with private IP ranges, restart the panel to take effect"
|
"xrayConfigPrivateIpDesc" = "Change the configuration temlate to avoid connecting with private IP ranges, restart the panel to take effect"
|
||||||
|
"xrayConfigIRIp" = "Ban Iran IP ranges to connect"
|
||||||
|
"xrayConfigIRIpDesc" = "Change the configuration temlate to avoid connecting with Iran IP ranges, restart the panel to take effect"
|
||||||
|
"xrayConfigIRdomain" = "Ban IR domains to connect"
|
||||||
|
"xrayConfigIRdomainDesc" = "Change the configuration temlate to avoid connecting with IR domains, restart the panel to take effect"
|
||||||
"xrayConfigInbounds" = "Configuration of Inbounds"
|
"xrayConfigInbounds" = "Configuration of Inbounds"
|
||||||
"xrayConfigInboundsDesc" = "Change the configuration temlate to accept special clients, restart the panel to take effect"
|
"xrayConfigInboundsDesc" = "Change the configuration temlate to accept special clients, restart the panel to take effect"
|
||||||
"xrayConfigOutbounds" = "Configuration of Outbounds"
|
"xrayConfigOutbounds" = "Configuration of Outbounds"
|
||||||
|
|
Loading…
Reference in a new issue