Browse Source

limit mux to connection base outbounds

Co-Authored-By: Alireza Ahmadi <[email protected]>
MHSanaei 1 year ago
parent
commit
b042f01e58
2 changed files with 20 additions and 14 deletions
  1. 4 0
      web/assets/js/model/outbound.js
  2. 16 14
      web/html/xui/form/outbound.html

+ 4 - 0
web/assets/js/model/outbound.js

@@ -547,6 +547,10 @@ class Outbound extends CommonClass {
         return [Protocols.VMess, Protocols.VLESS, Protocols.Trojan, Protocols.Shadowsocks].includes(this.protocol);
     }
 
+    canEnableMux() {
+        return [Protocols.VMess, Protocols.VLESS, Protocols.Trojan, Protocols.Shadowsocks, Protocols.HTTP, Protocols.Socks].includes(this.protocol);
+    }
+
     hasVnext() {
         return [Protocols.VMess, Protocols.VLESS].includes(this.protocol);
     }

+ 16 - 14
web/html/xui/form/outbound.html

@@ -429,21 +429,23 @@
 </template>
 
 <!-- mux settings -->
-<a-form-item label="Mux">
-    <a-switch v-model="outbound.mux.enabled"></a-switch>
-</a-form-item>
-<template v-if="outbound.mux.enabled">
-    <a-form-item label="Concurrency">
-        <a-input-number v-model="outbound.mux.concurrency" :min="-1" :max="1024"></a-input-number>
-    </a-form-item>
-    <a-form-item label="xudp Concurrency">
-        <a-input-number v-model="outbound.mux.xudpConcurrency" :min="-1" :max="1024"></a-input-number>
-    </a-form-item>
-    <a-form-item label="xudp UDP 443">
-        <a-select v-model="outbound.mux.xudpProxyUDP443" :dropdown-class-name="themeSwitcher.currentTheme">
-            <a-select-option v-for="c in ['reject', 'allow', 'skip']" :value="c">[[ c ]]</a-select-option>
-        </a-select>
+<template v-if="outbound.canEnableMux()">
+    <a-form-item label="Mux">
+        <a-switch v-model="outbound.mux.enabled"></a-switch>
     </a-form-item>
+    <template v-if="outbound.mux.enabled">
+        <a-form-item label="Concurrency">
+            <a-input-number v-model="outbound.mux.concurrency" :min="-1" :max="1024"></a-input-number>
+        </a-form-item>
+        <a-form-item label="xudp Concurrency">
+            <a-input-number v-model="outbound.mux.xudpConcurrency" :min="-1" :max="1024"></a-input-number>
+        </a-form-item>
+        <a-form-item label="xudp UDP 443">
+            <a-select v-model="outbound.mux.xudpProxyUDP443" :dropdown-class-name="themeSwitcher.currentTheme">
+                <a-select-option v-for="c in ['reject', 'allow', 'skip']" :value="c">[[ c ]]</a-select-option>
+            </a-select>
+        </a-form-item>
+    </template>
 </template>
 
 </a-form>