Prechádzať zdrojové kódy

Merge pull request #113 from MHSanaei/dev

Dev
Ho3ein 1 rok pred
rodič
commit
3da6c4d7d9

+ 2 - 2
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");

+ 1 - 1
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>

+ 1 - 1
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>

+ 34 - 33
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
 

+ 1 - 1
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"

+ 4 - 4
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" = "کاربر جدید"