feat(inbounds): bulk-attach & assign-group client actions + form defaults

- Bulk-attach an inbound's clients onto other inbounds (same identity, shared traffic): new ClientService.BulkAttach + POST /clients/bulkAttach, an inbound row action, and AttachClientsModal.
- Assign all of an inbound's clients to a group from the inbound page, reusing /clients/bulkAssignGroup and the existing BulkAssignGroupModal.
- Default a random user/pass account for new Mixed and HTTP inbounds instead of an empty accounts list.
- Capitalize the inbound Security toggle labels (None/TLS/Reality).
This commit is contained in:
MHSanaei
2026-05-28 01:54:32 +02:00
parent 9d9737f470
commit 1a096d72f1
10 changed files with 351 additions and 7 deletions
+8
View File
@@ -298,6 +298,14 @@
"delAllClients": "Delete All Clients",
"delAllClientsConfirmTitle": "Delete all {count} clients from \"{remark}\"?",
"delAllClientsConfirmContent": "This removes every client from this inbound and drops their traffic records. The inbound itself is kept. This cannot be undone.",
"attachClients": "Attach Clients To…",
"assignClientsGroup": "Assign Clients To Group…",
"attachClientsTitle": "Attach clients from \"{remark}\"",
"attachClientsDesc": "Attaches the same {count} clients (same UUID/password and shared traffic) to the selected inbound(s). They stay on this inbound too.",
"attachClientsTargets": "Target inbounds",
"attachClientsNoTargets": "No other compatible inbounds available to attach to.",
"attachClientsResult": "Attached {attached}, skipped {skipped}.",
"attachClientsResultMixed": "Attached {attached}, skipped {skipped}, errors {errors}.",
"exportLinksTitle": "Export inbound links",
"exportSubsTitle": "Export subscription links",
"exportAllLinksTitle": "Export all inbound links",
+8
View File
@@ -293,6 +293,14 @@
"delAllClients": "حذف همه کلاینت‌ها",
"delAllClientsConfirmTitle": "حذف هر {count} کلاینت اینباند «{remark}»؟",
"delAllClientsConfirmContent": "تمام کلاینت‌های این اینباند به همراه رکوردهای ترافیک‌شان حذف می‌شوند. خود اینباند باقی می‌ماند. این عمل غیرقابل بازگشت است.",
"attachClients": "اتصال کلاینت‌ها به…",
"assignClientsGroup": "افزودن کلاینت‌ها به گروه…",
"attachClientsTitle": "اتصال کلاینت‌های «{remark}»",
"attachClientsDesc": "همان {count} کلاینت (با همان UUID/پسورد و ترافیک مشترک) را به اینباند(های) انتخاب‌شده هم متصل می‌کند. روی این اینباند هم باقی می‌مانند.",
"attachClientsTargets": "اینباندهای مقصد",
"attachClientsNoTargets": "اینباند سازگار دیگری برای اتصال وجود ندارد.",
"attachClientsResult": "{attached} متصل شد، {skipped} رد شد.",
"attachClientsResultMixed": "{attached} متصل شد، {skipped} رد شد، {errors} خطا.",
"exportLinksTitle": "خروجی لینک‌های اینباند",
"exportSubsTitle": "خروجی لینک‌های ساب",
"exportAllLinksTitle": "خروجی لینک‌های همه اینباندها",