From 5d007435ab88e019b313f89b7baed3be6c96a295 Mon Sep 17 00:00:00 2001
From: mhsanaei <ho3ein.sanaei@gmail.com>
Date: Tue, 18 Jun 2024 14:24:09 +0200
Subject: [PATCH] some changes

undo secret key gen for wireguard
---
 sub/subJsonService.go                          |  2 --
 web/assets/js/model/outbound.js                |  1 +
 web/assets/js/model/xray.js                    | 10 +++++-----
 web/html/xui/form/outbound.html                | 18 ++++++++++++++++--
 web/html/xui/form/stream/stream_splithttp.html |  4 ++--
 5 files changed, 24 insertions(+), 11 deletions(-)

diff --git a/sub/subJsonService.go b/sub/subJsonService.go
index 7b072b95..742c403c 100644
--- a/sub/subJsonService.go
+++ b/sub/subJsonService.go
@@ -223,8 +223,6 @@ func (s *SubJsonService) streamData(stream string) map[string]interface{} {
 		streamSettings["wsSettings"] = s.removeAcceptProxy(streamSettings["wsSettings"])
 	case "httpupgrade":
 		streamSettings["httpupgradeSettings"] = s.removeAcceptProxy(streamSettings["httpupgradeSettings"])
-	case "splithttp":
-		streamSettings["splithttpSettings"] = s.removeAcceptProxy(streamSettings["splithttpSettings"])
 	}
 	return streamSettings
 }
diff --git a/web/assets/js/model/outbound.js b/web/assets/js/model/outbound.js
index ee954fc1..9b9a8146 100644
--- a/web/assets/js/model/outbound.js
+++ b/web/assets/js/model/outbound.js
@@ -1084,6 +1084,7 @@ Outbound.WireguardSettings = class extends CommonClass {
         super();
         this.mtu = mtu;
         this.secretKey = secretKey;
+        this.pubKey = secretKey.length>0 ? Wireguard.generateKeypair(secretKey).publicKey : '';
         this.address = address instanceof Array ? address.join(',') : address;
         this.workers = workers;
         this.domainStrategy = domainStrategy;
diff --git a/web/assets/js/model/xray.js b/web/assets/js/model/xray.js
index acbe4034..7a8b25b9 100644
--- a/web/assets/js/model/xray.js
+++ b/web/assets/js/model/xray.js
@@ -1391,7 +1391,7 @@ class Inbound extends XrayCommonClass {
             type: 'none',
             tls: security,
         };
-        let network = this.stream.network;
+        const network = this.stream.network;
         if (network === 'tcp') {
             const tcp = this.stream.tcp;
             obj.type = tcp.type;
@@ -1402,11 +1402,11 @@ class Inbound extends XrayCommonClass {
                 if (host) obj.host = host;
             }
         } else if (network === 'kcp') {
-            let kcp = this.stream.kcp;
+            const kcp = this.stream.kcp;
             obj.type = kcp.type;
             obj.path = kcp.seed;
         } else if (network === 'ws') {
-            let ws = this.stream.ws;
+            const ws = this.stream.ws;
             obj.path = ws.path;
             obj.host = ws.host?.length>0 ? ws.host : this.getHeader(ws, 'host');
         } else if (network === 'http') {
@@ -1424,11 +1424,11 @@ class Inbound extends XrayCommonClass {
                 obj.type = 'multi'
             }
         } else if (network === 'httpupgrade') {
-            let httpupgrade = this.stream.httpupgrade;
+            const httpupgrade = this.stream.httpupgrade;
             obj.path = httpupgrade.path;
             obj.host = httpupgrade.host?.length>0 ? httpupgrade.host : this.getHeader(httpupgrade, 'host');
         } else if (network === 'splithttp') {
-            let splithttp = this.stream.splithttp;
+            const splithttp = this.stream.splithttp;
             obj.path = splithttp.path;
             obj.host = splithttp.host?.length>0 ? splithttp.host : this.getHeader(splithttp, 'host');
         }
diff --git a/web/html/xui/form/outbound.html b/web/html/xui/form/outbound.html
index a61f5c44..90b9e60b 100644
--- a/web/html/xui/form/outbound.html
+++ b/web/html/xui/form/outbound.html
@@ -72,9 +72,23 @@
           </template>
           <a-input v-model.trim="outbound.settings.address"></a-input>
         </a-form-item>
-        <a-form-item label='{{ i18n "pages.xray.wireguard.secretKey" }}'>
+        <a-form-item>
+          <template slot="label">
+              <a-tooltip>
+                  <template slot="title">
+                      <span>{{ i18n "reset" }}</span>
+                  </template>
+                  {{ i18n "pages.xray.wireguard.secretKey" }}
+                  <a-icon type="sync"
+                      @click="[outbound.settings.pubKey, outbound.settings.secretKey] = Object.values(Wireguard.generateKeypair())">
+                  </a-icon>
+              </a-tooltip>
+          </template>
           <a-input v-model.trim="outbound.settings.secretKey"></a-input>
-        </a-form-item>
+      </a-form-item>
+      <a-form-item label='{{ i18n "pages.xray.wireguard.publicKey" }}'>
+          <a-input disabled v-model="outbound.settings.pubKey"></a-input>
+      </a-form-item>
         <a-form-item label='{{ i18n "pages.xray.wireguard.domainStrategy" }}'>
           <a-select v-model="outbound.settings.domainStrategy" :dropdown-class-name="themeSwitcher.currentTheme">
             <a-select-option v-for="wds in ['', ...WireguardDomainStrategy]" :value="wds">[[ wds ]]</a-select-option>
diff --git a/web/html/xui/form/stream/stream_splithttp.html b/web/html/xui/form/stream/stream_splithttp.html
index e7a38d5e..0dcab965 100644
--- a/web/html/xui/form/stream/stream_splithttp.html
+++ b/web/html/xui/form/stream/stream_splithttp.html
@@ -19,10 +19,10 @@
             </a-input>
         </a-input-group>
     </a-form-item>
-    <a-form-item label="max Upload Size">
+    <a-form-item label="Max Upload Size (MB)">
         <a-input-number v-model="inbound.stream.splithttp.maxUploadSize" :min="0"></a-input-number>
     </a-form-item>
-    <a-form-item label="max Concurrent Uploads">
+    <a-form-item label="Max Concurrent Upload">
         <a-input-number v-model="inbound.stream.splithttp.maxConcurrentUploads" :min="0"></a-input-number>
     </a-form-item>
 </a-form>