From 7b38d02ff035fc34699740d14807b4d2b8a36d06 Mon Sep 17 00:00:00 2001 From: MHSanaei <33454419+MHSanaei@users.noreply.github.com> Date: Mon, 27 Mar 2023 20:11:28 +0330 Subject: [PATCH 1/2] new feature - clone inbound --- web/html/xui/inbounds.html | 39 ++++++++++++++++++++++++++ web/translation/translate.en_US.toml | 4 +++ web/translation/translate.fa_IR.toml | 5 ++++ web/translation/translate.zh_Hans.toml | 4 +++ 4 files changed, 52 insertions(+) diff --git a/web/html/xui/inbounds.html b/web/html/xui/inbounds.html index f7b9e2ed..9fd663f7 100644 --- a/web/html/xui/inbounds.html +++ b/web/html/xui/inbounds.html @@ -95,6 +95,9 @@ {{ i18n "pages.inbounds.resetTraffic" }} + + + {{ i18n "pages.inbounds.Clone"}} @@ -310,11 +313,47 @@ break; case "resetTraffic": this.resetTraffic(dbInbound.id); + break; + case "clone": + this.openCloneInbound(dbInbound); break; case "delete": this.delInbound(dbInbound.id); break; } + }, + openCloneInbound(dbInbound) { + this.$confirm({ + title: '{{ i18n "pages.inbounds.cloneInbound"}} ' + dbInbound.remark, + content: '{{ i18n "pages.inbounds.cloneInboundContent"}}', + okText: '{{ i18n "pages.inbounds.cloneInboundOk"}}', + cancelText: '{{ i18n "cancel" }}', + onOk: () => { + const baseInbound = dbInbound.toInbound(); + dbInbound.up = 0; + dbInbound.down = 0; + this.cloneInbound(baseInbound, dbInbound); + }, + }); + }, + async cloneInbound(baseInbound, dbInbound) { + const inbound = new Inbound(); + const data = { + up: dbInbound.up, + down: dbInbound.down, + total: dbInbound.total, + remark: dbInbound.remark + " - Cloned", + enable: dbInbound.enable, + expiryTime: dbInbound.expiryTime, + + listen: inbound.listen, + port: inbound.port, + protocol: baseInbound.protocol, + settings: inbound.settings.toString(), + streamSettings: baseInbound.stream.toString(), + sniffing: baseInbound.canSniffing() ? baseInbound.sniffing.toString() : '{}', + }; + await this.submit('/xui/inbound/add', data, inModal); }, openAddInbound() { inModal.show({ diff --git a/web/translation/translate.en_US.toml b/web/translation/translate.en_US.toml index 836e4692..d8a46d5d 100644 --- a/web/translation/translate.en_US.toml +++ b/web/translation/translate.en_US.toml @@ -129,6 +129,10 @@ "clickOnQRcode" = "Click on QR Code to Copy" "client" = "Client" "export" = "Export links" +"Clone" = "Clone" +"cloneInbound" = "Create" +"cloneInboundContent" = "All items of this inbound except Port, Listening IP, Clients will be applied to the clone" +"cloneInboundOk" = "Creating a clone from" [pages.client] "add" = "Add client" diff --git a/web/translation/translate.fa_IR.toml b/web/translation/translate.fa_IR.toml index 0fcab166..157d9cf7 100644 --- a/web/translation/translate.fa_IR.toml +++ b/web/translation/translate.fa_IR.toml @@ -129,6 +129,11 @@ "clickOnQRcode" = "برای کپی بر روی کد تصویری کلیک کنید" "client" = "کاربر" "export" = "استخراج لینکها" +"Clone" = "کلون" +"cloneInbound" = "ایجاد" +"cloneInboundContent" = "همه موارد این ورودی بجز پورت ، ای پی و کلاینت ها روی کلون اعمال خواهند شد" +"cloneInboundOk" = "ساختن یک کلون از" + [pages.client] "add" = "کاربر جدید" diff --git a/web/translation/translate.zh_Hans.toml b/web/translation/translate.zh_Hans.toml index 18c1e322..cbffba0f 100644 --- a/web/translation/translate.zh_Hans.toml +++ b/web/translation/translate.zh_Hans.toml @@ -129,6 +129,10 @@ "clickOnQRcode" = "点击二维码复制" "client" = "客户" "export" = "导出链接" +"Clone" = "克隆" +"cloneInbound" = "创造" +"cloneInboundContent" = "此入站的所有项目除 Port、Listening IP、Clients 将应用于克隆" +"cloneInboundOk" = "从创建克隆" [pages.client] "add" = "添加客户端" From 88744d92b3677b33f0b6265bacb7805aeab856e6 Mon Sep 17 00:00:00 2001 From: MHSanaei <33454419+MHSanaei@users.noreply.github.com> Date: Mon, 27 Mar 2023 20:12:45 +0330 Subject: [PATCH 2/2] new feature - reset traffic all inbound --- web/html/xui/inbounds.html | 17 +++++++++++++++++ web/translation/translate.en_US.toml | 5 +++++ web/translation/translate.fa_IR.toml | 5 +++++ web/translation/translate.zh_Hans.toml | 5 +++++ 4 files changed, 32 insertions(+) diff --git a/web/html/xui/inbounds.html b/web/html/xui/inbounds.html index 9fd663f7..90250869 100644 --- a/web/html/xui/inbounds.html +++ b/web/html/xui/inbounds.html @@ -52,6 +52,7 @@
{{ i18n "pages.inbounds.addInbound" }} {{ i18n "pages.inbounds.export" }} + {{ i18n "pages.inbounds.resetAllTraffic" }}
{ + for (const dbInbound of this.dbInbounds) { + const inbound = dbInbound.toInbound(); + dbInbound.up = 0; + dbInbound.down = 0; + this.updateInbound(inbound, dbInbound); + } + }, + }); }, delInbound(dbInboundId) { this.$confirm({ diff --git a/web/translation/translate.en_US.toml b/web/translation/translate.en_US.toml index d8a46d5d..247096f1 100644 --- a/web/translation/translate.en_US.toml +++ b/web/translation/translate.en_US.toml @@ -133,6 +133,11 @@ "cloneInbound" = "Create" "cloneInboundContent" = "All items of this inbound except Port, Listening IP, Clients will be applied to the clone" "cloneInboundOk" = "Creating a clone from" +"resetAllTraffic" = "Reset All Inbounds Traffic" +"resetAllTrafficTitle" = "Reset all inbounds traffic" +"resetAllTrafficContent" = "Are you sure to reset all inbounds traffic ?" +"resetAllTrafficOkText" = "Confirm" +"resetAllTrafficCancelText" = "Cancel" [pages.client] "add" = "Add client" diff --git a/web/translation/translate.fa_IR.toml b/web/translation/translate.fa_IR.toml index 157d9cf7..c5e3e23f 100644 --- a/web/translation/translate.fa_IR.toml +++ b/web/translation/translate.fa_IR.toml @@ -133,6 +133,11 @@ "cloneInbound" = "ایجاد" "cloneInboundContent" = "همه موارد این ورودی بجز پورت ، ای پی و کلاینت ها روی کلون اعمال خواهند شد" "cloneInboundOk" = "ساختن یک کلون از" +"resetAllTraffic" = "ریست ترافیک کل ورودی ها" +"resetAllTrafficTitle" = "ریست ترافیک کل ورودی ها" +"resetAllTrafficContent" = "آیا مطمئن هستید که تمام ترافیک ورودی ها را ریست می کنید؟" +"resetAllTrafficOkText" = "بله" +"resetAllTrafficCancelText" = "انصراف" [pages.client] diff --git a/web/translation/translate.zh_Hans.toml b/web/translation/translate.zh_Hans.toml index cbffba0f..17b4688b 100644 --- a/web/translation/translate.zh_Hans.toml +++ b/web/translation/translate.zh_Hans.toml @@ -133,6 +133,11 @@ "cloneInbound" = "创造" "cloneInboundContent" = "此入站的所有项目除 Port、Listening IP、Clients 将应用于克隆" "cloneInboundOk" = "从创建克隆" +"resetAllTraffic" = "重置所有入站流量" +"resetAllTrafficTitle" = "重置所有入站流量" +"resetAllTrafficContent" = "您确定要重置所有入站流量吗?" +"resetAllTrafficOkText" = "确认" +"resetAllTrafficCancelText" = "取消" [pages.client] "add" = "添加客户端"