Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/web/html
diff options
context:
space:
mode:
Diffstat (limited to 'web/html')
-rw-r--r--web/html/xui/xray.html78
1 files changed, 53 insertions, 25 deletions
diff --git a/web/html/xui/xray.html b/web/html/xui/xray.html
index 2a4989a7..a4965cf5 100644
--- a/web/html/xui/xray.html
+++ b/web/html/xui/xray.html
@@ -163,8 +163,8 @@
</a-col>
<a-col :lg="24" :xl="12">
<template>
- <a-select v-model="setLogLevel" :dropdown-class-name="themeSwitcher.currentTheme" style="width: 100%">
- <a-select-option v-for="s in logLevel" :value="s">[[ s ]]</a-select-option>
+ <a-select v-model="logLevel" :dropdown-class-name="themeSwitcher.currentTheme" style="width: 100%">
+ <a-select-option v-for="s in log.loglevel" :value="s">[[ s ]]</a-select-option>
</a-select>
</template>
</a-col>
@@ -178,7 +178,8 @@
<a-col :lg="24" :xl="12">
<template>
<a-select v-model="accessLog" :dropdown-class-name="themeSwitcher.currentTheme" style="width: 100%">
- <a-select-option v-for="s in access" :key="s" :value="s">[[ s ]]</a-select-option>
+ <a-select-option value=''>Empty</a-select-option>
+ <a-select-option v-for="s in log.access" :value="s">[[ s ]]</a-select-option>
</a-select>
</template>
</a-col>
@@ -192,11 +193,28 @@
<a-col :lg="24" :xl="12">
<template>
<a-select v-model="errorLog" :dropdown-class-name="themeSwitcher.currentTheme" style="width: 100%">
- <a-select-option v-for="s in error" :key="s" :value="s">[[ s ]]</a-select-option>
+ <a-select-option value=''>Empty</a-select-option>
+ <a-select-option v-for="s in log.error" :value="s">[[ s ]]</a-select-option>
</a-select>
</template>
</a-col>
</a-row>
+ <a-row style="padding: 10px 20px">
+ <a-col :lg="24" :xl="12">
+ <a-list-item-meta title='{{ i18n "pages.xray.maskAddress" }}'
+ description='{{ i18n "pages.xray.maskAddressDesc" }}'>
+ </a-list-item-meta>
+ </a-col>
+ <a-col :lg="24" :xl="12">
+ <template>
+ <a-select v-model="maskAddressLog" :dropdown-class-name="themeSwitcher.currentTheme" style="width: 100%">
+ <a-select-option value=''>Empty</a-select-option>
+ <a-select-option v-for="s in log.maskAddress" :value="s">[[ s ]]</a-select-option>
+ </a-select>
+ </template>
+ </a-col>
+ </a-row>
+ <setting-list-item type="switch" title='{{ i18n "pages.xray.dnsLog"}}' desc='{{ i18n "pages.xray.dnsLogDesc"}}' v-model="dnslog"></setting-list-item>
</a-list-item>
</a-collapse-panel>
<a-collapse-panel header='{{ i18n "pages.xray.blockConfigs"}}'>
@@ -791,9 +809,13 @@
protocol: "freedom"
},
routingDomainStrategies: ["AsIs", "IPIfNonMatch", "IPOnDemand"],
- logLevel: ["none" , "debug" , "info" , "warning", "error"],
- access: [],
- error: [],
+ log: {
+ loglevel: ["none", "debug", "info", "warning", "error"],
+ access: ["none", "./access.log"],
+ error: ["none", "./error.log"],
+ dnsLog: false,
+ maskAddress: ["quarter", "half", "full"],
+ },
settingsData: {
protocols: {
bittorrent: ["bittorrent"],
@@ -1519,27 +1541,11 @@
templateSettings: {
get: function () {
const parsedSettings = this.xraySetting ? JSON.parse(this.xraySetting) : null;
- let accessLogPath = "./access.log";
- let errorLogPath = "./error.log";
-
- if (parsedSettings && parsedSettings.log) {
- if (parsedSettings.log.access && parsedSettings.log.access !== "none") {
- accessLogPath = parsedSettings.log.access;
- }
- if (parsedSettings.log.error && parsedSettings.log.error !== "none") {
- errorLogPath = parsedSettings.log.error;
- }
- }
-
- this.access = ["none", accessLogPath];
- this.error = ["none", errorLogPath];
return parsedSettings;
},
set: function (newValue) {
- if (newValue && newValue.log) {
+ if (newValue) {
this.xraySetting = JSON.stringify(newValue, null, 2);
- this.access = ["none", newValue.log.access || "./access.log"];
- this.error = ["none", newValue.log.error || "./error.log"];
}
},
},
@@ -1688,7 +1694,7 @@
this.templateSettings = newTemplateSettings;
}
},
- setLogLevel: {
+ logLevel: {
get: function () {
if (!this.templateSettings || !this.templateSettings.log || !this.templateSettings.log.loglevel) return "warning";
return this.templateSettings.log.loglevel;
@@ -1721,6 +1727,28 @@
this.templateSettings = newTemplateSettings;
}
},
+ dnslog: {
+ get: function () {
+ if (!this.templateSettings || !this.templateSettings.log || !this.templateSettings.log.dnsLog) return false;
+ return this.templateSettings.log.dnsLog;
+ },
+ set: function (newValue) {
+ newTemplateSettings = this.templateSettings;
+ newTemplateSettings.log.dnsLog = newValue;
+ this.templateSettings = newTemplateSettings;
+ }
+ },
+ maskAddressLog: {
+ get: function () {
+ if (!this.templateSettings || !this.templateSettings.log || !this.templateSettings.log.maskAddress) return "";
+ return this.templateSettings.log.maskAddress;
+ },
+ set: function (newValue) {
+ newTemplateSettings = this.templateSettings;
+ newTemplateSettings.log.maskAddress = newValue;
+ this.templateSettings = newTemplateSettings;
+ }
+ },
blockedIPs: {
get: function () {
return this.templateRuleGetter({ outboundTag: "blocked", property: "ip" });