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
diff options
context:
space:
mode:
authorHamidreza Ghavami <70919649+hamid-gh98@users.noreply.github.com>2023-05-31 00:17:07 +0300
committerHamidreza Ghavami <70919649+hamid-gh98@users.noreply.github.com>2023-05-31 00:29:41 +0300
commitb203067dfd416bd45d34cc2dbaad85ab51fcb085 (patch)
treef9243bf31ea112fc6c51a53f9b3bcd76a18b2f1f
parent1c9fc9422e304c8710b56e9719960e429e7a1878 (diff)
fix urls + use the new buildURL func
-rw-r--r--README.md2
-rw-r--r--web/html/common/qrcode_modal.html30
-rw-r--r--web/html/xui/inbound_info_modal.html8
-rw-r--r--web/html/xui/inbound_modal.html2
-rw-r--r--web/html/xui/inbounds.html2
-rw-r--r--web/html/xui/settings.html12
6 files changed, 23 insertions, 33 deletions
diff --git a/README.md b/README.md
index 56c4b344..48f65340 100644
--- a/README.md
+++ b/README.md
@@ -216,7 +216,7 @@ Reference syntax:
- CPU threshold notification
- Threshold for Expiration time and Traffic to report in advance
- Support client report menu if client's telegram username added to the user's configurations
-- Support telegram traffic report searched with UID (VMESS/VLESS) or Password (TROJAN) - anonymously
+- Support telegram traffic report searched with UUID (VMESS/VLESS) or Password (TROJAN) - anonymously
- Menu based bot
- Search client by email ( only admin )
- Check all inbounds
diff --git a/web/html/common/qrcode_modal.html b/web/html/common/qrcode_modal.html
index 57bf810d..8edfa2de 100644
--- a/web/html/common/qrcode_modal.html
+++ b/web/html/common/qrcode_modal.html
@@ -68,8 +68,8 @@
qrModal: qrModal,
},
methods: {
- copyToClipboard(elmentId,content) {
- this.qrModal.clipboard = new ClipboardJS('#'+elmentId, {
+ copyToClipboard(elmentId, content) {
+ this.qrModal.clipboard = new ClipboardJS('#' + elmentId, {
text: () => content,
});
this.qrModal.clipboard.on('success', () => {
@@ -77,29 +77,25 @@
this.qrModal.clipboard.destroy();
});
},
- setQrCode(elmentId,content) {
+ setQrCode(elmentId, content) {
new QRious({
- element: document.querySelector('#'+elmentId),
- size: 260,
- value: content,
- });
+ element: document.querySelector('#' + elmentId),
+ size: 260,
+ value: content,
+ });
},
genSubLink(subID) {
- protocol = app.subSettings.tls ? "https://" : "http://";
- hostName = app.subSettings.domain === "" ? window.location.hostname : app.subSettings.domain;
- subPort = app.subSettings.port;
- port = (subPort === 443 && app.subSettings.tls) || (subPort === 80 && !app.subSettings.tls) ? "" : ":" + String(subPort);
- subPath = app.subSettings.path;
- return protocol + hostName + port + subPath + subID;
+ const { domain: host, port, tls: isTLS, path: base } = app.subSettings;
+ return buildURL({ host, port, isTLS, base, path: subID });
}
},
updated() {
- if (qrModal.client && qrModal.client.subId){
+ if (qrModal.client && qrModal.client.subId) {
qrModal.subId = qrModal.client.subId;
- this.setQrCode("qrCode-sub",this.genSubLink(qrModal.subId));
+ this.setQrCode("qrCode-sub", this.genSubLink(qrModal.subId));
}
- qrModal.qrcodes.forEach((element,index) => {
- this.setQrCode("qrCode-"+index, element.link);
+ qrModal.qrcodes.forEach((element, index) => {
+ this.setQrCode("qrCode-" + index, element.link);
});
}
});
diff --git a/web/html/xui/inbound_info_modal.html b/web/html/xui/inbound_info_modal.html
index b7b3436b..23bd5af1 100644
--- a/web/html/xui/inbound_info_modal.html
+++ b/web/html/xui/inbound_info_modal.html
@@ -253,12 +253,8 @@
infoModal.visible = false;
},
genSubLink(subID) {
- protocol = app.subSettings.tls ? "https://" : "http://";
- hostName = app.subSettings.domain === "" ? window.location.hostname : app.subSettings.domain;
- subPort = app.subSettings.port;
- port = (subPort === 443 && app.subSettings.tls) || (subPort === 80 && !app.subSettings.tls) ? "" : ":" + String(subPort);
- subPath = app.subSettings.path;
- return protocol + hostName + port + subPath + subID;
+ const { domain: host, port, tls: isTLS, path: base } = app.subSettings;
+ return buildURL({ host, port, isTLS, base, path: subID });
}
};
diff --git a/web/html/xui/inbound_modal.html b/web/html/xui/inbound_modal.html
index 25e19473..11e6020c 100644
--- a/web/html/xui/inbound_modal.html
+++ b/web/html/xui/inbound_modal.html
@@ -96,7 +96,7 @@
set multiDomain(value) {
if (value) {
inModal.inbound.stream.tls.server = "";
- inModal.inbound.stream.tls.settings.domains = [{remark: "", domain: window.location.host.split(":")[0]}];
+ inModal.inbound.stream.tls.settings.domains = [{ remark: "", domain: window.location.hostname }];
} else {
inModal.inbound.stream.tls.server = "";
inModal.inbound.stream.tls.settings.domains = [];
diff --git a/web/html/xui/inbounds.html b/web/html/xui/inbounds.html
index 7b9ba207..329f0f46 100644
--- a/web/html/xui/inbounds.html
+++ b/web/html/xui/inbounds.html
@@ -311,7 +311,7 @@
{ title: '{{ i18n "pages.inbounds.client" }}', width: 80, scopedSlots: { customRender: 'client' } },
{ title: '{{ i18n "pages.inbounds.traffic" }}↑|↓', width: 120, scopedSlots: { customRender: 'traffic' } },
{ title: '{{ i18n "pages.inbounds.expireDate" }}', width: 70, scopedSlots: { customRender: 'expiryTime' } },
- { title: 'UID', width: 120, dataIndex: "id" },
+ { title: 'UUID', width: 120, dataIndex: "id" },
];
const innerTrojanColumns = [
diff --git a/web/html/xui/settings.html b/web/html/xui/settings.html
index e7d865f6..e4103c52 100644
--- a/web/html/xui/settings.html
+++ b/web/html/xui/settings.html
@@ -523,7 +523,7 @@
this.loading(false);
if (msg.success) {
this.user = {};
- window.location.replace(basePath + "logout")
+ window.location.replace(basePath + "logout");
}
},
async restartPanel() {
@@ -542,12 +542,10 @@
if (msg.success) {
this.loading(true);
await PromiseUtil.sleep(5000);
- let protocol = "http://";
- if (this.allSetting.webCertFile !== "") {
- protocol = "https://";
- }
- const { host } = window.location;
- window.location.replace(protocol + host + this.allSetting.webBasePath + "panel/settings");
+ const { webCertFile, webKeyFile, webDomain: host, webPort: port, webBasePath: base } = this.allSetting;
+ const isTLS = webCertFile !== "" || webKeyFile !== "";
+ const url = buildURL({ host, port, isTLS, base, path: "panel/settings" });
+ window.location.replace(url);
}
},
async fetchUserSecret() {