diff --git a/frontend/src/pages/clients/ClientInfoModal.tsx b/frontend/src/pages/clients/ClientInfoModal.tsx
index 0b5cbb4cc..427490076 100644
--- a/frontend/src/pages/clients/ClientInfoModal.tsx
+++ b/frontend/src/pages/clients/ClientInfoModal.tsx
@@ -138,7 +138,7 @@ export default function ClientInfoModal({
const showSubscription = !!(subSettings?.enable && client?.subId);
const wgInbound = useMemo(() => findWireguardInbound(client, inboundsById), [client, inboundsById]);
const wgConfigText = useMemo(() => {
- if (!client || !isWireguardClient(client)) return '';
+ if (!client || !wgInbound || !isWireguardClient(client)) return '';
return buildWireguardClientConfig(client, wgInbound, window.location.hostname, subSettings?.publicHost ?? '');
}, [client, wgInbound, subSettings?.publicHost]);
@@ -494,7 +494,7 @@ export default function ClientInfoModal({
<>
{t('pages.clients.wireguardConfig')}
findWireguardInbound(client, inboundsById), [client, inboundsById]);
const wgConfigText = useMemo(() => {
- if (!client || !isWireguardClient(client)) return '';
+ if (!client || !wgInbound || !isWireguardClient(client)) return '';
return buildWireguardClientConfig(client, wgInbound, window.location.hostname, subSettings?.publicHost ?? '');
}, [client, wgInbound, subSettings?.publicHost]);
diff --git a/internal/web/translation/ar-EG.json b/internal/web/translation/ar-EG.json
index 7d9bc567e..8c78558e3 100644
--- a/internal/web/translation/ar-EG.json
+++ b/internal/web/translation/ar-EG.json
@@ -718,6 +718,8 @@
"tabBasics": "أساسي",
"tabCredentials": "بيانات الاعتماد",
"tabLinks": "الروابط",
+ "wireguardConfig": "إعدادات WireGuard",
+ "config": "الإعداد",
"linksHint": "أضف روابط مشاركة من جهات خارجية وعناوين اشتراك خارجية لتضمينها في اشتراك هذا العميل.",
"addExternalLink": "إضافة رابط خارجي",
"addExternalSubscription": "إضافة اشتراك خارجي",
@@ -871,6 +873,9 @@
"bulkAdjustNothing": "حدد الأيام أو الترافيك قبل التطبيق.",
"addDays": "إضافة أيام",
"addTrafficGB": "إضافة ترافيك (GB)",
+ "bulkFlow": "تعيين التدفق",
+ "bulkFlowNoChange": "بدون تغيير",
+ "bulkFlowDisable": "تعطيل (مسح التدفق)",
"delDepleted": "حذف المنتهية",
"delDepletedConfirmTitle": "حذف العملاء المنتهية حصصهم؟",
"delDepletedConfirmContent": "يُحذف كل عميل استُنفِدت حصة حركة مروره أو انتهت صلاحيته. لا يمكن التراجع.",
diff --git a/internal/web/translation/en-US.json b/internal/web/translation/en-US.json
index da22372ec..80eba828c 100644
--- a/internal/web/translation/en-US.json
+++ b/internal/web/translation/en-US.json
@@ -719,7 +719,7 @@
"tabCredentials": "Credentials",
"tabLinks": "Links",
"wireguardConfig": "WireGuard config",
- "conf": "CONF",
+ "config": "Config",
"linksHint": "Add third-party share links and remote subscription URLs to include in this client's subscription.",
"addExternalLink": "Add External Link",
"addExternalSubscription": "Add External Subscription",
diff --git a/internal/web/translation/es-ES.json b/internal/web/translation/es-ES.json
index 53c922c13..e76e29a3f 100644
--- a/internal/web/translation/es-ES.json
+++ b/internal/web/translation/es-ES.json
@@ -718,6 +718,8 @@
"tabBasics": "Básico",
"tabCredentials": "Credenciales",
"tabLinks": "Enlaces",
+ "wireguardConfig": "Configuración de WireGuard",
+ "config": "Configuración",
"linksHint": "Añade enlaces de terceros y URLs de suscripción remotas para incluirlos en la suscripción de este cliente.",
"addExternalLink": "Añadir enlace externo",
"addExternalSubscription": "Añadir suscripción externa",
@@ -871,6 +873,9 @@
"bulkAdjustNothing": "Establece días o tráfico antes de aplicar.",
"addDays": "Añadir días",
"addTrafficGB": "Añadir tráfico (GB)",
+ "bulkFlow": "Establecer flow",
+ "bulkFlowNoChange": "Sin cambios",
+ "bulkFlowDisable": "Desactivar (borrar flow)",
"delDepleted": "Eliminar agotados",
"delDepletedConfirmTitle": "¿Eliminar clientes agotados?",
"delDepletedConfirmContent": "Elimina todos los clientes con cuota agotada o expirados. No se puede deshacer.",
diff --git a/internal/web/translation/fa-IR.json b/internal/web/translation/fa-IR.json
index 0d5235275..67afd99aa 100644
--- a/internal/web/translation/fa-IR.json
+++ b/internal/web/translation/fa-IR.json
@@ -718,6 +718,8 @@
"tabBasics": "پایه",
"tabCredentials": "اطلاعات اتصال",
"tabLinks": "لینکها",
+ "wireguardConfig": "پیکربندی WireGuard",
+ "config": "پیکربندی",
"linksHint": "لینکهای اشتراک شخصثالث و آدرس سابسکریپشنهای خارجی را اضافه کنید تا در سابسکریپشن این کاربر قرار گیرند.",
"addExternalLink": "افزودن لینک خارجی",
"addExternalSubscription": "افزودن سابسکریپشن خارجی",
@@ -871,6 +873,9 @@
"bulkAdjustNothing": "قبل از اعمال، روز یا ترافیک را تنظیم کنید.",
"addDays": "افزودن روز",
"addTrafficGB": "افزودن ترافیک (گیگابایت)",
+ "bulkFlow": "تنظیم flow",
+ "bulkFlowNoChange": "بدون تغییر",
+ "bulkFlowDisable": "غیرفعال (پاک کردن flow)",
"delDepleted": "حذف اتمامیافتهها",
"delDepletedConfirmTitle": "حذف کلاینتهای اتمامیافته؟",
"delDepletedConfirmContent": "هر کلاینتی که سهمیه ترافیکاش تمام شده یا تاریخ انقضایش گذشته است حذف میشود. این عمل غیرقابل بازگشت است.",
diff --git a/internal/web/translation/id-ID.json b/internal/web/translation/id-ID.json
index dbfb1d1a2..f65d3e620 100644
--- a/internal/web/translation/id-ID.json
+++ b/internal/web/translation/id-ID.json
@@ -718,6 +718,8 @@
"tabBasics": "Dasar",
"tabCredentials": "Kredensial",
"tabLinks": "Tautan",
+ "wireguardConfig": "Konfigurasi WireGuard",
+ "config": "Konfigurasi",
"linksHint": "Tambahkan tautan berbagi pihak ketiga dan URL langganan jarak jauh untuk disertakan dalam langganan klien ini.",
"addExternalLink": "Tambah Tautan Eksternal",
"addExternalSubscription": "Tambah Langganan Eksternal",
@@ -871,6 +873,9 @@
"bulkAdjustNothing": "Setel hari atau trafik sebelum menerapkan.",
"addDays": "Tambah hari",
"addTrafficGB": "Tambah trafik (GB)",
+ "bulkFlow": "Atur flow",
+ "bulkFlowNoChange": "Tanpa perubahan",
+ "bulkFlowDisable": "Nonaktifkan (hapus flow)",
"delDepleted": "Hapus yang habis",
"delDepletedConfirmTitle": "Hapus klien yang habis?",
"delDepletedConfirmContent": "Hapus setiap klien yang kuota lalu lintasnya habis atau yang masa berlakunya telah berakhir. Tidak dapat dibatalkan.",
diff --git a/internal/web/translation/ja-JP.json b/internal/web/translation/ja-JP.json
index 9161b09d0..20dddcbf9 100644
--- a/internal/web/translation/ja-JP.json
+++ b/internal/web/translation/ja-JP.json
@@ -718,6 +718,8 @@
"tabBasics": "基本",
"tabCredentials": "認証情報",
"tabLinks": "リンク",
+ "wireguardConfig": "WireGuard 設定",
+ "config": "設定",
"linksHint": "サードパーティの共有リンクやリモートのサブスクリプションURLを追加して、このクライアントのサブスクリプションに含めます。",
"addExternalLink": "外部リンクを追加",
"addExternalSubscription": "外部サブスクリプションを追加",
@@ -871,6 +873,9 @@
"bulkAdjustNothing": "適用する前に日数またはトラフィックを設定してください。",
"addDays": "日数を追加",
"addTrafficGB": "トラフィックを追加 (GB)",
+ "bulkFlow": "Flow を設定",
+ "bulkFlowNoChange": "変更なし",
+ "bulkFlowDisable": "無効化 (flow をクリア)",
"delDepleted": "使い切ったクライアントを削除",
"delDepletedConfirmTitle": "使い切ったクライアントを削除しますか?",
"delDepletedConfirmContent": "トラフィック上限に達したか有効期限が切れたクライアントをすべて削除します。元に戻せません。",
diff --git a/internal/web/translation/pt-BR.json b/internal/web/translation/pt-BR.json
index 95c5ca19a..691f9e7dd 100644
--- a/internal/web/translation/pt-BR.json
+++ b/internal/web/translation/pt-BR.json
@@ -718,6 +718,8 @@
"tabBasics": "Básico",
"tabCredentials": "Credenciais",
"tabLinks": "Links",
+ "wireguardConfig": "Configuração do WireGuard",
+ "config": "Configuração",
"linksHint": "Adicione links de terceiros e URLs de assinatura remotas para incluir na assinatura deste cliente.",
"addExternalLink": "Adicionar link externo",
"addExternalSubscription": "Adicionar assinatura externa",
@@ -871,6 +873,9 @@
"bulkAdjustNothing": "Defina dias ou tráfego antes de aplicar.",
"addDays": "Adicionar dias",
"addTrafficGB": "Adicionar tráfego (GB)",
+ "bulkFlow": "Definir flow",
+ "bulkFlowNoChange": "Sem alteração",
+ "bulkFlowDisable": "Desativar (limpar flow)",
"delDepleted": "Excluir esgotados",
"delDepletedConfirmTitle": "Excluir clientes esgotados?",
"delDepletedConfirmContent": "Remove todos os clientes cuja cota de tráfego foi esgotada ou cuja expiração já passou. Não é possível desfazer.",
diff --git a/internal/web/translation/ru-RU.json b/internal/web/translation/ru-RU.json
index f416e1a6d..8ef0fad5a 100644
--- a/internal/web/translation/ru-RU.json
+++ b/internal/web/translation/ru-RU.json
@@ -718,6 +718,8 @@
"tabBasics": "Основные",
"tabCredentials": "Учетные данные",
"tabLinks": "Ссылки",
+ "wireguardConfig": "Конфигурация WireGuard",
+ "config": "Конфигурация",
"linksHint": "Добавьте сторонние ссылки и URL удалённых подписок, чтобы включить их в подписку этого клиента.",
"addExternalLink": "Добавить внешнюю ссылку",
"addExternalSubscription": "Добавить внешнюю подписку",
@@ -871,6 +873,9 @@
"bulkAdjustNothing": "Укажите дни или трафик перед применением.",
"addDays": "Добавить дни",
"addTrafficGB": "Добавить трафик (ГБ)",
+ "bulkFlow": "Задать flow",
+ "bulkFlowNoChange": "Без изменений",
+ "bulkFlowDisable": "Отключить (очистить flow)",
"delDepleted": "Удалить исчерпанных",
"delDepletedConfirmTitle": "Удалить исчерпанных клиентов?",
"delDepletedConfirmContent": "Удаляются все клиенты, у которых исчерпана квота трафика или истёк срок. Это действие нельзя отменить.",
diff --git a/internal/web/translation/tr-TR.json b/internal/web/translation/tr-TR.json
index 3238df07d..f680037c2 100644
--- a/internal/web/translation/tr-TR.json
+++ b/internal/web/translation/tr-TR.json
@@ -718,6 +718,8 @@
"tabBasics": "Temel",
"tabCredentials": "Kimlik Bilgileri",
"tabLinks": "Bağlantılar",
+ "wireguardConfig": "WireGuard yapılandırması",
+ "config": "Yapılandırma",
"linksHint": "Bu istemcinin aboneliğine dahil etmek için üçüncü taraf paylaşım bağlantıları ve uzak abonelik URL'leri ekleyin.",
"addExternalLink": "Harici Bağlantı Ekle",
"addExternalSubscription": "Harici Abonelik Ekle",
@@ -871,6 +873,9 @@
"bulkAdjustNothing": "Uygulamadan önce gün veya trafik belirleyin.",
"addDays": "Gün Ekle",
"addTrafficGB": "Trafik Ekle (GB)",
+ "bulkFlow": "Flow ayarla",
+ "bulkFlowNoChange": "Değişiklik yok",
+ "bulkFlowDisable": "Devre dışı bırak (flow temizle)",
"delDepleted": "Süresi/Kotası Bitenleri Sil",
"delDepletedConfirmTitle": "Tükenmiş Kullanıcılar Silinsin Mi?",
"delDepletedConfirmContent": "Trafik kotası dolan veya süresi geçen tüm kullanıcılar silinir. Geri alınamaz.",
diff --git a/internal/web/translation/uk-UA.json b/internal/web/translation/uk-UA.json
index 9bd48b947..35df1a94e 100644
--- a/internal/web/translation/uk-UA.json
+++ b/internal/web/translation/uk-UA.json
@@ -718,6 +718,8 @@
"tabBasics": "Основні",
"tabCredentials": "Облікові дані",
"tabLinks": "Посилання",
+ "wireguardConfig": "Конфігурація WireGuard",
+ "config": "Конфігурація",
"linksHint": "Додайте сторонні посилання та URL віддалених підписок, щоб включити їх до підписки цього клієнта.",
"addExternalLink": "Додати зовнішнє посилання",
"addExternalSubscription": "Додати зовнішню підписку",
@@ -871,6 +873,9 @@
"bulkAdjustNothing": "Вкажіть дні або трафік перед застосуванням.",
"addDays": "Додати дні",
"addTrafficGB": "Додати трафік (ГБ)",
+ "bulkFlow": "Задати flow",
+ "bulkFlowNoChange": "Без змін",
+ "bulkFlowDisable": "Вимкнути (очистити flow)",
"delDepleted": "Видалити вичерпаних",
"delDepletedConfirmTitle": "Видалити вичерпаних клієнтів?",
"delDepletedConfirmContent": "Видаляються всі клієнти, у яких вичерпана квота трафіку або сплив термін. Цю дію неможливо скасувати.",
diff --git a/internal/web/translation/vi-VN.json b/internal/web/translation/vi-VN.json
index 85bb5a594..a63bd1327 100644
--- a/internal/web/translation/vi-VN.json
+++ b/internal/web/translation/vi-VN.json
@@ -718,6 +718,8 @@
"tabBasics": "Cơ bản",
"tabCredentials": "Thông tin xác thực",
"tabLinks": "Liên kết",
+ "wireguardConfig": "Cấu hình WireGuard",
+ "config": "Cấu hình",
"linksHint": "Thêm liên kết chia sẻ của bên thứ ba và URL đăng ký từ xa để đưa vào đăng ký của khách hàng này.",
"addExternalLink": "Thêm liên kết ngoài",
"addExternalSubscription": "Thêm đăng ký ngoài",
@@ -871,6 +873,9 @@
"bulkAdjustNothing": "Đặt số ngày hoặc lưu lượng trước khi áp dụng.",
"addDays": "Thêm ngày",
"addTrafficGB": "Thêm lưu lượng (GB)",
+ "bulkFlow": "Đặt flow",
+ "bulkFlowNoChange": "Không thay đổi",
+ "bulkFlowDisable": "Tắt (xóa flow)",
"delDepleted": "Xóa hết hạn mức",
"delDepletedConfirmTitle": "Xóa khách hàng hết hạn mức?",
"delDepletedConfirmContent": "Gỡ tất cả khách hàng đã dùng hết hạn mức lưu lượng hoặc đã quá hạn. Không thể hoàn tác.",
diff --git a/internal/web/translation/zh-CN.json b/internal/web/translation/zh-CN.json
index 2afcfdb3e..a91cc4dcc 100644
--- a/internal/web/translation/zh-CN.json
+++ b/internal/web/translation/zh-CN.json
@@ -718,6 +718,8 @@
"tabBasics": "基本",
"tabCredentials": "凭据",
"tabLinks": "链接",
+ "wireguardConfig": "WireGuard 配置",
+ "config": "配置",
"linksHint": "添加第三方分享链接和远程订阅地址,将其包含在该客户端的订阅中。",
"addExternalLink": "添加外部链接",
"addExternalSubscription": "添加外部订阅",
@@ -871,6 +873,9 @@
"bulkAdjustNothing": "应用前请设置天数或流量。",
"addDays": "添加天数",
"addTrafficGB": "添加流量 (GB)",
+ "bulkFlow": "设置 flow",
+ "bulkFlowNoChange": "不更改",
+ "bulkFlowDisable": "禁用(清除 flow)",
"delDepleted": "删除已耗尽",
"delDepletedConfirmTitle": "删除已耗尽的客户端?",
"delDepletedConfirmContent": "删除所有流量配额已用尽或已过期的客户端。该操作不可撤销。",
diff --git a/internal/web/translation/zh-TW.json b/internal/web/translation/zh-TW.json
index 401d1d86e..381a29547 100644
--- a/internal/web/translation/zh-TW.json
+++ b/internal/web/translation/zh-TW.json
@@ -718,6 +718,8 @@
"tabBasics": "基本",
"tabCredentials": "認證資訊",
"tabLinks": "連結",
+ "wireguardConfig": "WireGuard 設定",
+ "config": "設定",
"linksHint": "新增第三方分享連結和遠端訂閱網址,將其包含在此用戶端的訂閱中。",
"addExternalLink": "新增外部連結",
"addExternalSubscription": "新增外部訂閱",
@@ -871,6 +873,9 @@
"bulkAdjustNothing": "套用前請設定天數或流量。",
"addDays": "新增天數",
"addTrafficGB": "新增流量 (GB)",
+ "bulkFlow": "設定 flow",
+ "bulkFlowNoChange": "不變更",
+ "bulkFlowDisable": "停用(清除 flow)",
"delDepleted": "刪除已耗盡",
"delDepletedConfirmTitle": "刪除已耗盡的客戶端?",
"delDepletedConfirmContent": "刪除所有流量配額已用盡或已過期的客戶端。此操作無法復原。",