Release 4.0.0+1: rebrand Navis → EvilFox; centralized Remnawave auto-provisioning (panel credentials baked into binary); remove Remnawave API UI; Windows 4.0.0.1.
Keep dist/navis-release/ path and ship Navis.exe as a same-hash alias of EvilFox.exe so 3.x clients can still update from the Windows branch feed.
This commit is contained in:
@@ -117,7 +117,7 @@ func main() {
|
||||
AutoFocus: true,
|
||||
DataPath: dataPath,
|
||||
WindowOptions: webview2.WindowOptions{
|
||||
Title: "Navis 2",
|
||||
Title: "EvilFox",
|
||||
Width: 920,
|
||||
Height: 680,
|
||||
Center: true,
|
||||
@@ -160,12 +160,32 @@ func main() {
|
||||
mustBind(w, "getLogs", a.getLogs)
|
||||
|
||||
go a.autoCheckUpdate()
|
||||
go a.autoProvision()
|
||||
mgr.StartAutoRenew(6 * time.Hour)
|
||||
|
||||
w.SetHtml(appui.IndexHTML)
|
||||
w.Run()
|
||||
}
|
||||
|
||||
// autoProvision quietly issues a panel account + imports configs on first run
|
||||
// (NordVPN-style centralized provisioning — users never edit the panel).
|
||||
func (a *app) autoProvision() {
|
||||
if !a.mgr.ProvisionConfigured() {
|
||||
return
|
||||
}
|
||||
time.Sleep(2 * time.Second)
|
||||
out, err := a.mgr.EnsureAutoProvision()
|
||||
if err != nil {
|
||||
fmt.Fprintf(a.logBuf, "auto-provision: %v\n", err)
|
||||
return
|
||||
}
|
||||
if out.Created {
|
||||
fmt.Fprintf(a.logBuf, "auto-provision: создан %s · серверов %d\n", out.Username, out.Imported)
|
||||
} else if out.Imported > 0 {
|
||||
fmt.Fprintf(a.logBuf, "auto-provision: обновлены конфиги %s · серверов %d\n", out.Username, out.Imported)
|
||||
}
|
||||
}
|
||||
|
||||
func mustBind(w webview2.WebView, name string, fn interface{}) {
|
||||
if err := w.Bind(name, fn); err != nil {
|
||||
fatalDialog("bind %s: %v", name, err)
|
||||
@@ -503,12 +523,12 @@ func (a *app) applyUpdate() (string, error) {
|
||||
return "", err
|
||||
}
|
||||
_ = a.mgr.Disconnect()
|
||||
// Hard-exit so Windows unlocks Navis.exe; do not wait on webview.Terminate (can hang).
|
||||
// Hard-exit so Windows unlocks EvilFox.exe; do not wait on webview.Terminate (can hang).
|
||||
go func() {
|
||||
time.Sleep(300 * time.Millisecond)
|
||||
os.Exit(0)
|
||||
}()
|
||||
return "Устанавливается v" + latest + "… Navis перезапустится.", nil
|
||||
return "Устанавливается v" + latest + "… EvilFox перезапустится.", nil
|
||||
}
|
||||
|
||||
func (a *app) autoCheckUpdate() {
|
||||
|
||||
Reference in New Issue
Block a user