1
All checks were successful
Build Multi-Platform Binaries / build-frontend (push) Successful in 2m28s
Build Multi-Platform Binaries / build-binaries (amd64, darwin, server, false) (push) Successful in 2m25s
Build Multi-Platform Binaries / build-binaries (amd64, linux, client, true) (push) Successful in 2m24s
Build Multi-Platform Binaries / build-binaries (amd64, linux, server, true) (push) Successful in 3m12s
Build Multi-Platform Binaries / build-binaries (amd64, windows, client, true) (push) Successful in 1m17s
Build Multi-Platform Binaries / build-binaries (amd64, windows, server, true) (push) Successful in 3m23s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, client, true) (push) Successful in 2m1s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, server, true) (push) Successful in 1m59s
Build Multi-Platform Binaries / build-binaries (arm64, darwin, server, false) (push) Successful in 1m15s
Build Multi-Platform Binaries / build-binaries (arm64, linux, client, true) (push) Successful in 2m21s
Build Multi-Platform Binaries / build-binaries (arm64, linux, server, true) (push) Successful in 1m50s
Build Multi-Platform Binaries / build-binaries (arm64, windows, server, false) (push) Successful in 2m43s

This commit is contained in:
2026-01-01 22:24:19 +08:00
parent 3f7b72a0aa
commit 82c1a6a266
3 changed files with 24 additions and 115 deletions

View File

@@ -3,8 +3,6 @@ package main
import (
"flag"
"log"
"os"
"path/filepath"
"github.com/gotunnel/internal/client/tunnel"
"github.com/gotunnel/pkg/crypto"
@@ -17,27 +15,19 @@ func main() {
token := flag.String("t", "", "auth token")
id := flag.String("id", "", "client id (optional, auto-assigned if empty)")
noTLS := flag.Bool("no-tls", false, "disable TLS")
skipVerify := flag.Bool("skip-verify", false, "skip TLS certificate verification (insecure)")
flag.Parse()
if *server == "" || *token == "" {
log.Fatal("Usage: client -s <server:port> -t <token> [-id <client_id>] [-no-tls] [-skip-verify]")
log.Fatal("Usage: client -s <server:port> -t <token> [-id <client_id>] [-no-tls]")
}
client := tunnel.NewClient(*server, *token, *id)
// TLS 默认启用,使用 TOFU 验证
// TLS 默认启用,默认跳过证书验证(类似 frp
if !*noTLS {
client.TLSEnabled = true
// 获取数据目录
home, _ := os.UserHomeDir()
dataDir := filepath.Join(home, ".gotunnel")
client.TLSConfig = crypto.ClientTLSConfigWithTOFU(*server, dataDir, *skipVerify)
if *skipVerify {
log.Printf("[Client] TLS enabled (certificate verification DISABLED - insecure)")
} else {
log.Printf("[Client] TLS enabled with TOFU certificate verification")
}
client.TLSConfig = crypto.ClientTLSConfig()
log.Printf("[Client] TLS enabled")
}
// 初始化插件系统