diff --git a/frontend/src/pages/clients/ClientFormModal.vue b/frontend/src/pages/clients/ClientFormModal.vue index c33e1cee..c922348b 100644 --- a/frontend/src/pages/clients/ClientFormModal.vue +++ b/frontend/src/pages/clients/ClientFormModal.vue @@ -64,6 +64,7 @@ watch( form.inboundIds = Array.isArray(props.attachedIds) ? [...props.attachedIds] : []; void loadIps(); } else { + form.email = RandomUtil.randomLowerAndNum(9); form.uuid = RandomUtil.randomUUID(); form.subId = RandomUtil.randomLowerAndNum(16); form.password = RandomUtil.randomLowerAndNum(16); diff --git a/frontend/src/pages/inbounds/InboundFormModal.vue b/frontend/src/pages/inbounds/InboundFormModal.vue index d2c2182c..3cf4b56a 100644 --- a/frontend/src/pages/inbounds/InboundFormModal.vue +++ b/frontend/src/pages/inbounds/InboundFormModal.vue @@ -204,22 +204,9 @@ const canEnableStream = computed(() => inbound.value?.canEnableStream?.() === tr const canEnableTls = computed(() => inbound.value?.canEnableTls?.() === true); const canEnableReality = computed(() => inbound.value?.canEnableReality?.() === true); -// VLESS/Trojan TLS fallbacks — surfaced in the protocol tab when the -// inbound is on TCP and (for VLESS) using no Xray-side encryption. -const showFallbacks = computed(() => { - if (!inbound.value) return false; - if (inbound.value.stream?.network !== 'tcp') return false; - if (inbound.value.protocol === Protocols.VLESS) { - const enc = inbound.value.settings?.encryption; - return !enc || enc === 'none'; - } - return inbound.value.protocol === Protocols.TROJAN; -}); - const hasProtocolTabContent = computed(() => { if (!inbound.value) return false; if (isVlessLike.value) return true; - if (showFallbacks.value) return true; switch (inbound.value.protocol) { case Protocols.SHADOWSOCKS: case Protocols.HTTP: @@ -233,13 +220,6 @@ const hasProtocolTabContent = computed(() => { } }); -function addFallback() { - inbound.value?.settings?.addFallback?.(); -} -function delFallback(idx) { - inbound.value?.settings?.delFallback?.(idx); -} - // Date / GB bridges (legacy used moment via _expiryTime; we go direct). const expiryDate = computed({ get: () => (dbForm.value?.expiryTime > 0 ? dayjs(dbForm.value.expiryTime) : null), @@ -1179,91 +1159,6 @@ watch(() => inbound.value?.protocol, () => stampAdvancedTextFor('stream')); - - @@ -2131,18 +2026,6 @@ watch(() => inbound.value?.protocol, () => stampAdvancedTextFor('stream')); margin-top: 6px; } -.fallbacks-header { - display: flex; - align-items: center; - gap: 8px; - margin: 8px 0; -} - -.fallbacks-title { - font-weight: 500; - flex: 1; -} - .wg-peer { margin-top: 4px; }