Skip to content

Commit ecea395

Browse files
authored
bugs fixed
1 parent 08da813 commit ecea395

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

xrkeyparser.go

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,11 @@ func createParamsMap(str string) map[string]string {
192192
break
193193
}
194194
}
195-
i = i + 5 // lenght of "&"
195+
if i <= lenStr-1 && str[i+1] == 'a' && str[i+2] == 'm' && str[i+3] == 'p' {
196+
i = i + 5 // lenght of "&amp;"
197+
} else {
198+
i++
199+
}
196200
j = i
197201
}
198202
}
@@ -305,7 +309,7 @@ func parseUp(link Link, body string) {
305309
i := lastPos - 10
306310
for i >= 0 {
307311
for j := 0; j < maskLen; j++ {
308-
mask := link.Mask[0]
312+
mask := link.Mask[j]
309313
if body[i] == mask[0] {
310314
lm := len(mask)
311315
_mask := body[i : i+lm]
@@ -355,7 +359,7 @@ func parseDown(link Link, body string) {
355359
maskLen := len(link.Mask)
356360
for i := 0; i < lastPos; i++ {
357361
for j := 0; j < maskLen; j++ {
358-
mask := link.Mask[0]
362+
mask := link.Mask[j]
359363
if body[i] == mask[0] {
360364
lm := len(mask)
361365
_mask := body[i : i+lm]
@@ -564,10 +568,12 @@ func restartService() {
564568
} else { // restart ss
565569
//env := os.Environ()
566570
cmd := exec.Command(xrbin, config.XrRestartCommand...)
567-
cmd.Stdout = os.Stdout
568-
err := cmd.Start() //syscall.Exec(ssbin,config.SsRestartCommand,env)
571+
//cmd.Stdout = os.Stdout
572+
output, err := cmd.Output() //Start() //syscall.Exec(ssbin,config.SsRestartCommand,env)
569573
if err != nil {
570574
fmt.Println("Unable to restart xray:", err)
575+
} else {
576+
fmt.Println(string(output))
571577
}
572578
}
573579
}

0 commit comments

Comments
 (0)