Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
authorHo3ein <ho3ein.sanaei@gmail.com>2023-03-27 02:45:49 +0300
committerGitHub <noreply@github.com>2023-03-27 02:45:49 +0300
commit3da6c4d7d91c31ac341bfdc0e3513f5bf2501a91 (patch)
treee09a1991c0347559542d0b13120a038d847e1ccc /web
parent373628a6a363e383dc9247983f2c0755bdf9f14c (diff)
parent606360ae03f6796aaa269a3f9871e1f18ae88242 (diff)
Merge pull request #113 from MHSanaei/dev
Dev
Diffstat (limited to 'web')
-rw-r--r--web/assets/js/model/xray.js4
-rw-r--r--web/html/xui/form/stream/stream_settings.html2
-rw-r--r--web/html/xui/index.html2
-rw-r--r--web/job/check_clinet_ip_job.go67
-rw-r--r--web/translation/translate.en_US.toml2
-rw-r--r--web/translation/translate.fa_IR.toml8
6 files changed, 43 insertions, 42 deletions
diff --git a/web/assets/js/model/xray.js b/web/assets/js/model/xray.js
index 9b0f8de9..775d56c8 100644
--- a/web/assets/js/model/xray.js
+++ b/web/assets/js/model/xray.js
@@ -1160,7 +1160,7 @@ class Inbound extends XrayCommonClass {
}
if (this.XTLS) {
- params.set("security", "tls");
+ params.set("security", "xtls");
params.set("alpn", this.stream.tls.alpn);
if(this.stream.tls.settings[0].allowInsecure){
params.set("allowInsecure", "1");
@@ -1261,7 +1261,7 @@ class Inbound extends XrayCommonClass {
}
if (this.XTLS) {
- params.set("security", "tls");
+ params.set("security", "xtls");
params.set("alpn", this.stream.tls.alpn);
if(this.stream.tls.settings[0].allowInsecure){
params.set("allowInsecure", "1");
diff --git a/web/html/xui/form/stream/stream_settings.html b/web/html/xui/form/stream/stream_settings.html
index 417d1734..3db72fe5 100644
--- a/web/html/xui/form/stream/stream_settings.html
+++ b/web/html/xui/form/stream/stream_settings.html
@@ -8,7 +8,7 @@
<a-select-option value="ws">WS</a-select-option>
<a-select-option value="http">HTTP</a-select-option>
<a-select-option value="quic">QUIC</a-select-option>
- <a-select-option value="grpc">GRPC</a-select-option>
+ <a-select-option value="grpc">gRPC</a-select-option>
</a-select>
</a-form-item>
</a-form>
diff --git a/web/html/xui/index.html b/web/html/xui/index.html
index 3d9b326c..5ced0a26 100644
--- a/web/html/xui/index.html
+++ b/web/html/xui/index.html
@@ -172,7 +172,7 @@
</a-col>
<a-col :sm="24" :md="12">
<a-card hoverable :class="siderDrawer.isDarkTheme ? darkClass : ''">
- x-ui: <a href="https://github.com/MHSanaei/3x-ui/releases" target="_blank"><a-tag color="green">3x-ui v{{ .cur_ver }}</a-tag></a>
+ 3x-ui: <a href="https://github.com/MHSanaei/3x-ui/releases" target="_blank"><a-tag color="green">v{{ .cur_ver }}</a-tag></a>
<a href="https://t.me/panel3xui" target="_blank"><a-tag color="green">Telegram</a-tag></a>
<a-tag color="blue" style="cursor: pointer;" @click="openLogs">Log Reports</a-tag>
</a-card>
diff --git a/web/job/check_clinet_ip_job.go b/web/job/check_clinet_ip_job.go
index bf71116b..ed86b42d 100644
--- a/web/job/check_clinet_ip_job.go
+++ b/web/job/check_clinet_ip_job.go
@@ -154,14 +154,16 @@ func GetInboundClientIps(clientEmail string) (*model.InboundClientIps, error) {
}
return InboundClientIps, nil
}
-func addInboundClientIps(clientEmail string,ips []string) error {
+func addInboundClientIps(clientEmail string, ips []string) error {
inboundClientIps := &model.InboundClientIps{}
- jsonIps, err := json.Marshal(ips)
+ jsonIps, err := json.Marshal(ips)
checkError(err)
+ // Trim any leading/trailing whitespace from clientEmail
+ clientEmail = strings.TrimSpace(clientEmail)
+
inboundClientIps.ClientEmail = clientEmail
inboundClientIps.Ips = string(jsonIps)
-
db := database.GetDB()
tx := db.Begin()
@@ -247,47 +249,46 @@ func GetInboundByEmail(clientEmail string) (*model.Inbound, error) {
return inbounds, nil
}
-func LimitDevice(){
-
- localIp,err := LocalIP()
- checkError(err)
+func LimitDevice() {
+ var destIp, destPort, srcIp, srcPort string
+
+ localIp,err := LocalIP()
+ checkError(err)
- c := cmd.NewCmd("bash","-c","ss --tcp | grep -E '" + IPsToRegex(localIp) + "'| awk '{if($1==\"ESTAB\") print $4,$5;}'","| sort | uniq -c | sort -nr | head")
+ c := cmd.NewCmd("bash","-c","ss --tcp | grep -E '" + IPsToRegex(localIp) + "'| awk '{if($1==\"ESTAB\") print $4,$5;}'","| sort | uniq -c | sort -nr | head")
- <-c.Start()
- if len(c.Status().Stdout) > 0 {
- ipRegx, _ := regexp.Compile(`[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+`)
- portRegx, _ := regexp.Compile(`(?:(:))([0-9]..[^.][0-9]+)`)
+ <-c.Start()
+ if len(c.Status().Stdout) > 0 {
+ ipRegx, _ := regexp.Compile(`[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+`)
+ portRegx, _ := regexp.Compile(`(?:(:))([0-9]..[^.][0-9]+)`)
- for _, row := range c.Status().Stdout {
-
- data := strings.Split(row," ")
-
- destIp,destPort,srcIp,srcPort := "","","",""
-
+ for _, row := range c.Status().Stdout {
- destIp = string(ipRegx.FindString(data[0]))
+ data := strings.Split(row," ")
- destPort = portRegx.FindString(data[0])
- destPort = strings.Replace(destPort,":","",-1)
-
-
- srcIp = string(ipRegx.FindString(data[1]))
+ if len(data) < 2 {
+ continue // Skip this row if it doesn't have at least two elements
+ }
- srcPort = portRegx.FindString(data[1])
- srcPort = strings.Replace(srcPort,":","",-1)
+ destIp = string(ipRegx.FindString(data[0]))
+ destPort = portRegx.FindString(data[0])
+ destPort = strings.Replace(destPort,":","",-1)
- if(contains(disAllowedIps,srcIp)){
- dropCmd := cmd.NewCmd("bash","-c","ss -K dport = " + srcPort)
- dropCmd.Start()
+ srcIp = string(ipRegx.FindString(data[1]))
+ srcPort = portRegx.FindString(data[1])
+ srcPort = strings.Replace(srcPort,":","",-1)
- logger.Debug("request droped : ",srcIp,srcPort,"to",destIp,destPort)
- }
- }
- }
+ if contains(disAllowedIps,srcIp){
+ dropCmd := cmd.NewCmd("bash","-c","ss -K dport = " + srcPort)
+ dropCmd.Start()
+ logger.Debug("request droped : ",srcIp,srcPort,"to",destIp,destPort)
+ }
+ }
+ }
}
+
func LocalIP() ([]string, error) {
// get machine ips
diff --git a/web/translation/translate.en_US.toml b/web/translation/translate.en_US.toml
index 76dc50f1..836e4692 100644
--- a/web/translation/translate.en_US.toml
+++ b/web/translation/translate.en_US.toml
@@ -170,7 +170,7 @@
"restartPanelDesc" = "Are you sure you want to restart the panel? Click OK to restart after 3 seconds. If you cannot access the panel after restarting, please go to the server to view the panel log information"
"panelConfig" = "Panel Configuration"
"userSetting" = "User Setting"
-"xrayConfiguration" = "xray Configuration"
+"xrayConfiguration" = "Xray Configuration"
"TGReminder" = "TG Reminder Related Settings"
"otherSetting" = "Other Setting"
"panelListeningIP" = "Panel listening IP"
diff --git a/web/translation/translate.fa_IR.toml b/web/translation/translate.fa_IR.toml
index cbc25c2f..0fcab166 100644
--- a/web/translation/translate.fa_IR.toml
+++ b/web/translation/translate.fa_IR.toml
@@ -74,8 +74,8 @@
"xraySwitch" = "تغییر ورژن"
"xraySwitchClick" = "ورژن مورد نظر را انتخاب کنید"
"xraySwitchClickDesk" = "لطفا با دقت انتخاب کنید ، در صورت انتخاب اشتباه امکان قطعی سیستم وجود دارد ."
-"operationHours" = "ساعت فعال"
-"operationHoursDesc" = "ساعت فعال بعد از شروع سیستم"
+"operationHours" = "مدت فعالیت"
+"operationHoursDesc" = "مدت فعالیت سیستم بعد از روشن شدن"
"systemLoad" = "بار روی سیستم"
"connectionCount" = "تعداد کانکشن ها"
"connectionCountDesc" = "تعداد کانکشن ها برای کل شبکه"
@@ -83,7 +83,7 @@
"downSpeed" = "سرعت دانلود در حال حاضر سیستم"
"totalSent" = "جمع کل ترافیک آپلود مصرفی"
"totalReceive" = "جمع کل ترافیک دانلود مصرفی"
-"xraySwitchVersionDialog" = "تغییر ورژن Xray"
+"xraySwitchVersionDialog" = "تغییر ورژن"
"xraySwitchVersionDialogDesc" = "آیا از تغییر ورژن مطمئن هستین"
"dontRefreshh" = "در حال نصب ، لطفا رفرش نکنید "
@@ -128,7 +128,7 @@
"keyContent" = "محتوای Private.key"
"clickOnQRcode" = "برای کپی بر روی کد تصویری کلیک کنید"
"client" = "کاربر"
-"export" = "استخراج لینک‌ها"
+"export" = "استخراج لینکها"
[pages.client]
"add" = "کاربر جدید"