Browse Source

fix urls + use the new buildURL func

Hamidreza Ghavami 1 year ago
parent
commit
b203067dfd

+ 1 - 1
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

+ 13 - 17
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);
             });
         }
     });

+ 2 - 6
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 });
         }
     };
 

+ 1 - 1
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 = [];

+ 1 - 1
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 = [

+ 5 - 7
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() {