server use sqlite
All checks were successful
Build Multi-Platform Binaries / build (push) Successful in 11m35s
All checks were successful
Build Multi-Platform Binaries / build (push) Successful in 11m35s
This commit is contained in:
@@ -4,7 +4,7 @@ import (
|
||||
"flag"
|
||||
"log"
|
||||
|
||||
"github.com/gotunnel/pkg/tunnel"
|
||||
"github.com/gotunnel/internal/client/tunnel"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
@@ -5,25 +5,42 @@ import (
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"github.com/gotunnel/pkg/config"
|
||||
"github.com/gotunnel/pkg/tunnel"
|
||||
"github.com/gotunnel/pkg/webserver"
|
||||
"github.com/gotunnel/internal/server/app"
|
||||
"github.com/gotunnel/internal/server/config"
|
||||
"github.com/gotunnel/internal/server/db"
|
||||
"github.com/gotunnel/internal/server/tunnel"
|
||||
)
|
||||
|
||||
func main() {
|
||||
configPath := flag.String("c", "server.yaml", "config file path")
|
||||
flag.Parse()
|
||||
|
||||
// 加载 YAML 配置
|
||||
cfg, err := config.LoadServerConfig(*configPath)
|
||||
if err != nil {
|
||||
log.Fatalf("Load config error: %v", err)
|
||||
}
|
||||
|
||||
server := tunnel.NewServer(cfg)
|
||||
// 初始化数据库
|
||||
clientStore, err := db.NewSQLiteStore(cfg.Server.DBPath)
|
||||
if err != nil {
|
||||
log.Fatalf("Init database error: %v", err)
|
||||
}
|
||||
defer clientStore.Close()
|
||||
|
||||
// 创建隧道服务
|
||||
server := tunnel.NewServer(
|
||||
clientStore,
|
||||
cfg.Server.BindAddr,
|
||||
cfg.Server.BindPort,
|
||||
cfg.Server.Token,
|
||||
cfg.Server.HeartbeatSec,
|
||||
cfg.Server.HeartbeatTimeout,
|
||||
)
|
||||
|
||||
// 启动 Web 控制台
|
||||
if cfg.Web.Enabled {
|
||||
ws := webserver.NewWebServer(cfg, *configPath, server)
|
||||
ws := app.NewWebServer(clientStore, server)
|
||||
addr := fmt.Sprintf("%s:%d", cfg.Web.BindAddr, cfg.Web.BindPort)
|
||||
|
||||
go func() {
|
||||
|
||||
Reference in New Issue
Block a user