add new webui
Some checks failed
Build Multi-Platform Binaries / build (push) Failing after 4m53s

This commit is contained in:
Flik
2025-12-25 18:26:52 +08:00
parent 16a238f346
commit 790d3b682a
26 changed files with 2986 additions and 5 deletions

View File

@@ -2,10 +2,12 @@ package main
import (
"flag"
"fmt"
"log"
"github.com/gotunnel/pkg/config"
"github.com/gotunnel/pkg/tunnel"
"github.com/gotunnel/pkg/webserver"
)
func main() {
@@ -18,5 +20,24 @@ func main() {
}
server := tunnel.NewServer(cfg)
// 启动 Web 控制台
if cfg.Web.Enabled {
ws := webserver.NewWebServer(cfg, *configPath, server)
addr := fmt.Sprintf("%s:%d", cfg.Web.BindAddr, cfg.Web.BindPort)
go func() {
var err error
if cfg.Web.Username != "" && cfg.Web.Password != "" {
err = ws.RunWithAuth(addr, cfg.Web.Username, cfg.Web.Password)
} else {
err = ws.Run(addr)
}
if err != nil {
log.Printf("[Web] Server error: %v", err)
}
}()
}
log.Fatal(server.Run())
}