diff --git a/frontend/src/pages/inbounds/form/InboundFormModal.tsx b/frontend/src/pages/inbounds/form/InboundFormModal.tsx index 2389e1385..ef11d3ae5 100644 --- a/frontend/src/pages/inbounds/form/InboundFormModal.tsx +++ b/frontend/src/pages/inbounds/form/InboundFormModal.tsx @@ -2,6 +2,7 @@ import { useEffect, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import dayjs from 'dayjs'; import { + Alert, Form, Input, InputNumber, @@ -680,6 +681,15 @@ export default function InboundFormModal({ {protocol === Protocols.VLESS && } {isFallbackHost && fallbacksCard} + {(protocol === Protocols.VLESS || protocol === Protocols.TROJAN) + && network === 'tcp' && !isFallbackHost && ( + + )} ); diff --git a/internal/web/translation/ar-EG.json b/internal/web/translation/ar-EG.json index 1f39393fd..187f2b420 100644 --- a/internal/web/translation/ar-EG.json +++ b/internal/web/translation/ar-EG.json @@ -282,7 +282,8 @@ "quickAdded": "تمت إضافة {n} fallback", "quickAddedNone": "لا توجد inbounds جديدة مؤهلة للإضافة", "routesWhen": "يوجَّه عندما", - "defaultCatchAll": "افتراضي — يلتقط أي شيء آخر" + "defaultCatchAll": "افتراضي — يلتقط أي شيء آخر", + "needsTls": "تصبح الـ Fallbacks متاحة بعد اختيار TLS أو Reality في تبويب الأمان (فقط VLESS/Trojan عبر RAW)." }, "protocol": "بروتوكول", "port": "المنفذ", diff --git a/internal/web/translation/en-US.json b/internal/web/translation/en-US.json index bd5ed41dd..63da417e9 100644 --- a/internal/web/translation/en-US.json +++ b/internal/web/translation/en-US.json @@ -282,7 +282,8 @@ "quickAdded": "Added {n} fallback(s)", "quickAddedNone": "No new eligible inbounds to add", "routesWhen": "Routes when", - "defaultCatchAll": "Default — catches anything else" + "defaultCatchAll": "Default — catches anything else", + "needsTls": "Fallbacks become available once Security is set to TLS or Reality on the Security tab (VLESS/Trojan over RAW only)." }, "protocol": "Protocol", "port": "Port", diff --git a/internal/web/translation/es-ES.json b/internal/web/translation/es-ES.json index 6ba89d6e0..c44fb157a 100644 --- a/internal/web/translation/es-ES.json +++ b/internal/web/translation/es-ES.json @@ -282,7 +282,8 @@ "quickAdded": "Se añadieron {n} fallback(s)", "quickAddedNone": "No hay nuevos inbounds elegibles", "routesWhen": "Enruta cuando", - "defaultCatchAll": "Por defecto — captura cualquier otra cosa" + "defaultCatchAll": "Por defecto — captura cualquier otra cosa", + "needsTls": "Los fallbacks estarán disponibles al seleccionar TLS o Reality en la pestaña de Seguridad (solo VLESS/Trojan sobre RAW)." }, "protocol": "Protocolo", "port": "Puerto", diff --git a/internal/web/translation/fa-IR.json b/internal/web/translation/fa-IR.json index bdae05085..ef795f9ee 100644 --- a/internal/web/translation/fa-IR.json +++ b/internal/web/translation/fa-IR.json @@ -282,7 +282,8 @@ "quickAdded": "{n} فال‌بک افزوده شد", "quickAddedNone": "اینباند جدیدی برای افزودن وجود ندارد", "routesWhen": "هدایت می‌شود وقتی", - "defaultCatchAll": "پیش‌فرض — همه‌ی موارد دیگر را می‌گیرد" + "defaultCatchAll": "پیش‌فرض — همه‌ی موارد دیگر را می‌گیرد", + "needsTls": "فال‌بک‌ها پس از انتخاب TLS یا Reality در برگه‌ی امنیت در دسترس می‌شوند (فقط VLESS/Trojan روی RAW)." }, "protocol": "پروتکل", "port": "پورت", diff --git a/internal/web/translation/id-ID.json b/internal/web/translation/id-ID.json index 07242ebea..61ec15945 100644 --- a/internal/web/translation/id-ID.json +++ b/internal/web/translation/id-ID.json @@ -282,7 +282,8 @@ "quickAdded": "Menambahkan {n} fallback", "quickAddedNone": "Tidak ada inbound baru yang memenuhi syarat", "routesWhen": "Diarahkan ketika", - "defaultCatchAll": "Default — menangkap apa pun lainnya" + "defaultCatchAll": "Default — menangkap apa pun lainnya", + "needsTls": "Fallback tersedia setelah memilih TLS atau Reality di tab Keamanan (hanya VLESS/Trojan melalui RAW)." }, "protocol": "Protokol", "port": "Port", diff --git a/internal/web/translation/ja-JP.json b/internal/web/translation/ja-JP.json index 74511ac1c..7dfd80757 100644 --- a/internal/web/translation/ja-JP.json +++ b/internal/web/translation/ja-JP.json @@ -282,7 +282,8 @@ "quickAdded": "{n} 件のフォールバックを追加しました", "quickAddedNone": "追加可能な新規インバウンドはありません", "routesWhen": "次の条件でルーティング", - "defaultCatchAll": "デフォルト — その他すべてを捕捉" + "defaultCatchAll": "デフォルト — その他すべてを捕捉", + "needsTls": "フォールバックは、セキュリティタブで TLS または Reality を選択すると設定できます(RAW 上の VLESS/Trojan のみ)。" }, "protocol": "プロトコル", "port": "ポート", diff --git a/internal/web/translation/pt-BR.json b/internal/web/translation/pt-BR.json index 2547dee73..3511feed1 100644 --- a/internal/web/translation/pt-BR.json +++ b/internal/web/translation/pt-BR.json @@ -282,7 +282,8 @@ "quickAdded": "{n} fallback(s) adicionado(s)", "quickAddedNone": "Nenhum inbound novo elegível para adicionar", "routesWhen": "Roteia quando", - "defaultCatchAll": "Padrão — captura qualquer outra coisa" + "defaultCatchAll": "Padrão — captura qualquer outra coisa", + "needsTls": "Os fallbacks ficam disponíveis após selecionar TLS ou Reality na aba Segurança (apenas VLESS/Trojan sobre RAW)." }, "protocol": "Protocolo", "port": "Porta", diff --git a/internal/web/translation/ru-RU.json b/internal/web/translation/ru-RU.json index a422cd9fd..670dae7e3 100644 --- a/internal/web/translation/ru-RU.json +++ b/internal/web/translation/ru-RU.json @@ -282,7 +282,8 @@ "quickAdded": "Добавлено {n} фолбэк(ов)", "quickAddedNone": "Нет новых подходящих инбаундов", "routesWhen": "Маршрутизирует, когда", - "defaultCatchAll": "По умолчанию — ловит всё остальное" + "defaultCatchAll": "По умолчанию — ловит всё остальное", + "needsTls": "Fallbacks станут доступны после выбора TLS или Reality на вкладке «Безопасность» (только VLESS/Trojan поверх RAW)." }, "protocol": "Протокол", "port": "Порт", diff --git a/internal/web/translation/tr-TR.json b/internal/web/translation/tr-TR.json index 9c77a475d..a82050af2 100644 --- a/internal/web/translation/tr-TR.json +++ b/internal/web/translation/tr-TR.json @@ -282,7 +282,8 @@ "quickAdded": "{n} fallback eklendi", "quickAddedNone": "Eklenecek yeni uygun gelen bağlantı yok", "routesWhen": "Şu Durumda Yönlendirir", - "defaultCatchAll": "Varsayılan — başka her şeyi yakalar" + "defaultCatchAll": "Varsayılan — başka her şeyi yakalar", + "needsTls": "Geri düşüşler (fallback), Güvenlik sekmesinde TLS veya Reality seçildiğinde kullanılabilir olur (yalnızca RAW üzerinde VLESS/Trojan)." }, "protocol": "Protokol", "port": "Port", diff --git a/internal/web/translation/uk-UA.json b/internal/web/translation/uk-UA.json index 5accfc9d6..725923ae4 100644 --- a/internal/web/translation/uk-UA.json +++ b/internal/web/translation/uk-UA.json @@ -282,7 +282,8 @@ "quickAdded": "Додано {n} фолбек(ів)", "quickAddedNone": "Немає нових придатних інбаундів", "routesWhen": "Маршрутизує, коли", - "defaultCatchAll": "За замовчуванням — ловить усе інше" + "defaultCatchAll": "За замовчуванням — ловить усе інше", + "needsTls": "Fallbacks стануть доступні після вибору TLS або Reality на вкладці «Безпека» (лише VLESS/Trojan поверх RAW)." }, "protocol": "Протокол", "port": "Порт", diff --git a/internal/web/translation/vi-VN.json b/internal/web/translation/vi-VN.json index fc8667475..fabf5b610 100644 --- a/internal/web/translation/vi-VN.json +++ b/internal/web/translation/vi-VN.json @@ -282,7 +282,8 @@ "quickAdded": "Đã thêm {n} fallback", "quickAddedNone": "Không có inbound mới nào đủ điều kiện", "routesWhen": "Định tuyến khi", - "defaultCatchAll": "Mặc định — bắt mọi thứ khác" + "defaultCatchAll": "Mặc định — bắt mọi thứ khác", + "needsTls": "Fallback khả dụng sau khi chọn TLS hoặc Reality trong thẻ Bảo mật (chỉ VLESS/Trojan trên RAW)." }, "protocol": "Giao thức", "port": "Cổng", diff --git a/internal/web/translation/zh-CN.json b/internal/web/translation/zh-CN.json index baaa24542..8e5a9cace 100644 --- a/internal/web/translation/zh-CN.json +++ b/internal/web/translation/zh-CN.json @@ -282,7 +282,8 @@ "quickAdded": "已添加 {n} 条回落", "quickAddedNone": "没有可添加的新入站", "routesWhen": "当满足条件时路由", - "defaultCatchAll": "默认 — 兜底匹配其他所有" + "defaultCatchAll": "默认 — 兜底匹配其他所有", + "needsTls": "在“安全”标签页选择 TLS 或 Reality 后即可配置回落(仅限 RAW 上的 VLESS/Trojan)。" }, "protocol": "协议", "port": "端口", diff --git a/internal/web/translation/zh-TW.json b/internal/web/translation/zh-TW.json index 56ffbcbc9..79afa33ee 100644 --- a/internal/web/translation/zh-TW.json +++ b/internal/web/translation/zh-TW.json @@ -282,7 +282,8 @@ "quickAdded": "已新增 {n} 個回落", "quickAddedNone": "沒有可新增的新入站", "routesWhen": "當條件成立時路由", - "defaultCatchAll": "預設 — 兜底匹配其餘" + "defaultCatchAll": "預設 — 兜底匹配其餘", + "needsTls": "在「安全」分頁選擇 TLS 或 Reality 後即可設定回落(僅限 RAW 上的 VLESS/Trojan)。" }, "protocol": "協議", "port": "連接埠",