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/client_bulk_modal.html6
-rw-r--r--web/html/xui/form/client.html4
-rw-r--r--web/html/xui/form/protocol/shadowsocks.html4
-rw-r--r--web/html/xui/form/protocol/trojan.html4
-rw-r--r--web/html/xui/form/protocol/vless.html4
-rw-r--r--web/html/xui/form/protocol/vmess.html4
-rw-r--r--web/html/xui/inbounds.html28
-rw-r--r--web/html/xui/settings.html18
8 files changed, 55 insertions, 17 deletions
diff --git a/web/html/xui/client_bulk_modal.html b/web/html/xui/client_bulk_modal.html
index 076579a9..48eb2cbc 100644
--- a/web/html/xui/client_bulk_modal.html
+++ b/web/html/xui/client_bulk_modal.html
@@ -33,7 +33,7 @@
<span slot="label">{{ i18n "pages.client.clientCount" }}</span>
<a-input-number v-model="clientsBulkModal.quantity" :min="1" :max="100"></a-input-number>
</a-form-item>
- <a-form-item>
+ <a-form-item v-if="app.subSettings.enable">
<span slot="label">
Subscription
<a-tooltip>
@@ -45,7 +45,7 @@
</span>
<a-input v-model.trim="clientsBulkModal.subId"></a-input>
</a-form-item>
- <a-form-item>
+ <a-form-item v-if="app.tgBotEnable">
<span slot="label">
Telegram ID
<a-tooltip>
@@ -204,6 +204,7 @@
case Protocols.VMESS: return clientSettings.vmesses;
case Protocols.VLESS: return clientSettings.vlesses;
case Protocols.TROJAN: return clientSettings.trojans;
+ case Protocols.SHADOWSOCKS: return clientSettings.shadowsockses;
default: return null;
}
},
@@ -212,6 +213,7 @@
case Protocols.VMESS: return new Inbound.VmessSettings.Vmess();
case Protocols.VLESS: return new Inbound.VLESSSettings.VLESS();
case Protocols.TROJAN: return new Inbound.TrojanSettings.Trojan();
+ case Protocols.SHADOWSOCKS: return new Inbound.ShadowsocksSettings.Shadowsocks();
default: return null;
}
},
diff --git a/web/html/xui/form/client.html b/web/html/xui/form/client.html
index 625ff0ca..9494f0ac 100644
--- a/web/html/xui/form/client.html
+++ b/web/html/xui/form/client.html
@@ -34,7 +34,7 @@
<a-icon @click="client.id = RandomUtil.randomUUID()" type="sync"> </a-icon>
<a-input v-model.trim="client.id" style="width: 300px;"></a-input>
</a-form-item>
- <a-form-item v-if="client.email">
+ <a-form-item v-if="client.email && app.subSettings.enable">
<span slot="label">
Subscription
<a-tooltip>
@@ -47,7 +47,7 @@
<a-icon @click="client.subId = RandomUtil.randomText()" type="sync"> </a-icon>
<a-input v-model.trim="client.subId" style="width: 150px;"></a-input>
</a-form-item>
- <a-form-item v-if="client.email">
+ <a-form-item v-if="client.email && app.tgBotEnable" >
<span slot="label">
Telegram ID
<a-tooltip>
diff --git a/web/html/xui/form/protocol/shadowsocks.html b/web/html/xui/form/protocol/shadowsocks.html
index aa3fde18..45385300 100644
--- a/web/html/xui/form/protocol/shadowsocks.html
+++ b/web/html/xui/form/protocol/shadowsocks.html
@@ -18,7 +18,7 @@
<a-icon @click="client.password = RandomUtil.randomShadowsocksPassword()" type="sync"> </a-icon>
<a-input v-model.trim="client.password" style="width: 250px;"></a-input>
</a-form-item>
- <a-form-item v-if="client.email">
+ <a-form-item v-if="client.email && app.subSettings.enable">
<span slot="label">
Subscription
<a-tooltip>
@@ -31,7 +31,7 @@
<a-icon @click="client.subId = RandomUtil.randomText()" type="sync"> </a-icon>
<a-input v-model.trim="client.subId" style="width: 150px;"></a-input>
</a-form-item>
- <a-form-item v-if="client.email">
+ <a-form-item v-if="client.email && app.tgBotEnable">
<span slot="label">
Telegram ID
<a-tooltip>
diff --git a/web/html/xui/form/protocol/trojan.html b/web/html/xui/form/protocol/trojan.html
index b6a57644..caec459a 100644
--- a/web/html/xui/form/protocol/trojan.html
+++ b/web/html/xui/form/protocol/trojan.html
@@ -18,7 +18,7 @@
<a-icon @click="client.password = RandomUtil.randomSeq(10)" type="sync"> </a-icon>
<a-input v-model.trim="client.password" style="width: 150px;"></a-input>
</a-form-item>
- <a-form-item v-if="client.email">
+ <a-form-item v-if="client.email && app.subSettings.enable">
<span slot="label">
Subscription
<a-tooltip>
@@ -31,7 +31,7 @@
<a-icon @click="client.subId = RandomUtil.randomText()" type="sync"> </a-icon>
<a-input v-model.trim="client.subId" style="width: 150px;"></a-input>
</a-form-item>
- <a-form-item v-if="client.email">
+ <a-form-item v-if="client.email && app.tgBotEnable">
<span slot="label">
Telegram ID
<a-tooltip>
diff --git a/web/html/xui/form/protocol/vless.html b/web/html/xui/form/protocol/vless.html
index f2678065..3155ee28 100644
--- a/web/html/xui/form/protocol/vless.html
+++ b/web/html/xui/form/protocol/vless.html
@@ -18,7 +18,7 @@
<a-icon @click="client.id = RandomUtil.randomUUID()" type="sync"> </a-icon>
<a-input v-model.trim="client.id" style="width: 300px;"></a-input>
</a-form-item>
- <a-form-item v-if="client.email">
+ <a-form-item v-if="client.email && app.subSettings.enable">
<span slot="label">
Subscription
<a-tooltip>
@@ -31,7 +31,7 @@
<a-icon @click="client.subId = RandomUtil.randomText()" type="sync"> </a-icon>
<a-input v-model.trim="client.subId" style="width: 150px;"></a-input>
</a-form-item>
- <a-form-item v-if="client.email">
+ <a-form-item v-if="client.email && app.tgBotEnable">
<span slot="label">
Telegram ID
<a-tooltip>
diff --git a/web/html/xui/form/protocol/vmess.html b/web/html/xui/form/protocol/vmess.html
index d46c16f9..469440c6 100644
--- a/web/html/xui/form/protocol/vmess.html
+++ b/web/html/xui/form/protocol/vmess.html
@@ -23,7 +23,7 @@
<a-icon @click="client.id = RandomUtil.randomUUID()" type="sync"> </a-icon>
<a-input v-model.trim="client.id" style="width: 300px;"></a-input>
</a-form-item>
- <a-form-item v-if="client.email">
+ <a-form-item v-if="client.email && app.subSettings.enable">
<span slot="label">
Subscription
<a-tooltip>
@@ -36,7 +36,7 @@
<a-icon @click="client.subId = RandomUtil.randomText()" type="sync"> </a-icon>
<a-input v-model.trim="client.subId" style="width: 150px;"></a-input>
</a-form-item>
- <a-form-item v-if="client.email">
+ <a-form-item v-if="client.email && app.tgBotEnable">
<span slot="label">
Telegram ID
<a-tooltip>
diff --git a/web/html/xui/inbounds.html b/web/html/xui/inbounds.html
index b15798d4..e4d76f7e 100644
--- a/web/html/xui/inbounds.html
+++ b/web/html/xui/inbounds.html
@@ -343,7 +343,15 @@
clientCount: {},
isRefreshEnabled: localStorage.getItem("isRefreshEnabled") === "true" ? true : false,
refreshing: false,
- refreshInterval: Number(localStorage.getItem("refreshInterval")) || 5000
+ refreshInterval: Number(localStorage.getItem("refreshInterval")) || 5000,
+ subSettings: {
+ enable : false,
+ port: 0,
+ path: '',
+ domain: '',
+ tls: false
+ },
+ tgBotEnable: false
},
methods: {
loading(spinning = true) {
@@ -365,10 +373,20 @@
if (!msg.success) {
return;
}
- this.expireDiff = msg.obj.expireDiff * 86400000;
- this.trafficDiff = msg.obj.trafficDiff * 1073741824;
- this.defaultCert = msg.obj.defaultCert;
- this.defaultKey = msg.obj.defaultKey;
+ with(msg.obj){
+ this.expireDiff = expireDiff * 86400000;
+ this.trafficDiff = trafficDiff * 1073741824;
+ this.defaultCert = defaultCert;
+ this.defaultKey = defaultKey;
+ this.tgBotEnable = tgBotEnable;
+ this.subSettings = {
+ enable : subEnable,
+ port: subPort,
+ path: subPath,
+ domain: subDomain,
+ tls: subTLS
+ };
+ }
},
setInbounds(dbInbounds) {
this.inbounds.splice(0);
diff --git a/web/html/xui/settings.html b/web/html/xui/settings.html
index f5ea4994..b838b17f 100644
--- a/web/html/xui/settings.html
+++ b/web/html/xui/settings.html
@@ -363,6 +363,24 @@
</a-list-item>
</a-list>
</a-tab-pane>
+ <a-tab-pane key="5" tab='{{ i18n "pages.settings.subSettings" }}'>
+ <a-row :xs="24" :sm="24" :lg="12">
+ <h2 style="color: inherit; font-weight: bold; font-size: 18px; padding: 20px 20px; text-align: center;">
+ <a-icon type="warning" style="color: inherit; font-size: 24px;"></a-icon>
+ {{ i18n "pages.settings.infoDesc" }}
+ </h2>
+ </a-row>
+ <a-list item-layout="horizontal" :style="themeSwitcher.textStyle">
+ <setting-list-item type="switch" title='{{ i18n "pages.settings.subEnable"}}' desc='{{ i18n "pages.settings.subEnableDesc"}}' v-model="allSetting.subEnable"></setting-list-item>
+ <setting-list-item type="text" title='{{ i18n "pages.settings.subListen"}}' desc='{{ i18n "pages.settings.subListenDesc"}}' v-model="allSetting.subListen"></setting-list-item>
+ <setting-list-item type="number" title='{{ i18n "pages.settings.subPort"}}' desc='{{ i18n "pages.settings.subPortDesc"}}' v-model.number="allSetting.subPort"></setting-list-item>
+ <setting-list-item type="text" title='{{ i18n "pages.settings.subPath"}}' desc='{{ i18n "pages.settings.subPathDesc"}}' v-model="allSetting.subPath"></setting-list-item>
+ <setting-list-item type="text" title='{{ i18n "pages.settings.subDomain"}}' desc='{{ i18n "pages.settings.subDomainDesc"}}' v-model="allSetting.subDomain"></setting-list-item>
+ <setting-list-item type="text" title='{{ i18n "pages.settings.subCertPath"}}' desc='{{ i18n "pages.settings.subCertPathDesc"}}' v-model="allSetting.subCertFile"></setting-list-item>
+ <setting-list-item type="text" title='{{ i18n "pages.settings.subKeyPath"}}' desc='{{ i18n "pages.settings.subKeyPathDesc"}}' v-model="allSetting.subKeyFile"></setting-list-item>
+ <setting-list-item type="number" title='{{ i18n "pages.settings.subUpdates"}}' desc='{{ i18n "pages.settings.subUpdatesDesc"}}' v-model="allSetting.subUpdates"></setting-list-item>
+ </a-list>
+ </a-tab-pane>
</a-tabs>
</a-space>
</a-spin>