Browse Source

add clear button

mhsanaei 1 day ago
parent
commit
c7ba6ae909

+ 2 - 3
web/html/form/protocol/vless.html

@@ -22,7 +22,6 @@
   <a-form :colon="false" :label-col="{ md: {span:8} }" :wrapper-col="{ md: {span:14} }">
     <a-form-item label="Authentication">
       <a-select v-model="inbound.settings.selectedAuth" @change="getNewVlessEnc" :dropdown-class-name="themeSwitcher.currentTheme">
-        <a-select-option :value="undefined">None</a-select-option>
         <a-select-option value="X25519, not Post-Quantum">X25519 (not Post-Quantum)</a-select-option>
         <a-select-option value="ML-KEM-768, Post-Quantum">ML-KEM-768 (Post-Quantum)</a-select-option>
       </a-select>
@@ -36,12 +35,12 @@
     <a-form-item label=" ">
       <a-space>
         <a-button type="primary" icon="import" @click="getNewVlessEnc">Get New keys</a-button>
-        <a-button danger @click="clearKeys">Clear</a-button>
+        <a-button danger @click="clearVlessEnc">Clear</a-button>
       </a-space>
     </a-form-item>
   </a-form>
 </template>
-<template v-if="inbound.isTcp && !inbound.settings.encryption">
+<template v-if="inbound.isTcp && !inbound.settings.selectedAuth">
   <a-form :colon="false" :label-col="{ md: {span:8} }" :wrapper-col="{ md: {span:14} }">
     <a-form-item label="Fallbacks">
       <a-button icon="plus" type="primary" size="small" @click="inbound.settings.addFallback()"></a-button>

+ 8 - 2
web/html/form/reality_settings.html

@@ -48,7 +48,10 @@
         <a-textarea v-model="inbound.stream.reality.privateKey"></a-textarea>
     </a-form-item>
     <a-form-item label=" ">
-        <a-button type="primary" icon="import" @click="getNewX25519Cert">Get New Cert</a-button>
+        <a-space>
+            <a-button type="primary" icon="import" @click="getNewX25519Cert">Get New Cert</a-button>
+            <a-button danger @click="clearX25519Cert">Clear</a-button>
+        </a-space>
     </a-form-item>
     <a-form-item label="mldsa65 Seed">
         <a-textarea v-model="inbound.stream.reality.mldsa65Seed"></a-textarea>
@@ -57,7 +60,10 @@
         <a-textarea v-model="inbound.stream.reality.settings.mldsa65Verify"></a-textarea>
     </a-form-item>
     <a-form-item label=" ">
-        <a-button type="primary" icon="import" @click="getNewmldsa65">Get New Seed</a-button>
+        <a-space>
+            <a-button type="primary" icon="import" @click="getNewmldsa65">Get New Seed</a-button>
+            <a-button danger @click="clearMldsa65">Clear</a-button>
+        </a-space>
     </a-form-item>
 </template>
 {{end}}

+ 7 - 4
web/html/form/tls_settings.html

@@ -5,13 +5,13 @@
   <a-form-item label='{{ i18n "security" }}'>
     <a-radio-group v-model="inbound.stream.security" button-style="solid">
       <a-radio-button value="none">{{ i18n "none" }}</a-radio-button>
-      <a-radio-button v-if="inbound.canEnableReality() && !inbound.settings.encryption" value="reality">Reality</a-radio-button>
-      <a-radio-button v-if="!inbound.settings.encryption" value="tls">TLS</a-radio-button>
+      <a-radio-button v-if="inbound.canEnableReality()" value="reality">Reality</a-radio-button>
+      <a-radio-button value="tls">TLS</a-radio-button>
     </a-radio-group>
   </a-form-item>
 
   <!-- tls settings -->
-  <template v-if="inbound.stream.isTls && !inbound.settings.encryption">
+  <template v-if="inbound.stream.isTls">
     <a-form-item label="SNI" placeholder="Server Name Indication">
       <a-input v-model.trim="inbound.stream.tls.sni"></a-input>
     </a-form-item>
@@ -116,12 +116,15 @@
         </a-select>
     </a-form-item>
     <a-form-item label=" ">
+      <a-space>
         <a-button type="primary" icon="import" @click="getNewEchCert">Get New ECH Cert</a-button>
+        <a-button danger @click="clearEchCert">Clear</a-button>
+      </a-space>
     </a-form-item>
   </template>
 
   <!-- reality settings -->
-  <template v-if="inbound.stream.isReality && !inbound.settings.encryption">
+  <template v-if="inbound.stream.isReality">
     {{template "form/realitySettings"}}
   </template>
 </a-form>

+ 13 - 1
web/html/modals/inbound_modal.html

@@ -140,6 +140,10 @@
                 inModal.inbound.stream.reality.privateKey = msg.obj.privateKey;
                 inModal.inbound.stream.reality.settings.publicKey = msg.obj.publicKey;
             },
+            clearX25519Cert() {
+                this.inbound.stream.reality.privateKey = '';
+                this.inbound.stream.reality.settings.publicKey = '';
+            },
             async getNewmldsa65() {
                 inModal.loading(true);
                 const msg = await HttpUtil.post('/server/getNewmldsa65');
@@ -150,6 +154,10 @@
                 inModal.inbound.stream.reality.mldsa65Seed = msg.obj.seed;
                 inModal.inbound.stream.reality.settings.mldsa65Verify = msg.obj.verify;
             },
+            clearMldsa65() {
+                this.inbound.stream.reality.mldsa65Seed = '';
+                this.inbound.stream.reality.settings.mldsa65Verify = '';
+            },
             async getNewEchCert() {
                 inModal.loading(true);
                 const msg = await HttpUtil.post('/server/getNewEchCert', { sni: inModal.inbound.stream.tls.sni });
@@ -160,6 +168,10 @@
                 inModal.inbound.stream.tls.echServerKeys = msg.obj.echServerKeys;
                 inModal.inbound.stream.tls.settings.echConfigList = msg.obj.echConfigList;
             },
+            clearEchCert() {
+                this.inbound.stream.tls.echServerKeys = '';
+                this.inbound.stream.tls.settings.echConfigList = '';
+            },
             async getNewVlessEnc() {
                 inModal.loading(true);
                 const msg = await HttpUtil.post('/server/getNewVlessEnc');
@@ -181,7 +193,7 @@
                 inModal.inbound.settings.decryption = block.decryption;
                 inModal.inbound.settings.encryption = block.encryption;
             },
-            clearKeys() {
+            clearVlessEnc() {
                 this.inbound.settings.decryption = 'none';
                 this.inbound.settings.encryption = 'none';
                 this.inbound.settings.selectedAuth = undefined;