diff --git a/web/controller/setting.go b/web/controller/setting.go
index cfdfe5d6..261eeec8 100644
--- a/web/controller/setting.go
+++ b/web/controller/setting.go
@@ -33,7 +33,7 @@ func (a *SettingController) initRouter(g *gin.RouterGroup) {
g = g.Group("/setting")
g.POST("/all", a.getAllSetting)
- g.POST("/thresholds", a.getThresholds)
+ g.POST("/defaultSettings", a.getDefaultSettings)
g.POST("/update", a.updateSetting)
g.POST("/updateUser", a.updateUser)
g.POST("/restartPanel", a.restartPanel)
@@ -48,7 +48,7 @@ func (a *SettingController) getAllSetting(c *gin.Context) {
jsonObj(c, allSetting, nil)
}
-func (a *SettingController) getThresholds(c *gin.Context) {
+func (a *SettingController) getDefaultSettings(c *gin.Context) {
expireDiff, err := a.settingService.GetExpireDiff()
if err != nil {
jsonMsg(c, I18n(c, "pages.setting.toasts.getSetting"), err)
@@ -59,9 +59,21 @@ func (a *SettingController) getThresholds(c *gin.Context) {
jsonMsg(c, I18n(c, "pages.setting.toasts.getSetting"), err)
return
}
+ defaultCert, err := a.settingService.GetCertFile()
+ if err != nil {
+ jsonMsg(c, I18n(c, "pages.setting.toasts.getSetting"), err)
+ return
+ }
+ defaultKey, err := a.settingService.GetKeyFile()
+ if err != nil {
+ jsonMsg(c, I18n(c, "pages.setting.toasts.getSetting"), err)
+ return
+ }
result := map[string]interface{}{
"expireDiff": expireDiff,
"trafficDiff": trafficDiff,
+ "defaultCert": defaultCert,
+ "defaultKey": defaultKey,
}
jsonObj(c, result, nil)
}
diff --git a/web/html/xui/form/tls_settings.html b/web/html/xui/form/tls_settings.html
index 16e94584..10b24aea 100644
--- a/web/html/xui/form/tls_settings.html
+++ b/web/html/xui/form/tls_settings.html
@@ -61,6 +61,7 @@
+ {{ i18n "pages.inbounds.setDefaultCert" }}
diff --git a/web/html/xui/inbound_modal.html b/web/html/xui/inbound_modal.html
index c70b59fd..6b140abc 100644
--- a/web/html/xui/inbound_modal.html
+++ b/web/html/xui/inbound_modal.html
@@ -96,6 +96,10 @@
clientStats = this.dbInbound.clientStats ? this.dbInbound.clientStats.find(stats => stats.email === email) : null
return clientStats ? clientStats['enable'] : true
},
+ setDefaultCertData(){
+ inModal.inbound.stream.tls.certs[0].certFile = app.defaultCert;
+ inModal.inbound.stream.tls.certs[0].keyFile = app.defaultKey;
+ },
getNewEmail(client) {
var chars = 'abcdefghijklmnopqrstuvwxyz1234567890';
var string = '';
diff --git a/web/html/xui/inbounds.html b/web/html/xui/inbounds.html
index f9f1a9ef..f0725755 100644
--- a/web/html/xui/inbounds.html
+++ b/web/html/xui/inbounds.html
@@ -287,6 +287,8 @@
searchedInbounds: [],
expireDiff: 0,
trafficDiff: 0,
+ defaultCert: '',
+ defaultKey: '',
clientCount: {},
},
methods: {
@@ -303,15 +305,17 @@
this.setInbounds(msg.obj);
this.searchKey = '';
},
- async getThresholds() {
+ async getDefaultSettings() {
this.loading();
- const msg = await HttpUtil.post('/xui/setting/thresholds');
+ const msg = await HttpUtil.post('/xui/setting/defaultSettings');
this.loading(false);
if (!msg.success) {
return;
}
this.expireDiff = msg.obj.expireDiff * 86400000;
this.trafficDiff = msg.obj.trafficDiff * 1073741824;
+ this.defaultCert = msg.obj.defaultCert;
+ this.defaultKey = msg.obj.defaultKey;
},
setInbounds(dbInbounds) {
this.inbounds.splice(0);
@@ -572,7 +576,7 @@
id: dbInbound.id,
settings: inbound.settings.toString(),
};
- await this.submit('/xui/inbound/addClient', data);
+ await this.submit('/xui/inbound/addClient/', data);
},
async updateClient(inbound, dbInbound, index) {
const data = {
@@ -744,7 +748,7 @@
}, 500)
},
mounted() {
- this.getThresholds();
+ this.getDefaultSettings();
this.getDBInbounds();
},
computed: {
diff --git a/web/translation/translate.en_US.toml b/web/translation/translate.en_US.toml
index 7e5a0ccd..a269e631 100644
--- a/web/translation/translate.en_US.toml
+++ b/web/translation/translate.en_US.toml
@@ -143,6 +143,7 @@
"resetAllClientTrafficContent" = "Are you sure to reset all traffics of this inbound's clients ?"
"Email" = "Email"
"EmailDesc" = "The Email Must Be Completely Unique"
+"setDefaultCert" = "Set cert from panel"
[pages.client]
"add" = "Add client"
diff --git a/web/translation/translate.fa_IR.toml b/web/translation/translate.fa_IR.toml
index 19aa5be9..f384727a 100644
--- a/web/translation/translate.fa_IR.toml
+++ b/web/translation/translate.fa_IR.toml
@@ -143,6 +143,7 @@
"resetAllClientTrafficContent" = "آیا مطمئن هستید که میخواهید تمام ترافیک کاربران این سرویس را ریست کنید؟"
"Email" = "ایمیل"
"EmailDesc" = "ایمیل باید کاملا منحصر به فرد باشد"
+"setDefaultCert" = "استفاده از گواهی پنل"
[pages.client]
"add" = "کاربر جدید"
diff --git a/web/translation/translate.zh_Hans.toml b/web/translation/translate.zh_Hans.toml
index 971857bc..ef74e4e8 100644
--- a/web/translation/translate.zh_Hans.toml
+++ b/web/translation/translate.zh_Hans.toml
@@ -143,6 +143,7 @@
"resetAllClientTrafficContent" = "您确定要重置此入站客户端的所有流量吗?"
"Email" = "电子邮件"
"EmailDesc" = "电子邮件必须完全唯"
+"setDefaultCert" = "从面板设置证书"
[pages.client]
"add" = "添加客户端"