mxs 1 rok pred
rodič
commit
653860380d
1 zmenil súbory, kde vykonal 8 pridanie a 1 odobranie
  1. 8 1
      src/util.go

+ 8 - 1
src/util.go

@@ -7,6 +7,7 @@ import (
 	mu "mfw/util"
 	"net"
 	"net/http"
+	"os"
 	"os/exec"
 	"strings"
 	"time"
@@ -78,7 +79,8 @@ func checkSpeed(addr string, updatename bool) (float64, float64) {
 func changeIP() {
 	sendMessageBeforChangeIp()
 	defer sendMessageAfterChangeIp()
-	for {
+	changeOK := false
+	for i := 1; i <= 5; i++ {
 		fmt.Println("start change ip...")
 		exec.Command("pppoe-stop").Run()
 		exec.Command("pppoe-start").Run()
@@ -88,6 +90,7 @@ func changeIP() {
 		newIp := GetInterfaceIpv4Addr("ppp0") //获取本机IP
 		fmt.Println("newIp:", newIp)
 		if newIp != "" && newIp != myoldip {
+			changeOK = true
 			fmt.Println("公网IP由", myoldip, "换为", newIp)
 			myoldip = newIp
 			break
@@ -104,6 +107,10 @@ func changeIP() {
 		}
 		time.Sleep(5 * time.Second)
 	}
+	if !changeOK { //切换5次失败自杀
+		fmt.Println("IP切换自杀...")
+		os.Exit(-1)
+	}
 }
 func sendMessageBeforChangeIp() {
 	fmt.Println("切换IP前发送消息...")