Skip to content

Commit

Permalink
make network up after it is availble
Browse files Browse the repository at this point in the history
  • Loading branch information
hiddify-com committed Feb 22, 2024
1 parent 8b10558 commit 3fb13ef
Showing 1 changed file with 43 additions and 22 deletions.
65 changes: 43 additions & 22 deletions outbound/wireguard.go
Original file line number Diff line number Diff line change
Expand Up @@ -210,27 +210,45 @@ func (w *WireGuard) Close() error {
}

func (w *WireGuard) InterfaceUpdated() {
w.logger.Warn("Hiddify! Wirguard! Interface updated!1")
err := w.device.BindUpdate()
// err := fmt.Errorf("Hiddify! downing wireguard interface failed")
w.logger.Warn("Hiddify! Wirguard! Interface updated!XXX")
// err := w.device.BindUpdate()
// // err := fmt.Errorf("Hiddify! downing wireguard interface failed")

if err != nil {
w.logger.Error("Hiddify! bind update failed", err)
e1 := w.device.Down()
if e1 != nil {
w.logger.Error("Hiddify! downing wireguard interface failed", e1)
}
w.logger.Warn("Hiddify! uping.... wireguard interface")
e2 := w.device.Up()
if e2 != nil {
w.logger.Error("Hiddify! Uping wireguard interface failed", e2)
} else {
w.logger.Warn("Hiddify! OK!Updating wireguard interface")

}
// if err != nil {
// w.logger.Error("Hiddify! bind update failed", err)
e1 := w.device.Down()
if e1 != nil {
w.logger.Error("Hiddify! downing wireguard interface failed", e1)
}
if pause.IsNetworkPaused {

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (linux-armv7, linux, arm, 7)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (linux-amd64, linux, amd64, v1)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (linux-386, linux, 386)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (linux-mips64el, linux, mips64le)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (darwin-amd64, darwin, amd64, v1)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (linux-mipsel-hardfloat, linux, mipsle, hardfloat)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (freebsd-amd64-v3, freebsd, amd64, v3)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (linux-mips64, linux, mips64)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (freebsd-amd64, freebsd, amd64, v1)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (freebsd-386, freebsd, 386)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (linux-armv5, linux, arm, 5)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (linux-armv6, linux, arm, 6)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (freebsd-arm64, freebsd, arm64)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / Debug build (Go 1.20)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (darwin-amd64-v3, darwin, amd64, v3)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (linux-mipsel-softfloat, linux, mipsle, softfloat)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (darwin-arm64, darwin, arm64)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (linux-arm64, linux, arm64)

undefined: pause.IsNetworkPaused

Check failure on line 223 in outbound/wireguard.go

View workflow job for this annotation

GitHub Actions / cross (linux-amd64-v3, linux, amd64, v3)

undefined: pause.IsNetworkPaused
return
}
// for i := 0; i < 5; i++ {
// if !pause.IsNetworkPaused {
// break
// }
// if i == 4 {
// w.logger.Errorf("No network is availble after 4 seconds, stopping wireguard.")
// return
// }
// w.logger.Warn("Network is pause waiting ", i)
// select {
// case <-time.After(1 * time.Second):
// case <-w.done:
// return
// }
// }
w.logger.Warn("Hiddify! uping.... wireguard interface")
e2 := w.device.Up()
if e2 != nil {
w.logger.Error("Hiddify! Uping wireguard interface failed", e2)
} else {
w.logger.Warn("Hiddify! OK2!Updating wireguard interface")
w.logger.Warn("Hiddify! OK!Updating wireguard interface")

}
// } else {
// w.logger.Warn("Hiddify! OK2!Updating wireguard interface")
// }
return
}

Expand All @@ -240,12 +258,15 @@ func (w *WireGuard) onPauseUpdated(event int) {

case pause.EventDevicePaused:
w.device.Down()
// case EventNetworkPause://hiddify already handled in Interface Updated
// w.device.Down()
case pause.EventNetworkPause: //hiddify already handled in Interface Updated
err := w.device.Down()
w.logger.Warn("Hiddify! Wirguard! downing net! err=", err)

case pause.EventDeviceWake:
w.device.Up()
// case pause.EventNetworkWake://hiddify already handled in Interface Updated
// w.device.Up()
case pause.EventNetworkWake: //hiddify already handled in Interface Updated
err := w.device.Up()
w.logger.Warn("Hiddify! Wirguard! Uping net! err=", err)
}
}

Expand Down

0 comments on commit 3fb13ef

Please sign in to comment.