diff --git a/api.go b/api.go index 2792da7..e74bf1d 100644 --- a/api.go +++ b/api.go @@ -11,59 +11,126 @@ import ( "golang.org/x/crypto/bcrypt" ) -// SetupRouter 配置所有路由 func SetupRouter() *gin.Engine { r := gin.Default() - // 静态文件(前端) r.Static("/static", "./static") - - // 健康检查 r.GET("/ping", func(c *gin.Context) { c.String(200, "frpc-console 后端已启动 🎉") }) - - // 前端入口 r.GET("/", func(c *gin.Context) { c.File("./static/index.html") }) - // API 路由组 api := r.Group("/api") { - // 登录(无需鉴权) + // 公开接口 + api.GET("/check/users", checkUsersHandler) + api.POST("/register", registerHandler) api.POST("/login", loginHandler) - // 需要鉴权的路由 + // 需鉴权 auth := api.Group("/") auth.Use(AuthMiddleware()) { - // 全局配置 auth.GET("/config", getConfigHandler) auth.PUT("/config", updateConfigHandler) - // 隧道管理 auth.GET("/proxies", getProxiesHandler) auth.GET("/proxy/:id", getProxyHandler) auth.POST("/proxy", createProxyHandler) auth.PUT("/proxy/:id", updateProxyHandler) auth.DELETE("/proxy/:id", deleteProxyHandler) - // frpc 控制 auth.POST("/frpc/reload", reloadFrpcHandler) auth.POST("/frpc/start", startFrpcHandler) auth.POST("/frpc/stop", stopFrpcHandler) auth.GET("/frpc/status", getFrpcStatusHandler) - // 🟢 导入 TOML(新增) auth.POST("/import/toml", importTomlHandler) auth.GET("/export/toml", ExportTomlHandler) + + auth.PUT("/user/password", changePasswordHandler) } } return r } +// ========== 检查是否有用户 ========== +func checkUsersHandler(c *gin.Context) { + count, err := CountUsers() + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"code": 2, "msg": "查询用户失败"}) + return + } + c.JSON(http.StatusOK, gin.H{ + "code": 0, + "data": gin.H{ + "hasUsers": count > 0, + "count": count, + }, + }) +} + +// ========== 注册(仅首次启动可用) ========== +func registerHandler(c *gin.Context) { + var req struct { + Username string `json:"username"` + Password string `json:"password"` + } + if err := c.ShouldBindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"code": 1, "msg": "请求参数错误"}) + return + } + + count, err := CountUsers() + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"code": 2, "msg": "查询用户失败"}) + return + } + if count > 0 { + c.JSON(http.StatusForbidden, gin.H{"code": 1, "msg": "已存在管理员账户,请登录"}) + return + } + + if len(req.Username) < 5 { + c.JSON(http.StatusBadRequest, gin.H{"code": 1, "msg": "用户名至少 5 位"}) + return + } + + if !ValidatePassword(req.Password) { + c.JSON(http.StatusBadRequest, gin.H{ + "code": 1, + "msg": "密码至少 8 位,需包含大小写字母、数字和特殊字符", + }) + return + } + + hash, err := bcrypt.GenerateFromPassword([]byte(req.Password), bcrypt.DefaultCost) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"code": 2, "msg": "密码加密失败"}) + return + } + + if err := CreateUser(req.Username, string(hash)); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"code": 2, "msg": "创建用户失败: " + err.Error()}) + return + } + + token, err := GenerateJWT(req.Username) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"code": 2, "msg": "生成Token失败"}) + return + } + + c.JSON(http.StatusOK, gin.H{ + "code": 0, + "msg": "注册成功", + "data": gin.H{"token": token}, + }) +} + // ========== 登录 ========== func loginHandler(c *gin.Context) { var req struct { @@ -99,6 +166,56 @@ func loginHandler(c *gin.Context) { }) } +// ========== 修改密码 ========== +func changePasswordHandler(c *gin.Context) { + var req struct { + OldPassword string `json:"oldPassword"` + NewPassword string `json:"newPassword"` + } + if err := c.ShouldBindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"code": 1, "msg": "请求参数错误"}) + return + } + + username, exists := c.Get("username") + if !exists { + c.JSON(http.StatusUnauthorized, gin.H{"code": 1, "msg": "未登录"}) + return + } + + user, err := GetUserByUsername(username.(string)) + if err != nil { + c.JSON(http.StatusNotFound, gin.H{"code": 1, "msg": "用户不存在"}) + return + } + + if err := bcrypt.CompareHashAndPassword([]byte(user.PasswordHash), []byte(req.OldPassword)); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"code": 1, "msg": "当前密码错误"}) + return + } + + if !ValidatePassword(req.NewPassword) { + c.JSON(http.StatusBadRequest, gin.H{ + "code": 1, + "msg": "密码至少 8 位,需包含大小写字母、数字和特殊字符", + }) + return + } + + hash, err := bcrypt.GenerateFromPassword([]byte(req.NewPassword), bcrypt.DefaultCost) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"code": 2, "msg": "密码加密失败"}) + return + } + + if err := UpdatePassword(username.(string), string(hash)); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"code": 2, "msg": "更新密码失败"}) + return + } + + c.JSON(http.StatusOK, gin.H{"code": 0, "msg": "密码修改成功"}) +} + // ========== 全局配置 ========== func getConfigHandler(c *gin.Context) { cfg, err := GetGlobalConfig() @@ -115,8 +232,6 @@ func updateConfigHandler(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"code": 1, "msg": "请求参数错误"}) return } - - // 强制 tcpMux 为 true cfg.TcpMux = true if err := UpdateGlobalConfig(&cfg); err != nil { @@ -188,7 +303,6 @@ func updateProxyHandler(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"code": 1, "msg": "无效的ID"}) return } - var p Proxy if err := c.ShouldBindJSON(&p); err != nil { c.JSON(http.StatusBadRequest, gin.H{"code": 1, "msg": "请求参数错误"}) @@ -267,7 +381,7 @@ func getFrpcStatusHandler(c *gin.Context) { c.JSON(http.StatusOK, gin.H{"code": 0, "data": gin.H{"running": running}}) } -// ========== 🟢 导入 TOML(新增) ========== +// ========== 导入 TOML ========== func importTomlHandler(c *gin.Context) { file, err := c.FormFile("file") if err != nil { @@ -294,20 +408,13 @@ func importTomlHandler(c *gin.Context) { return } - // 更新全局配置(保持当前 tcpMux 值) cfg := parsed.ToGlobalConfig() - currentCfg, _ := GetGlobalConfig() - if currentCfg != nil { - cfg.TcpMux = currentCfg.TcpMux // 保持当前值不变 - } - cfg.TcpMux = true // 强制开启 - + cfg.TcpMux = true if err := UpdateGlobalConfig(cfg); err != nil { c.JSON(http.StatusInternalServerError, gin.H{"code": 2, "msg": "更新配置失败: " + err.Error()}) return } - // 清空并导入隧道 if _, err := DB.Exec("DELETE FROM proxies"); err != nil { c.JSON(http.StatusInternalServerError, gin.H{"code": 2, "msg": "清空隧道失败"}) return @@ -321,13 +428,11 @@ func importTomlHandler(c *gin.Context) { } } - // 生成配置并热加载 if err := GenerateFrpcConfig(); err != nil { c.JSON(http.StatusInternalServerError, gin.H{"code": 2, "msg": "生成配置失败: " + err.Error()}) return } if err := ReloadFrpc(); err != nil { - // 导入成功但热加载失败,不影响整体结果 c.JSON(http.StatusOK, gin.H{ "code": 0, "msg": fmt.Sprintf("导入成功!共 %d 条隧道,但热加载失败: %s", len(proxies), err.Error()), @@ -341,7 +446,7 @@ func importTomlHandler(c *gin.Context) { }) } -// ExportTomlHandler 导出 TOML 配置文件 +// ========== 导出 TOML ========== func ExportTomlHandler(c *gin.Context) { cfg, err := GetGlobalConfig() if err != nil { @@ -370,7 +475,6 @@ func ExportTomlHandler(c *gin.Context) { Proxies: activeProxies, } - // 解析模板(直接使用 frp.go 中的 frpcTemplateContent) tmpl, err := template.New("frpc").Parse(FrpcTemplateContent) if err != nil { c.JSON(http.StatusInternalServerError, gin.H{"code": 2, "msg": "解析模板失败: " + err.Error()}) @@ -383,13 +487,12 @@ func ExportTomlHandler(c *gin.Context) { return } - // 返回文件下载 c.Header("Content-Type", "text/plain; charset=utf-8") c.Header("Content-Disposition", "attachment; filename=frpc.toml") c.String(http.StatusOK, buf.String()) } -// ========== 辅助函数 ========== +// ========== 辅助 ========== func generateAndReload() error { if err := GenerateFrpcConfig(); err != nil { return err diff --git a/auth.go b/auth.go index 4f04e0e..5b46007 100644 --- a/auth.go +++ b/auth.go @@ -13,12 +13,18 @@ import ( "golang.org/x/crypto/bcrypt" ) +var jwtSecretCache []byte + func getJwtSecret() []byte { + if len(jwtSecretCache) > 0 { + return jwtSecretCache + } secret, err := GetJwtSecret() if err != nil { log.Fatal("❌ 获取 JWT 密钥失败:", err) } - return []byte(secret) + jwtSecretCache = []byte(secret) + return jwtSecretCache } type Claims struct { @@ -51,49 +57,45 @@ func ParseJWT(tokenString string) (*Claims, error) { return nil, errors.New("invalid token") } -// 密码复杂度验证:至少8位密码,包含大写字母、数字和特殊字符 func ValidatePassword(pwd string) bool { if len(pwd) < 8 { return false } - var hasLetter, hasDigit bool + var hasUpper, hasLower, hasDigit, hasSpecial bool for _, ch := range pwd { - if (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') { - hasLetter = true - } - if ch >= '0' && ch <= '9' { + if ch >= 'A' && ch <= 'Z' { + hasUpper = true + } else if ch >= 'a' && ch <= 'z' { + hasLower = true + } else if ch >= '0' && ch <= '9' { hasDigit = true + } else if strings.ContainsAny(string(ch), "!@#$%^&*()_+-=[]{}|;:,.<>?") { + hasSpecial = true } } - return hasLetter && hasDigit + return hasUpper && hasLower && hasDigit && hasSpecial } -// 首次启动强制设置管理员账户 func InitAdminUser() { count, err := CountUsers() if err != nil { log.Fatal("❌ 检查用户表失败:", err) } - if count > 0 { log.Println("✅ 已存在管理员账户,跳过初始化") return } - log.Println("⚠️ 首次启动,请设置管理员账户") log.Print("用户名: ") var username string fmt.Scanln(&username) - if username == "" { username = "admin" } - for { - log.Print("密码 (至少8位密码,包含大写字母、数字和特殊字符): ") + log.Print("密码 (至少8位,含大小写、数字、特殊字符): ") var password string fmt.Scanln(&password) - if ValidatePassword(password) { hash, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost) if err != nil { @@ -109,12 +111,11 @@ func InitAdminUser() { break } else { log.Println("❌ 密码不符合复杂度要求,请重新输入") - log.Println(" 要求: 至少8位密码,包含大写字母、数字和特殊字符") + log.Println(" 要求: 至少8位,包含大小写字母、数字和特殊字符") } } } -// JWT 认证中间件 func AuthMiddleware() gin.HandlerFunc { return func(c *gin.Context) { authHeader := c.GetHeader("Authorization") @@ -123,21 +124,18 @@ func AuthMiddleware() gin.HandlerFunc { c.Abort() return } - // 格式 "Bearer " parts := strings.SplitN(authHeader, " ", 2) if len(parts) != 2 || parts[0] != "Bearer" { c.JSON(http.StatusUnauthorized, gin.H{"code": 1, "msg": "认证令牌格式错误"}) c.Abort() return } - tokenString := parts[1] - claims, err := ParseJWT(tokenString) + claims, err := ParseJWT(parts[1]) if err != nil { c.JSON(http.StatusUnauthorized, gin.H{"code": 1, "msg": "无效的认证令牌"}) c.Abort() return } - // 将用户名存入上下文,方便后续使用 c.Set("username", claims.Username) c.Next() } diff --git a/db.go b/db.go index 4c78ba4..c1bd674 100644 --- a/db.go +++ b/db.go @@ -5,13 +5,11 @@ import ( "database/sql" "encoding/hex" "log" - "sync" _ "modernc.org/sqlite" ) var DB *sql.DB -var dbInitOnce sync.Once // ===== 全局配置表(A表)===== type GlobalConfig struct { @@ -90,7 +88,6 @@ func InitDB() error { return err } - // 确保全局配置有一行数据 var count int DB.QueryRow("SELECT COUNT(*) FROM global_config").Scan(&count) if count == 0 { @@ -124,7 +121,7 @@ func InitDB() error { return err } - // 🟢 新增:应用配置表(用于存储 JWT 密钥等全局配置) + // 应用配置表(JWT密钥等) _, err = DB.Exec(` CREATE TABLE IF NOT EXISTS app_config ( key TEXT PRIMARY KEY, @@ -136,7 +133,6 @@ func InitDB() error { return err } - // 🟢 确保 JWT 密钥存在 if err := ensureJwtSecret(); err != nil { return err } @@ -145,25 +141,20 @@ func InitDB() error { return nil } -// ===== 🟢 新增:JWT 密钥管理 ===== - -// ensureJwtSecret 检查 app_config 表里是否有 jwt_secret,没有则生成一个 +// ===== JWT 密钥管理 ===== func ensureJwtSecret() error { var value string err := DB.QueryRow("SELECT value FROM app_config WHERE key = 'jwt_secret'").Scan(&value) if err == nil && value != "" { - // 密钥已存在 return nil } - // 生成 32 字节随机密钥 bytes := make([]byte, 32) if _, err := rand.Read(bytes); err != nil { return err } secret := hex.EncodeToString(bytes) - // 存入数据库 _, err = DB.Exec(` INSERT INTO app_config (key, value) VALUES ('jwt_secret', ?) `, secret) @@ -174,7 +165,6 @@ func ensureJwtSecret() error { return nil } -// GetJwtSecret 从数据库读取 JWT 密钥 func GetJwtSecret() (string, error) { var secret string err := DB.QueryRow("SELECT value FROM app_config WHERE key = 'jwt_secret'").Scan(&secret) @@ -199,17 +189,15 @@ func GetGlobalConfig() (*GlobalConfig, error) { if err != nil { return nil, err } - // 🟢 强制开启 tcpMux,忽略数据库中存储的值 cfg.TcpMux = true return &cfg, nil } func UpdateGlobalConfig(cfg *GlobalConfig) error { - // 忽略前端传过来的 TcpMux,强制保持为 true _, err := DB.Exec(` UPDATE global_config SET server_addr = ?, server_port = ?, token = ?, log_level = ?, log_max_days = ?, - tcp_mux = 1, -- 🟢 强制写死为 1 + tcp_mux = 1, tcp_mux_keepalive = ?, heartbeat_interval = ?, heartbeat_timeout = ?, pool_count = ?, updated_at = CURRENT_TIMESTAMP WHERE id = 1 @@ -238,12 +226,9 @@ func GetProxies() ([]Proxy, error) { } proxies = append(proxies, p) } - - // 🟢 关键:检查遍历过程中是否有错误 if err = rows.Err(); err != nil { return nil, err } - return proxies, nil } @@ -307,6 +292,14 @@ func CreateUser(username, passwordHash string) error { return err } +func UpdatePassword(username, passwordHash string) error { + _, err := DB.Exec(` + UPDATE users SET password_hash = ?, updated_at = CURRENT_TIMESTAMP + WHERE username = ? + `, passwordHash, username) + return err +} + func CountUsers() (int, error) { var count int err := DB.QueryRow("SELECT COUNT(*) FROM users").Scan(&count) diff --git a/frpc-console.db b/frpc-console.db index 312e52d..0ebcfd7 100644 Binary files a/frpc-console.db and b/frpc-console.db differ diff --git a/frpc.log b/frpc.log index dee2c6f..8d04064 100644 --- a/frpc.log +++ b/frpc.log @@ -1,1476 +1,3 @@ -2026-07-23 19:03:20.982 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 19:03:20.991 [I] [client/service.go:308] try to connect to server... -2026-07-23 19:03:21.150 [I] [client/service.go:328] [153a390fe71d72b9] login to server success, get run id [153a390fe71d72b9] -2026-07-23 19:05:38.975 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 19:05:38.984 [I] [client/service.go:308] try to connect to server... -2026-07-23 19:05:39.171 [I] [client/service.go:328] [7e21ed8b7758eb2e] login to server success, get run id [7e21ed8b7758eb2e] -2026-07-23 19:08:07.129 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 19:08:07.142 [I] [client/service.go:308] try to connect to server... -2026-07-23 19:08:07.302 [I] [client/service.go:328] [93745a8de846e221] login to server success, get run id [93745a8de846e221] -2026-07-23 19:10:02.070 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 19:10:02.079 [I] [client/service.go:308] try to connect to server... -2026-07-23 19:10:02.297 [I] [client/service.go:328] [a6203105fbd4c067] login to server success, get run id [a6203105fbd4c067] -2026-07-23 19:19:21.669 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 19:19:21.680 [I] [client/service.go:308] try to connect to server... -2026-07-23 19:19:21.974 [I] [client/service.go:328] [5da2ae4457692b0e] login to server success, get run id [5da2ae4457692b0e] -2026-07-23 19:23:33.949 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 19:23:33.958 [I] [client/service.go:308] try to connect to server... -2026-07-23 19:23:34.135 [I] [client/service.go:328] [3d8ddea11ad24348] login to server success, get run id [3d8ddea11ad24348] -2026-07-23 19:32:51.328 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 19:32:51.339 [I] [client/service.go:308] try to connect to server... -2026-07-23 19:32:51.523 [I] [client/service.go:328] [03c218c64c950a94] login to server success, get run id [03c218c64c950a94] -2026-07-23 19:51:09.560 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 19:51:09.568 [I] [client/service.go:308] try to connect to server... -2026-07-23 19:51:09.748 [I] [client/service.go:328] [ad7003cd99cd5042] login to server success, get run id [ad7003cd99cd5042] -2026-07-23 19:51:56.516 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 19:51:56.526 [I] [client/service.go:308] try to connect to server... -2026-07-23 19:51:56.683 [I] [client/service.go:328] [74fb0125aa25f80a] login to server success, get run id [74fb0125aa25f80a] -2026-07-23 20:13:36.963 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 20:13:36.972 [I] [client/service.go:308] try to connect to server... -2026-07-23 20:13:37.156 [I] [client/service.go:328] [eccab666ed041f5d] login to server success, get run id [eccab666ed041f5d] -2026-07-23 20:14:01.389 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 20:14:01.398 [I] [client/service.go:308] try to connect to server... -2026-07-23 20:14:01.558 [I] [client/service.go:328] [ba1fe4056d350068] login to server success, get run id [ba1fe4056d350068] -2026-07-23 20:14:01.558 [I] [proxy/proxy_manager.go:180] [ba1fe4056d350068] proxy added: [1panel-1 Gitea Grafana Halo SMB SSH immich immich-APP napcat napcat-2 navidrome openlist podux sun-panel] -2026-07-23 20:14:01.626 [W] [client/control.go:163] [ba1fe4056d350068] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:14:01.626 [W] [client/control.go:163] [ba1fe4056d350068] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:14:01.626 [W] [client/control.go:163] [ba1fe4056d350068] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:14:01.626 [W] [client/control.go:163] [ba1fe4056d350068] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:14:01.626 [W] [client/control.go:163] [ba1fe4056d350068] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:14:01.626 [W] [client/control.go:163] [ba1fe4056d350068] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:14:01.661 [W] [client/control.go:163] [ba1fe4056d350068] [immich] start error: proxy [immich] already exists -2026-07-23 20:14:01.661 [W] [client/control.go:163] [ba1fe4056d350068] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:14:01.661 [W] [client/control.go:163] [ba1fe4056d350068] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:14:01.661 [W] [client/control.go:163] [ba1fe4056d350068] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:14:01.661 [W] [client/control.go:163] [ba1fe4056d350068] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:14:01.661 [W] [client/control.go:163] [ba1fe4056d350068] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:14:01.661 [W] [client/control.go:163] [ba1fe4056d350068] [podux] start error: proxy [podux] already exists -2026-07-23 20:14:01.661 [W] [client/control.go:163] [ba1fe4056d350068] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:14:23.803 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 20:14:23.811 [I] [client/service.go:308] try to connect to server... -2026-07-23 20:14:23.983 [I] [client/service.go:328] [83ea7405ffa3e73d] login to server success, get run id [83ea7405ffa3e73d] -2026-07-23 20:14:23.983 [I] [proxy/proxy_manager.go:180] [83ea7405ffa3e73d] proxy added: [1panel-1 Gitea Grafana Halo SMB SSH immich-APP napcat napcat-2 navidrome openlist podux sun-panel] -2026-07-23 20:14:24.051 [W] [client/control.go:163] [83ea7405ffa3e73d] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:14:24.051 [W] [client/control.go:163] [83ea7405ffa3e73d] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:14:24.051 [W] [client/control.go:163] [83ea7405ffa3e73d] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:14:24.051 [W] [client/control.go:163] [83ea7405ffa3e73d] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:14:24.051 [W] [client/control.go:163] [83ea7405ffa3e73d] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:14:24.096 [W] [client/control.go:163] [83ea7405ffa3e73d] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:14:24.096 [W] [client/control.go:163] [83ea7405ffa3e73d] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:14:24.096 [W] [client/control.go:163] [83ea7405ffa3e73d] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:14:24.096 [W] [client/control.go:163] [83ea7405ffa3e73d] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:14:24.096 [W] [client/control.go:163] [83ea7405ffa3e73d] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:14:24.096 [W] [client/control.go:163] [83ea7405ffa3e73d] [podux] start error: proxy [podux] already exists -2026-07-23 20:14:24.096 [W] [client/control.go:163] [83ea7405ffa3e73d] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:14:24.096 [W] [client/control.go:163] [83ea7405ffa3e73d] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:14:57.053 [W] [client/control.go:163] [83ea7405ffa3e73d] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:14:57.053 [W] [client/control.go:163] [83ea7405ffa3e73d] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:14:57.053 [W] [client/control.go:163] [83ea7405ffa3e73d] [podux] start error: proxy [podux] already exists -2026-07-23 20:14:57.053 [W] [client/control.go:163] [83ea7405ffa3e73d] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:14:57.053 [W] [client/control.go:163] [83ea7405ffa3e73d] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:14:57.119 [W] [client/control.go:163] [83ea7405ffa3e73d] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:14:57.119 [W] [client/control.go:163] [83ea7405ffa3e73d] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:14:57.119 [W] [client/control.go:163] [83ea7405ffa3e73d] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:14:57.119 [W] [client/control.go:163] [83ea7405ffa3e73d] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:14:57.119 [W] [client/control.go:163] [83ea7405ffa3e73d] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:14:57.119 [W] [client/control.go:163] [83ea7405ffa3e73d] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:14:57.119 [W] [client/control.go:163] [83ea7405ffa3e73d] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:14:57.119 [W] [client/control.go:163] [83ea7405ffa3e73d] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:15:30.060 [W] [client/control.go:163] [83ea7405ffa3e73d] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:15:30.126 [W] [client/control.go:163] [83ea7405ffa3e73d] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:15:30.126 [W] [client/control.go:163] [83ea7405ffa3e73d] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:15:30.126 [W] [client/control.go:163] [83ea7405ffa3e73d] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:15:30.126 [W] [client/control.go:163] [83ea7405ffa3e73d] [podux] start error: proxy [podux] already exists -2026-07-23 20:15:30.126 [W] [client/control.go:163] [83ea7405ffa3e73d] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:15:30.126 [W] [client/control.go:163] [83ea7405ffa3e73d] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:15:30.126 [W] [client/control.go:163] [83ea7405ffa3e73d] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:15:30.126 [W] [client/control.go:163] [83ea7405ffa3e73d] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:15:30.126 [W] [client/control.go:163] [83ea7405ffa3e73d] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:15:30.126 [W] [client/control.go:163] [83ea7405ffa3e73d] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:15:30.126 [W] [client/control.go:163] [83ea7405ffa3e73d] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:15:30.126 [W] [client/control.go:163] [83ea7405ffa3e73d] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:16:03.064 [W] [client/control.go:163] [83ea7405ffa3e73d] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:16:03.065 [W] [client/control.go:163] [83ea7405ffa3e73d] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:16:03.065 [W] [client/control.go:163] [83ea7405ffa3e73d] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:16:03.065 [W] [client/control.go:163] [83ea7405ffa3e73d] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:16:03.065 [W] [client/control.go:163] [83ea7405ffa3e73d] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:16:03.132 [W] [client/control.go:163] [83ea7405ffa3e73d] [podux] start error: proxy [podux] already exists -2026-07-23 20:16:03.132 [W] [client/control.go:163] [83ea7405ffa3e73d] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:16:03.132 [W] [client/control.go:163] [83ea7405ffa3e73d] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:16:03.132 [W] [client/control.go:163] [83ea7405ffa3e73d] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:16:03.132 [W] [client/control.go:163] [83ea7405ffa3e73d] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:16:03.132 [W] [client/control.go:163] [83ea7405ffa3e73d] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:16:03.132 [W] [client/control.go:163] [83ea7405ffa3e73d] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:16:03.132 [W] [client/control.go:163] [83ea7405ffa3e73d] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:16:36.066 [W] [client/control.go:163] [83ea7405ffa3e73d] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:16:36.066 [W] [client/control.go:163] [83ea7405ffa3e73d] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:16:36.066 [W] [client/control.go:163] [83ea7405ffa3e73d] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:16:36.066 [W] [client/control.go:163] [83ea7405ffa3e73d] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:16:36.066 [W] [client/control.go:163] [83ea7405ffa3e73d] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:16:36.133 [W] [client/control.go:163] [83ea7405ffa3e73d] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:16:36.133 [W] [client/control.go:163] [83ea7405ffa3e73d] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:16:36.133 [W] [client/control.go:163] [83ea7405ffa3e73d] [podux] start error: proxy [podux] already exists -2026-07-23 20:16:36.133 [W] [client/control.go:163] [83ea7405ffa3e73d] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:16:36.133 [W] [client/control.go:163] [83ea7405ffa3e73d] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:16:36.133 [W] [client/control.go:163] [83ea7405ffa3e73d] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:16:36.133 [W] [client/control.go:163] [83ea7405ffa3e73d] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:16:36.133 [W] [client/control.go:163] [83ea7405ffa3e73d] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:17:09.068 [W] [client/control.go:163] [83ea7405ffa3e73d] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:17:09.068 [W] [client/control.go:163] [83ea7405ffa3e73d] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:17:09.068 [W] [client/control.go:163] [83ea7405ffa3e73d] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:17:09.068 [W] [client/control.go:163] [83ea7405ffa3e73d] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:17:09.120 [W] [client/control.go:163] [83ea7405ffa3e73d] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:17:09.120 [W] [client/control.go:163] [83ea7405ffa3e73d] [podux] start error: proxy [podux] already exists -2026-07-23 20:17:09.120 [W] [client/control.go:163] [83ea7405ffa3e73d] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:17:09.120 [W] [client/control.go:163] [83ea7405ffa3e73d] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:17:09.120 [W] [client/control.go:163] [83ea7405ffa3e73d] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:17:09.120 [W] [client/control.go:163] [83ea7405ffa3e73d] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:17:09.120 [W] [client/control.go:163] [83ea7405ffa3e73d] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:17:09.120 [W] [client/control.go:163] [83ea7405ffa3e73d] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:17:09.120 [W] [client/control.go:163] [83ea7405ffa3e73d] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:17:42.073 [W] [client/control.go:163] [83ea7405ffa3e73d] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:17:42.073 [W] [client/control.go:163] [83ea7405ffa3e73d] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:17:42.073 [W] [client/control.go:163] [83ea7405ffa3e73d] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:17:42.073 [W] [client/control.go:163] [83ea7405ffa3e73d] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:17:42.073 [W] [client/control.go:163] [83ea7405ffa3e73d] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:17:42.139 [W] [client/control.go:163] [83ea7405ffa3e73d] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:17:42.139 [W] [client/control.go:163] [83ea7405ffa3e73d] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:17:42.139 [W] [client/control.go:163] [83ea7405ffa3e73d] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:17:42.139 [W] [client/control.go:163] [83ea7405ffa3e73d] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:17:42.139 [W] [client/control.go:163] [83ea7405ffa3e73d] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:17:42.139 [W] [client/control.go:163] [83ea7405ffa3e73d] [podux] start error: proxy [podux] already exists -2026-07-23 20:17:42.139 [W] [client/control.go:163] [83ea7405ffa3e73d] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:17:42.139 [W] [client/control.go:163] [83ea7405ffa3e73d] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:18:18.028 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 20:18:18.036 [I] [client/service.go:308] try to connect to server... -2026-07-23 20:18:18.255 [I] [client/service.go:328] [bbd5daddff44caee] login to server success, get run id [bbd5daddff44caee] -2026-07-23 20:18:18.255 [I] [proxy/proxy_manager.go:180] [bbd5daddff44caee] proxy added: [1panel-1 Gitea Grafana Halo SMB SSH immich-APP napcat napcat-2 navidrome openlist podux sun-panel] -2026-07-23 20:18:18.325 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:18:18.326 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:18:18.369 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:18:18.369 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:18:18.369 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:18:18.369 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:18:18.369 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:18:18.369 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:18:18.369 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:18:18.369 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:18:18.369 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:18:18.369 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:18:18.369 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:18:51.327 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:18:51.327 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:18:51.327 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:18:51.327 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:18:51.327 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:18:51.396 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:18:51.396 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:18:51.396 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:18:51.396 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:18:51.396 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:18:51.396 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:18:51.396 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:18:51.396 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:19:24.334 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:19:24.334 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:19:24.334 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:19:24.334 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:19:24.334 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:19:24.403 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:19:24.403 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:19:24.403 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:19:24.403 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:19:24.403 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:19:24.403 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:19:24.403 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:19:24.403 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:19:57.336 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:19:57.336 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:19:57.336 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:19:57.336 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:19:57.336 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:19:57.407 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:19:57.407 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:19:57.407 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:19:57.407 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:19:57.407 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:19:57.407 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:19:57.407 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:19:57.407 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:20:30.338 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:20:30.338 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:20:30.339 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:20:30.339 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:20:30.339 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:20:30.339 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:20:30.339 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:20:30.339 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:20:30.409 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:20:30.409 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:20:30.409 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:20:30.409 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:20:30.409 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:21:03.341 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:21:03.341 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:21:03.341 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:21:03.341 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:21:03.397 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:21:03.397 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:21:03.397 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:21:03.397 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:21:03.397 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:21:03.397 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:21:03.397 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:21:03.397 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:21:03.397 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:21:36.342 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:21:36.342 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:21:36.342 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:21:36.342 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:21:36.342 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:21:36.412 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:21:36.412 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:21:36.412 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:21:36.412 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:21:36.412 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:21:36.412 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:21:36.412 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:21:36.412 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:22:09.351 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:22:09.352 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:22:09.352 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:22:09.352 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:22:09.352 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:22:09.421 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:22:09.421 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:22:09.421 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:22:09.421 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:22:09.421 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:22:09.421 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:22:09.421 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:22:09.421 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:22:42.352 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:22:42.353 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:22:42.353 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:22:42.353 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:22:42.353 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:22:42.421 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:22:42.421 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:22:42.421 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:22:42.421 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:22:42.421 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:22:42.421 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:22:42.421 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:22:42.421 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:23:15.354 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:23:15.354 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:23:15.354 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:23:15.355 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:23:15.355 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:23:15.355 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:23:15.428 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:23:15.428 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:23:15.428 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:23:15.428 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:23:15.428 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:23:15.428 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:23:15.428 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:23:48.360 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:23:48.360 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:23:48.360 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:23:48.360 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:23:48.406 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:23:48.406 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:23:48.406 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:23:48.406 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:23:48.406 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:23:48.406 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:23:48.406 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:23:48.406 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:23:48.406 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:24:21.363 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:24:21.363 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:24:21.363 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:24:21.363 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:24:21.363 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:24:21.434 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:24:21.434 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:24:21.434 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:24:21.434 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:24:21.434 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:24:21.434 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:24:21.434 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:24:21.434 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:24:54.367 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:24:54.367 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:24:54.367 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:24:54.367 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:24:54.367 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:24:54.435 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:24:54.435 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:24:54.435 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:24:54.435 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:24:54.435 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:24:54.435 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:24:54.435 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:24:54.435 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:25:27.366 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:25:27.367 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:25:27.367 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:25:27.369 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:25:27.369 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:25:27.437 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:25:27.437 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:25:27.437 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:25:27.437 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:25:27.437 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:25:27.437 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:25:27.437 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:25:27.437 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:26:00.371 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:26:00.371 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:26:00.371 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:26:00.371 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:26:00.371 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:26:00.441 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:26:00.441 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:26:00.441 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:26:00.441 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:26:00.441 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:26:00.441 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:26:00.441 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:26:00.441 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:26:33.374 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:26:33.374 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:26:33.374 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:26:33.374 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:26:33.403 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:26:33.403 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:26:33.403 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:26:33.403 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:26:33.403 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:26:33.403 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:26:33.403 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:26:33.403 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:26:33.403 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:27:06.376 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:27:06.376 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:27:06.376 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:27:06.376 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:27:06.376 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:27:06.446 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:27:06.446 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:27:06.446 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:27:06.446 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:27:06.446 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:27:06.446 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:27:06.446 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:27:06.446 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:27:39.450 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:27:39.450 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:27:39.450 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:27:39.451 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:27:39.451 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:27:39.451 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:27:39.451 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:27:39.451 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:27:39.451 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:27:39.451 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:27:39.451 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:27:39.451 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:27:39.451 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:28:12.387 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:28:12.387 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:28:12.387 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:28:12.387 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:28:12.387 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:28:12.457 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:28:12.457 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:28:12.457 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:28:12.457 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:28:12.457 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:28:12.457 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:28:12.457 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:28:12.457 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:28:45.388 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:28:45.388 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:28:45.388 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:28:45.388 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:28:45.388 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:28:45.458 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:28:45.458 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:28:45.458 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:28:45.458 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:28:45.458 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:28:45.458 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:28:45.458 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:28:45.458 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:29:18.393 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:29:18.393 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:29:18.393 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:29:18.393 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:29:18.408 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:29:18.408 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:29:18.408 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:29:18.408 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:29:18.408 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:29:18.408 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:29:18.408 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:29:18.408 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:29:18.408 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:29:51.396 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:29:51.396 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:29:51.396 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:29:51.396 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:29:51.396 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:29:51.466 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:29:51.466 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:29:51.466 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:29:51.466 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:29:51.466 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:29:51.466 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:29:51.466 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:29:51.466 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:30:24.406 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:30:24.406 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:30:24.406 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:30:24.406 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:30:24.406 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:30:24.476 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:30:24.476 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:30:24.476 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:30:24.476 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:30:24.476 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:30:24.476 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:30:24.476 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:30:24.476 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:30:57.400 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:30:57.400 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:30:57.400 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:30:57.400 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:30:57.400 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:30:57.469 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:30:57.469 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:30:57.469 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:30:57.469 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:30:57.469 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:30:57.469 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:30:57.469 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:30:57.469 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:31:30.410 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:31:30.410 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:31:30.410 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:31:30.410 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:31:30.410 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:31:30.514 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:31:30.514 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:31:30.514 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:31:30.514 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:31:30.514 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:31:30.514 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:31:30.514 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:31:30.514 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:32:03.407 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:32:03.407 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:32:03.407 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:32:03.407 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:32:03.411 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:32:03.411 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:32:03.411 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:32:03.411 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:32:03.411 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:32:03.411 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:32:03.411 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:32:03.411 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:32:03.411 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:32:36.412 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:32:36.412 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:32:36.412 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:32:36.412 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:32:36.413 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:32:36.482 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:32:36.482 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:32:36.482 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:32:36.482 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:32:36.482 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:32:36.482 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:32:36.482 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:32:36.482 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:33:09.414 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:33:09.414 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:33:09.414 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:33:09.414 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:33:09.414 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:33:09.484 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:33:09.484 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:33:09.484 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:33:09.484 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:33:09.484 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:33:09.484 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:33:09.484 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:33:09.484 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:33:42.419 [W] [client/control.go:163] [bbd5daddff44caee] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:33:42.419 [W] [client/control.go:163] [bbd5daddff44caee] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:33:42.419 [W] [client/control.go:163] [bbd5daddff44caee] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:33:42.419 [W] [client/control.go:163] [bbd5daddff44caee] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:33:42.419 [W] [client/control.go:163] [bbd5daddff44caee] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:33:42.489 [W] [client/control.go:163] [bbd5daddff44caee] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:33:42.489 [W] [client/control.go:163] [bbd5daddff44caee] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:33:42.489 [W] [client/control.go:163] [bbd5daddff44caee] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:33:42.489 [W] [client/control.go:163] [bbd5daddff44caee] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:33:42.489 [W] [client/control.go:163] [bbd5daddff44caee] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:33:42.489 [W] [client/control.go:163] [bbd5daddff44caee] [podux] start error: proxy [podux] already exists -2026-07-23 20:33:42.489 [W] [client/control.go:163] [bbd5daddff44caee] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:33:42.489 [W] [client/control.go:163] [bbd5daddff44caee] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:34:02.384 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 20:34:02.393 [I] [client/service.go:308] try to connect to server... -2026-07-23 20:34:02.627 [I] [client/service.go:328] [921c9d10d9283545] login to server success, get run id [921c9d10d9283545] -2026-07-23 20:34:02.627 [I] [proxy/proxy_manager.go:180] [921c9d10d9283545] proxy added: [1panel-1 Gitea Grafana Halo SMB SSH immich-APP napcat napcat-2 navidrome openlist podux sun-panel] -2026-07-23 20:34:02.694 [W] [client/control.go:163] [921c9d10d9283545] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:34:02.694 [W] [client/control.go:163] [921c9d10d9283545] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:34:02.694 [W] [client/control.go:163] [921c9d10d9283545] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:34:02.694 [W] [client/control.go:163] [921c9d10d9283545] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:34:02.694 [W] [client/control.go:163] [921c9d10d9283545] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:34:02.694 [W] [client/control.go:163] [921c9d10d9283545] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:34:02.694 [W] [client/control.go:163] [921c9d10d9283545] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:34:02.735 [W] [client/control.go:163] [921c9d10d9283545] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:34:02.735 [W] [client/control.go:163] [921c9d10d9283545] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:34:02.735 [W] [client/control.go:163] [921c9d10d9283545] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:34:02.735 [W] [client/control.go:163] [921c9d10d9283545] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:34:02.735 [W] [client/control.go:163] [921c9d10d9283545] [podux] start error: proxy [podux] already exists -2026-07-23 20:34:02.735 [W] [client/control.go:163] [921c9d10d9283545] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:34:35.697 [W] [client/control.go:163] [921c9d10d9283545] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:34:35.698 [W] [client/control.go:163] [921c9d10d9283545] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:34:35.698 [W] [client/control.go:163] [921c9d10d9283545] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:34:35.698 [W] [client/control.go:163] [921c9d10d9283545] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:34:35.698 [W] [client/control.go:163] [921c9d10d9283545] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:34:35.764 [W] [client/control.go:163] [921c9d10d9283545] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:34:35.764 [W] [client/control.go:163] [921c9d10d9283545] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:34:35.764 [W] [client/control.go:163] [921c9d10d9283545] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:34:35.764 [W] [client/control.go:163] [921c9d10d9283545] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:34:35.764 [W] [client/control.go:163] [921c9d10d9283545] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:34:35.764 [W] [client/control.go:163] [921c9d10d9283545] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:34:35.764 [W] [client/control.go:163] [921c9d10d9283545] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:34:35.764 [W] [client/control.go:163] [921c9d10d9283545] [podux] start error: proxy [podux] already exists -2026-07-23 20:35:08.703 [W] [client/control.go:163] [921c9d10d9283545] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:35:08.703 [W] [client/control.go:163] [921c9d10d9283545] [podux] start error: proxy [podux] already exists -2026-07-23 20:35:08.703 [W] [client/control.go:163] [921c9d10d9283545] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:35:08.703 [W] [client/control.go:163] [921c9d10d9283545] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:35:08.703 [W] [client/control.go:163] [921c9d10d9283545] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:35:08.768 [W] [client/control.go:163] [921c9d10d9283545] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:35:08.768 [W] [client/control.go:163] [921c9d10d9283545] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:35:08.768 [W] [client/control.go:163] [921c9d10d9283545] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:35:08.768 [W] [client/control.go:163] [921c9d10d9283545] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:35:08.768 [W] [client/control.go:163] [921c9d10d9283545] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:35:08.768 [W] [client/control.go:163] [921c9d10d9283545] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:35:08.768 [W] [client/control.go:163] [921c9d10d9283545] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:35:08.768 [W] [client/control.go:163] [921c9d10d9283545] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:35:41.703 [W] [client/control.go:163] [921c9d10d9283545] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:35:41.703 [W] [client/control.go:163] [921c9d10d9283545] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:35:41.703 [W] [client/control.go:163] [921c9d10d9283545] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:35:41.703 [W] [client/control.go:163] [921c9d10d9283545] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:35:41.703 [W] [client/control.go:163] [921c9d10d9283545] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:35:41.768 [W] [client/control.go:163] [921c9d10d9283545] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:35:41.768 [W] [client/control.go:163] [921c9d10d9283545] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:35:41.768 [W] [client/control.go:163] [921c9d10d9283545] [podux] start error: proxy [podux] already exists -2026-07-23 20:35:41.768 [W] [client/control.go:163] [921c9d10d9283545] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:35:41.768 [W] [client/control.go:163] [921c9d10d9283545] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:35:41.768 [W] [client/control.go:163] [921c9d10d9283545] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:35:41.768 [W] [client/control.go:163] [921c9d10d9283545] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:35:41.768 [W] [client/control.go:163] [921c9d10d9283545] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:36:14.706 [W] [client/control.go:163] [921c9d10d9283545] [podux] start error: proxy [podux] already exists -2026-07-23 20:36:14.706 [W] [client/control.go:163] [921c9d10d9283545] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:36:14.706 [W] [client/control.go:163] [921c9d10d9283545] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:36:14.709 [W] [client/control.go:163] [921c9d10d9283545] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:36:14.709 [W] [client/control.go:163] [921c9d10d9283545] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:36:14.775 [W] [client/control.go:163] [921c9d10d9283545] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:36:14.775 [W] [client/control.go:163] [921c9d10d9283545] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:36:14.775 [W] [client/control.go:163] [921c9d10d9283545] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:36:14.775 [W] [client/control.go:163] [921c9d10d9283545] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:36:14.775 [W] [client/control.go:163] [921c9d10d9283545] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:36:14.775 [W] [client/control.go:163] [921c9d10d9283545] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:36:14.775 [W] [client/control.go:163] [921c9d10d9283545] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:36:14.775 [W] [client/control.go:163] [921c9d10d9283545] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:36:47.709 [W] [client/control.go:163] [921c9d10d9283545] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:36:47.709 [W] [client/control.go:163] [921c9d10d9283545] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:36:47.710 [W] [client/control.go:163] [921c9d10d9283545] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:36:47.710 [W] [client/control.go:163] [921c9d10d9283545] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:36:47.761 [W] [client/control.go:163] [921c9d10d9283545] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:36:47.761 [W] [client/control.go:163] [921c9d10d9283545] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:36:47.761 [W] [client/control.go:163] [921c9d10d9283545] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:36:47.761 [W] [client/control.go:163] [921c9d10d9283545] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:36:47.761 [W] [client/control.go:163] [921c9d10d9283545] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:36:47.761 [W] [client/control.go:163] [921c9d10d9283545] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:36:47.761 [W] [client/control.go:163] [921c9d10d9283545] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:36:47.761 [W] [client/control.go:163] [921c9d10d9283545] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:36:47.761 [W] [client/control.go:163] [921c9d10d9283545] [podux] start error: proxy [podux] already exists -2026-07-23 20:37:20.715 [W] [client/control.go:163] [921c9d10d9283545] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:37:20.715 [W] [client/control.go:163] [921c9d10d9283545] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:37:20.716 [W] [client/control.go:163] [921c9d10d9283545] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:37:20.716 [W] [client/control.go:163] [921c9d10d9283545] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:37:20.716 [W] [client/control.go:163] [921c9d10d9283545] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:37:20.781 [W] [client/control.go:163] [921c9d10d9283545] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:37:20.781 [W] [client/control.go:163] [921c9d10d9283545] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:37:20.781 [W] [client/control.go:163] [921c9d10d9283545] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:37:20.781 [W] [client/control.go:163] [921c9d10d9283545] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:37:20.781 [W] [client/control.go:163] [921c9d10d9283545] [podux] start error: proxy [podux] already exists -2026-07-23 20:37:20.781 [W] [client/control.go:163] [921c9d10d9283545] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:37:20.781 [W] [client/control.go:163] [921c9d10d9283545] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:37:20.781 [W] [client/control.go:163] [921c9d10d9283545] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:37:49.036 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 20:37:49.046 [I] [client/service.go:308] try to connect to server... -2026-07-23 20:37:49.202 [I] [client/service.go:328] [926f05bb8cbbd6b8] login to server success, get run id [926f05bb8cbbd6b8] -2026-07-23 20:37:49.202 [I] [proxy/proxy_manager.go:180] [926f05bb8cbbd6b8] proxy added: [1panel-1 Gitea Grafana Halo SMB SSH immich-APP napcat napcat-2 navidrome openlist podux sun-panel] -2026-07-23 20:37:49.269 [W] [client/control.go:163] [926f05bb8cbbd6b8] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:37:49.269 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:37:49.269 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:37:49.269 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:37:49.269 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:37:49.315 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:37:49.315 [W] [client/control.go:163] [926f05bb8cbbd6b8] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:37:49.315 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:37:49.315 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:37:49.315 [W] [client/control.go:163] [926f05bb8cbbd6b8] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:37:49.315 [W] [client/control.go:163] [926f05bb8cbbd6b8] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:37:49.315 [W] [client/control.go:163] [926f05bb8cbbd6b8] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:37:49.315 [W] [client/control.go:163] [926f05bb8cbbd6b8] [podux] start error: proxy [podux] already exists -2026-07-23 20:38:22.268 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:38:22.270 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:38:22.270 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:38:22.270 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:38:22.270 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:38:22.331 [W] [client/control.go:163] [926f05bb8cbbd6b8] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:38:22.331 [W] [client/control.go:163] [926f05bb8cbbd6b8] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:38:22.331 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:38:22.331 [W] [client/control.go:163] [926f05bb8cbbd6b8] [podux] start error: proxy [podux] already exists -2026-07-23 20:38:22.331 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:38:22.331 [W] [client/control.go:163] [926f05bb8cbbd6b8] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:38:22.331 [W] [client/control.go:163] [926f05bb8cbbd6b8] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:38:22.331 [W] [client/control.go:163] [926f05bb8cbbd6b8] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:38:55.270 [W] [client/control.go:163] [926f05bb8cbbd6b8] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:38:55.270 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:38:55.270 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:38:55.270 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:38:55.270 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:38:55.332 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:38:55.332 [W] [client/control.go:163] [926f05bb8cbbd6b8] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:38:55.332 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:38:55.332 [W] [client/control.go:163] [926f05bb8cbbd6b8] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:38:55.332 [W] [client/control.go:163] [926f05bb8cbbd6b8] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:38:55.332 [W] [client/control.go:163] [926f05bb8cbbd6b8] [podux] start error: proxy [podux] already exists -2026-07-23 20:38:55.332 [W] [client/control.go:163] [926f05bb8cbbd6b8] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:38:55.332 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:39:28.274 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:39:28.274 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:39:28.274 [W] [client/control.go:163] [926f05bb8cbbd6b8] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:39:28.274 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:39:28.274 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:39:28.337 [W] [client/control.go:163] [926f05bb8cbbd6b8] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:39:28.337 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:39:28.337 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:39:28.337 [W] [client/control.go:163] [926f05bb8cbbd6b8] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:39:28.337 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:39:28.337 [W] [client/control.go:163] [926f05bb8cbbd6b8] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:39:28.337 [W] [client/control.go:163] [926f05bb8cbbd6b8] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:39:28.337 [W] [client/control.go:163] [926f05bb8cbbd6b8] [podux] start error: proxy [podux] already exists -2026-07-23 20:40:01.277 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:40:01.277 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:40:01.277 [W] [client/control.go:163] [926f05bb8cbbd6b8] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:40:01.277 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:40:01.277 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:40:01.338 [W] [client/control.go:163] [926f05bb8cbbd6b8] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:40:01.338 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:40:01.338 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:40:01.338 [W] [client/control.go:163] [926f05bb8cbbd6b8] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:40:01.338 [W] [client/control.go:163] [926f05bb8cbbd6b8] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:40:01.338 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:40:01.338 [W] [client/control.go:163] [926f05bb8cbbd6b8] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:40:01.338 [W] [client/control.go:163] [926f05bb8cbbd6b8] [podux] start error: proxy [podux] already exists -2026-07-23 20:40:34.281 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:40:34.281 [W] [client/control.go:163] [926f05bb8cbbd6b8] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:40:34.281 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:40:34.281 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:40:34.332 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:40:34.332 [W] [client/control.go:163] [926f05bb8cbbd6b8] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:40:34.332 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:40:34.332 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:40:34.332 [W] [client/control.go:163] [926f05bb8cbbd6b8] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:40:34.332 [W] [client/control.go:163] [926f05bb8cbbd6b8] [podux] start error: proxy [podux] already exists -2026-07-23 20:40:34.332 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:40:34.332 [W] [client/control.go:163] [926f05bb8cbbd6b8] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:40:34.332 [W] [client/control.go:163] [926f05bb8cbbd6b8] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:41:07.284 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:41:07.284 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:41:07.284 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:41:07.284 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:41:07.284 [W] [client/control.go:163] [926f05bb8cbbd6b8] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:41:07.345 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:41:07.345 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:41:07.345 [W] [client/control.go:163] [926f05bb8cbbd6b8] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:41:07.345 [W] [client/control.go:163] [926f05bb8cbbd6b8] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:41:07.345 [W] [client/control.go:163] [926f05bb8cbbd6b8] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:41:07.345 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:41:07.345 [W] [client/control.go:163] [926f05bb8cbbd6b8] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:41:07.345 [W] [client/control.go:163] [926f05bb8cbbd6b8] [podux] start error: proxy [podux] already exists -2026-07-23 20:41:40.288 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:41:40.288 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:41:40.288 [W] [client/control.go:163] [926f05bb8cbbd6b8] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:41:40.288 [W] [client/control.go:163] [926f05bb8cbbd6b8] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:41:40.288 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:41:40.351 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:41:40.351 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:41:40.351 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:41:40.351 [W] [client/control.go:163] [926f05bb8cbbd6b8] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:41:40.351 [W] [client/control.go:163] [926f05bb8cbbd6b8] [podux] start error: proxy [podux] already exists -2026-07-23 20:41:40.351 [W] [client/control.go:163] [926f05bb8cbbd6b8] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:41:40.351 [W] [client/control.go:163] [926f05bb8cbbd6b8] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:41:40.351 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:42:13.289 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:42:13.289 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:42:13.289 [W] [client/control.go:163] [926f05bb8cbbd6b8] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:42:13.289 [W] [client/control.go:163] [926f05bb8cbbd6b8] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:42:13.289 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:42:13.352 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:42:13.352 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:42:13.352 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:42:13.352 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:42:13.352 [W] [client/control.go:163] [926f05bb8cbbd6b8] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:42:13.352 [W] [client/control.go:163] [926f05bb8cbbd6b8] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:42:13.352 [W] [client/control.go:163] [926f05bb8cbbd6b8] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:42:13.352 [W] [client/control.go:163] [926f05bb8cbbd6b8] [podux] start error: proxy [podux] already exists -2026-07-23 20:42:46.293 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:42:46.356 [W] [client/control.go:163] [926f05bb8cbbd6b8] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:42:46.356 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:42:46.356 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:42:46.356 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:42:46.356 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:42:46.356 [W] [client/control.go:163] [926f05bb8cbbd6b8] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:42:46.356 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:42:46.356 [W] [client/control.go:163] [926f05bb8cbbd6b8] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:42:46.356 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:42:46.356 [W] [client/control.go:163] [926f05bb8cbbd6b8] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:42:46.356 [W] [client/control.go:163] [926f05bb8cbbd6b8] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:42:46.356 [W] [client/control.go:163] [926f05bb8cbbd6b8] [podux] start error: proxy [podux] already exists -2026-07-23 20:43:19.296 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:43:19.296 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:43:19.296 [W] [client/control.go:163] [926f05bb8cbbd6b8] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:43:19.296 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:43:19.296 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:43:19.296 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:43:19.336 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:43:19.336 [W] [client/control.go:163] [926f05bb8cbbd6b8] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:43:19.336 [W] [client/control.go:163] [926f05bb8cbbd6b8] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:43:19.336 [W] [client/control.go:163] [926f05bb8cbbd6b8] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:43:19.336 [W] [client/control.go:163] [926f05bb8cbbd6b8] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:43:19.336 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:43:19.336 [W] [client/control.go:163] [926f05bb8cbbd6b8] [podux] start error: proxy [podux] already exists -2026-07-23 20:43:52.303 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:43:52.303 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:43:52.303 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:43:52.303 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:43:52.303 [W] [client/control.go:163] [926f05bb8cbbd6b8] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:43:52.368 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:43:52.368 [W] [client/control.go:163] [926f05bb8cbbd6b8] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:43:52.368 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:43:52.368 [W] [client/control.go:163] [926f05bb8cbbd6b8] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:43:52.368 [W] [client/control.go:163] [926f05bb8cbbd6b8] [podux] start error: proxy [podux] already exists -2026-07-23 20:43:52.368 [W] [client/control.go:163] [926f05bb8cbbd6b8] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:43:52.368 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:43:52.368 [W] [client/control.go:163] [926f05bb8cbbd6b8] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:44:25.304 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:44:25.304 [W] [client/control.go:163] [926f05bb8cbbd6b8] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:44:25.304 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:44:25.304 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:44:25.304 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:44:25.365 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:44:25.365 [W] [client/control.go:163] [926f05bb8cbbd6b8] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:44:25.365 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:44:25.365 [W] [client/control.go:163] [926f05bb8cbbd6b8] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:44:25.365 [W] [client/control.go:163] [926f05bb8cbbd6b8] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:44:25.365 [W] [client/control.go:163] [926f05bb8cbbd6b8] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:44:25.365 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:44:25.365 [W] [client/control.go:163] [926f05bb8cbbd6b8] [podux] start error: proxy [podux] already exists -2026-07-23 20:44:58.311 [W] [client/control.go:163] [926f05bb8cbbd6b8] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:44:58.311 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:44:58.311 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:44:58.311 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:44:58.311 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:44:58.373 [W] [client/control.go:163] [926f05bb8cbbd6b8] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:44:58.373 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:44:58.373 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:44:58.373 [W] [client/control.go:163] [926f05bb8cbbd6b8] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:44:58.373 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:44:58.373 [W] [client/control.go:163] [926f05bb8cbbd6b8] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:44:58.373 [W] [client/control.go:163] [926f05bb8cbbd6b8] [podux] start error: proxy [podux] already exists -2026-07-23 20:44:58.373 [W] [client/control.go:163] [926f05bb8cbbd6b8] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:45:31.313 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat] start error: proxy [napcat] already exists -2026-07-23 20:45:31.313 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 20:45:31.313 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Halo] start error: proxy [Halo] already exists -2026-07-23 20:45:31.313 [W] [client/control.go:163] [926f05bb8cbbd6b8] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 20:45:31.313 [W] [client/control.go:163] [926f05bb8cbbd6b8] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 20:45:31.375 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SSH] start error: proxy [SSH] already exists -2026-07-23 20:45:31.375 [W] [client/control.go:163] [926f05bb8cbbd6b8] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 20:45:31.375 [W] [client/control.go:163] [926f05bb8cbbd6b8] [SMB] start error: proxy [SMB] already exists -2026-07-23 20:45:31.375 [W] [client/control.go:163] [926f05bb8cbbd6b8] [openlist] start error: proxy [openlist] already exists -2026-07-23 20:45:31.375 [W] [client/control.go:163] [926f05bb8cbbd6b8] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 20:45:31.375 [W] [client/control.go:163] [926f05bb8cbbd6b8] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 20:45:31.375 [W] [client/control.go:163] [926f05bb8cbbd6b8] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 20:45:31.375 [W] [client/control.go:163] [926f05bb8cbbd6b8] [podux] start error: proxy [podux] already exists -2026-07-23 20:48:41.021 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 20:48:41.031 [I] [client/service.go:308] try to connect to server... -2026-07-23 20:48:41.209 [I] [client/service.go:328] [ddf463180e9c67e7] login to server success, get run id [ddf463180e9c67e7] -2026-07-23 20:56:09.600 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 20:56:09.609 [I] [client/service.go:308] try to connect to server... -2026-07-23 20:56:09.784 [I] [client/service.go:328] [41d8767c9cc81642] login to server success, get run id [41d8767c9cc81642] -2026-07-23 21:01:21.971 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 21:01:21.981 [I] [client/service.go:308] try to connect to server... -2026-07-23 21:01:22.189 [I] [client/service.go:328] [3836469561b92b92] login to server success, get run id [3836469561b92b92] -2026-07-23 21:01:57.389 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 21:01:57.398 [I] [client/service.go:308] try to connect to server... -2026-07-23 21:01:57.553 [I] [client/service.go:328] [d95a0537750de754] login to server success, get run id [d95a0537750de754] -2026-07-23 21:01:57.553 [I] [proxy/proxy_manager.go:180] [d95a0537750de754] proxy added: [1panel-1 Gitea Grafana Halo SMB SSH immich immich-APP napcat napcat-2 navidrome openlist podux sun-panel] -2026-07-23 21:01:57.617 [W] [client/control.go:163] [d95a0537750de754] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:01:57.617 [W] [client/control.go:163] [d95a0537750de754] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:01:57.617 [W] [client/control.go:163] [d95a0537750de754] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:01:57.617 [W] [client/control.go:163] [d95a0537750de754] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:01:57.617 [W] [client/control.go:163] [d95a0537750de754] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:01:57.662 [W] [client/control.go:163] [d95a0537750de754] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:01:57.662 [W] [client/control.go:163] [d95a0537750de754] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:01:57.662 [W] [client/control.go:163] [d95a0537750de754] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:01:57.662 [W] [client/control.go:163] [d95a0537750de754] [immich] start error: proxy [immich] already exists -2026-07-23 21:01:57.662 [W] [client/control.go:163] [d95a0537750de754] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:01:57.662 [W] [client/control.go:163] [d95a0537750de754] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:01:57.662 [W] [client/control.go:163] [d95a0537750de754] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:01:57.662 [W] [client/control.go:163] [d95a0537750de754] [podux] start error: proxy [podux] already exists -2026-07-23 21:01:57.662 [W] [client/control.go:163] [d95a0537750de754] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:02:30.622 [W] [client/control.go:163] [d95a0537750de754] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:02:30.622 [W] [client/control.go:163] [d95a0537750de754] [podux] start error: proxy [podux] already exists -2026-07-23 21:02:30.622 [W] [client/control.go:163] [d95a0537750de754] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:02:30.622 [W] [client/control.go:163] [d95a0537750de754] [immich] start error: proxy [immich] already exists -2026-07-23 21:02:30.622 [W] [client/control.go:163] [d95a0537750de754] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:02:30.685 [W] [client/control.go:163] [d95a0537750de754] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:02:30.685 [W] [client/control.go:163] [d95a0537750de754] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:02:30.685 [W] [client/control.go:163] [d95a0537750de754] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:02:30.685 [W] [client/control.go:163] [d95a0537750de754] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:02:30.685 [W] [client/control.go:163] [d95a0537750de754] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:02:30.685 [W] [client/control.go:163] [d95a0537750de754] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:02:30.685 [W] [client/control.go:163] [d95a0537750de754] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:02:30.685 [W] [client/control.go:163] [d95a0537750de754] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:02:30.685 [W] [client/control.go:163] [d95a0537750de754] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:02:54.567 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 21:02:54.577 [I] [client/service.go:308] try to connect to server... -2026-07-23 21:02:54.744 [I] [client/service.go:328] [41fdf70f15bb171a] login to server success, get run id [41fdf70f15bb171a] -2026-07-23 21:02:54.744 [I] [proxy/proxy_manager.go:180] [41fdf70f15bb171a] proxy added: [1panel-1 Gitea Grafana Halo SMB SSH immich immich-APP napcat napcat-2 navidrome openlist podux sun-panel] -2026-07-23 21:02:54.812 [W] [client/control.go:163] [41fdf70f15bb171a] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:02:54.812 [W] [client/control.go:163] [41fdf70f15bb171a] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:02:54.812 [W] [client/control.go:163] [41fdf70f15bb171a] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:02:54.812 [W] [client/control.go:163] [41fdf70f15bb171a] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:02:54.812 [W] [client/control.go:163] [41fdf70f15bb171a] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:02:54.812 [W] [client/control.go:163] [41fdf70f15bb171a] [immich] start error: proxy [immich] already exists -2026-07-23 21:02:54.855 [W] [client/control.go:163] [41fdf70f15bb171a] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:02:54.855 [W] [client/control.go:163] [41fdf70f15bb171a] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:02:54.855 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:02:54.855 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:02:54.855 [W] [client/control.go:163] [41fdf70f15bb171a] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:02:54.855 [W] [client/control.go:163] [41fdf70f15bb171a] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:02:54.855 [W] [client/control.go:163] [41fdf70f15bb171a] [podux] start error: proxy [podux] already exists -2026-07-23 21:02:54.855 [W] [client/control.go:163] [41fdf70f15bb171a] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:03:27.813 [W] [client/control.go:163] [41fdf70f15bb171a] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:03:27.813 [W] [client/control.go:163] [41fdf70f15bb171a] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:03:27.813 [W] [client/control.go:163] [41fdf70f15bb171a] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:03:27.813 [W] [client/control.go:163] [41fdf70f15bb171a] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:03:27.813 [W] [client/control.go:163] [41fdf70f15bb171a] [immich] start error: proxy [immich] already exists -2026-07-23 21:03:27.882 [W] [client/control.go:163] [41fdf70f15bb171a] [podux] start error: proxy [podux] already exists -2026-07-23 21:03:27.882 [W] [client/control.go:163] [41fdf70f15bb171a] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:03:27.882 [W] [client/control.go:163] [41fdf70f15bb171a] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:03:27.882 [W] [client/control.go:163] [41fdf70f15bb171a] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:03:27.882 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:03:27.882 [W] [client/control.go:163] [41fdf70f15bb171a] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:03:27.882 [W] [client/control.go:163] [41fdf70f15bb171a] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:03:27.882 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:03:27.882 [W] [client/control.go:163] [41fdf70f15bb171a] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:04:00.818 [W] [client/control.go:163] [41fdf70f15bb171a] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:04:00.818 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:04:00.818 [W] [client/control.go:163] [41fdf70f15bb171a] [podux] start error: proxy [podux] already exists -2026-07-23 21:04:00.818 [W] [client/control.go:163] [41fdf70f15bb171a] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:04:00.818 [W] [client/control.go:163] [41fdf70f15bb171a] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:04:00.885 [W] [client/control.go:163] [41fdf70f15bb171a] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:04:00.885 [W] [client/control.go:163] [41fdf70f15bb171a] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:04:00.885 [W] [client/control.go:163] [41fdf70f15bb171a] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:04:00.885 [W] [client/control.go:163] [41fdf70f15bb171a] [immich] start error: proxy [immich] already exists -2026-07-23 21:04:00.885 [W] [client/control.go:163] [41fdf70f15bb171a] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:04:00.885 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:04:00.885 [W] [client/control.go:163] [41fdf70f15bb171a] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:04:00.885 [W] [client/control.go:163] [41fdf70f15bb171a] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:04:00.885 [W] [client/control.go:163] [41fdf70f15bb171a] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:04:33.834 [W] [client/control.go:163] [41fdf70f15bb171a] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:04:33.834 [W] [client/control.go:163] [41fdf70f15bb171a] [immich] start error: proxy [immich] already exists -2026-07-23 21:04:33.834 [W] [client/control.go:163] [41fdf70f15bb171a] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:04:33.834 [W] [client/control.go:163] [41fdf70f15bb171a] [podux] start error: proxy [podux] already exists -2026-07-23 21:04:33.834 [W] [client/control.go:163] [41fdf70f15bb171a] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:04:33.906 [W] [client/control.go:163] [41fdf70f15bb171a] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:04:33.906 [W] [client/control.go:163] [41fdf70f15bb171a] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:04:33.906 [W] [client/control.go:163] [41fdf70f15bb171a] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:04:33.906 [W] [client/control.go:163] [41fdf70f15bb171a] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:04:33.906 [W] [client/control.go:163] [41fdf70f15bb171a] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:04:33.906 [W] [client/control.go:163] [41fdf70f15bb171a] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:04:33.906 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:04:33.906 [W] [client/control.go:163] [41fdf70f15bb171a] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:04:33.906 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:05:06.825 [W] [client/control.go:163] [41fdf70f15bb171a] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:05:06.825 [W] [client/control.go:163] [41fdf70f15bb171a] [immich] start error: proxy [immich] already exists -2026-07-23 21:05:06.825 [W] [client/control.go:163] [41fdf70f15bb171a] [podux] start error: proxy [podux] already exists -2026-07-23 21:05:06.825 [W] [client/control.go:163] [41fdf70f15bb171a] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:05:06.825 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:05:06.892 [W] [client/control.go:163] [41fdf70f15bb171a] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:05:06.892 [W] [client/control.go:163] [41fdf70f15bb171a] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:05:06.892 [W] [client/control.go:163] [41fdf70f15bb171a] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:05:06.892 [W] [client/control.go:163] [41fdf70f15bb171a] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:05:06.892 [W] [client/control.go:163] [41fdf70f15bb171a] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:05:06.892 [W] [client/control.go:163] [41fdf70f15bb171a] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:05:06.892 [W] [client/control.go:163] [41fdf70f15bb171a] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:05:06.892 [W] [client/control.go:163] [41fdf70f15bb171a] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:05:06.892 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:05:39.826 [W] [client/control.go:163] [41fdf70f15bb171a] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:05:39.881 [W] [client/control.go:163] [41fdf70f15bb171a] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:05:39.881 [W] [client/control.go:163] [41fdf70f15bb171a] [immich] start error: proxy [immich] already exists -2026-07-23 21:05:39.881 [W] [client/control.go:163] [41fdf70f15bb171a] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:05:39.881 [W] [client/control.go:163] [41fdf70f15bb171a] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:05:39.881 [W] [client/control.go:163] [41fdf70f15bb171a] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:05:39.881 [W] [client/control.go:163] [41fdf70f15bb171a] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:05:39.881 [W] [client/control.go:163] [41fdf70f15bb171a] [podux] start error: proxy [podux] already exists -2026-07-23 21:05:39.881 [W] [client/control.go:163] [41fdf70f15bb171a] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:05:39.881 [W] [client/control.go:163] [41fdf70f15bb171a] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:05:39.881 [W] [client/control.go:163] [41fdf70f15bb171a] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:05:39.881 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:05:39.881 [W] [client/control.go:163] [41fdf70f15bb171a] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:05:39.881 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:06:12.831 [W] [client/control.go:163] [41fdf70f15bb171a] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:06:12.831 [W] [client/control.go:163] [41fdf70f15bb171a] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:06:12.831 [W] [client/control.go:163] [41fdf70f15bb171a] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:06:12.831 [W] [client/control.go:163] [41fdf70f15bb171a] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:06:12.831 [W] [client/control.go:163] [41fdf70f15bb171a] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:06:12.899 [W] [client/control.go:163] [41fdf70f15bb171a] [immich] start error: proxy [immich] already exists -2026-07-23 21:06:12.899 [W] [client/control.go:163] [41fdf70f15bb171a] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:06:12.899 [W] [client/control.go:163] [41fdf70f15bb171a] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:06:12.899 [W] [client/control.go:163] [41fdf70f15bb171a] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:06:12.899 [W] [client/control.go:163] [41fdf70f15bb171a] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:06:12.899 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:06:12.899 [W] [client/control.go:163] [41fdf70f15bb171a] [podux] start error: proxy [podux] already exists -2026-07-23 21:06:12.899 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:06:12.899 [W] [client/control.go:163] [41fdf70f15bb171a] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:06:45.836 [W] [client/control.go:163] [41fdf70f15bb171a] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:06:45.836 [W] [client/control.go:163] [41fdf70f15bb171a] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:06:45.836 [W] [client/control.go:163] [41fdf70f15bb171a] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:06:45.836 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:06:45.836 [W] [client/control.go:163] [41fdf70f15bb171a] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:06:45.903 [W] [client/control.go:163] [41fdf70f15bb171a] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:06:45.903 [W] [client/control.go:163] [41fdf70f15bb171a] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:06:45.903 [W] [client/control.go:163] [41fdf70f15bb171a] [immich] start error: proxy [immich] already exists -2026-07-23 21:06:45.903 [W] [client/control.go:163] [41fdf70f15bb171a] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:06:45.903 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:06:45.903 [W] [client/control.go:163] [41fdf70f15bb171a] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:06:45.903 [W] [client/control.go:163] [41fdf70f15bb171a] [podux] start error: proxy [podux] already exists -2026-07-23 21:06:45.903 [W] [client/control.go:163] [41fdf70f15bb171a] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:06:45.903 [W] [client/control.go:163] [41fdf70f15bb171a] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:07:18.837 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:07:18.837 [W] [client/control.go:163] [41fdf70f15bb171a] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:07:18.837 [W] [client/control.go:163] [41fdf70f15bb171a] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:07:18.837 [W] [client/control.go:163] [41fdf70f15bb171a] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:07:18.837 [W] [client/control.go:163] [41fdf70f15bb171a] [immich] start error: proxy [immich] already exists -2026-07-23 21:07:18.907 [W] [client/control.go:163] [41fdf70f15bb171a] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:07:18.907 [W] [client/control.go:163] [41fdf70f15bb171a] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:07:18.907 [W] [client/control.go:163] [41fdf70f15bb171a] [podux] start error: proxy [podux] already exists -2026-07-23 21:07:18.907 [W] [client/control.go:163] [41fdf70f15bb171a] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:07:18.907 [W] [client/control.go:163] [41fdf70f15bb171a] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:07:18.907 [W] [client/control.go:163] [41fdf70f15bb171a] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:07:18.907 [W] [client/control.go:163] [41fdf70f15bb171a] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:07:18.907 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:07:18.907 [W] [client/control.go:163] [41fdf70f15bb171a] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:07:51.839 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:07:51.839 [W] [client/control.go:163] [41fdf70f15bb171a] [podux] start error: proxy [podux] already exists -2026-07-23 21:07:51.839 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:07:51.839 [W] [client/control.go:163] [41fdf70f15bb171a] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:07:51.839 [W] [client/control.go:163] [41fdf70f15bb171a] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:07:51.905 [W] [client/control.go:163] [41fdf70f15bb171a] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:07:51.905 [W] [client/control.go:163] [41fdf70f15bb171a] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:07:51.905 [W] [client/control.go:163] [41fdf70f15bb171a] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:07:51.905 [W] [client/control.go:163] [41fdf70f15bb171a] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:07:51.905 [W] [client/control.go:163] [41fdf70f15bb171a] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:07:51.905 [W] [client/control.go:163] [41fdf70f15bb171a] [immich] start error: proxy [immich] already exists -2026-07-23 21:07:51.905 [W] [client/control.go:163] [41fdf70f15bb171a] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:07:51.905 [W] [client/control.go:163] [41fdf70f15bb171a] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:07:51.905 [W] [client/control.go:163] [41fdf70f15bb171a] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:08:24.844 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:08:24.844 [W] [client/control.go:163] [41fdf70f15bb171a] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:08:24.844 [W] [client/control.go:163] [41fdf70f15bb171a] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:08:24.844 [W] [client/control.go:163] [41fdf70f15bb171a] [immich] start error: proxy [immich] already exists -2026-07-23 21:08:24.883 [W] [client/control.go:163] [41fdf70f15bb171a] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:08:24.883 [W] [client/control.go:163] [41fdf70f15bb171a] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:08:24.883 [W] [client/control.go:163] [41fdf70f15bb171a] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:08:24.883 [W] [client/control.go:163] [41fdf70f15bb171a] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:08:24.883 [W] [client/control.go:163] [41fdf70f15bb171a] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:08:24.883 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:08:24.883 [W] [client/control.go:163] [41fdf70f15bb171a] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:08:24.883 [W] [client/control.go:163] [41fdf70f15bb171a] [podux] start error: proxy [podux] already exists -2026-07-23 21:08:24.883 [W] [client/control.go:163] [41fdf70f15bb171a] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:08:24.883 [W] [client/control.go:163] [41fdf70f15bb171a] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:08:57.850 [W] [client/control.go:163] [41fdf70f15bb171a] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:08:57.851 [W] [client/control.go:163] [41fdf70f15bb171a] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:08:57.851 [W] [client/control.go:163] [41fdf70f15bb171a] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:08:57.851 [W] [client/control.go:163] [41fdf70f15bb171a] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:08:57.851 [W] [client/control.go:163] [41fdf70f15bb171a] [immich] start error: proxy [immich] already exists -2026-07-23 21:08:57.918 [W] [client/control.go:163] [41fdf70f15bb171a] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:08:57.918 [W] [client/control.go:163] [41fdf70f15bb171a] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:08:57.918 [W] [client/control.go:163] [41fdf70f15bb171a] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:08:57.918 [W] [client/control.go:163] [41fdf70f15bb171a] [podux] start error: proxy [podux] already exists -2026-07-23 21:08:57.918 [W] [client/control.go:163] [41fdf70f15bb171a] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:08:57.918 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:08:57.918 [W] [client/control.go:163] [41fdf70f15bb171a] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:08:57.918 [W] [client/control.go:163] [41fdf70f15bb171a] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:08:57.918 [W] [client/control.go:163] [41fdf70f15bb171a] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:09:09.518 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 21:09:09.528 [I] [client/service.go:308] try to connect to server... -2026-07-23 21:09:09.806 [I] [client/service.go:328] [b9fd4954c711ba05] login to server success, get run id [b9fd4954c711ba05] -2026-07-23 21:09:09.806 [I] [proxy/proxy_manager.go:180] [b9fd4954c711ba05] proxy added: [1panel-1 Gitea Grafana Halo SMB SSH immich immich-APP napcat napcat-2 navidrome openlist podux sun-panel] -2026-07-23 21:09:09.873 [W] [client/control.go:163] [b9fd4954c711ba05] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:09:09.873 [W] [client/control.go:163] [b9fd4954c711ba05] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:09:09.873 [W] [client/control.go:163] [b9fd4954c711ba05] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:09:09.873 [W] [client/control.go:163] [b9fd4954c711ba05] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:09:09.873 [W] [client/control.go:163] [b9fd4954c711ba05] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:09:09.873 [W] [client/control.go:163] [b9fd4954c711ba05] [immich] start error: proxy [immich] already exists -2026-07-23 21:09:09.873 [W] [client/control.go:163] [b9fd4954c711ba05] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:09:09.939 [W] [client/control.go:163] [b9fd4954c711ba05] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:09:09.939 [W] [client/control.go:163] [b9fd4954c711ba05] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:09:09.939 [W] [client/control.go:163] [b9fd4954c711ba05] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:09:09.939 [W] [client/control.go:163] [b9fd4954c711ba05] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:09:09.939 [W] [client/control.go:163] [b9fd4954c711ba05] [podux] start error: proxy [podux] already exists -2026-07-23 21:09:09.939 [W] [client/control.go:163] [b9fd4954c711ba05] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:09:09.939 [W] [client/control.go:163] [b9fd4954c711ba05] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:09:42.875 [W] [client/control.go:163] [b9fd4954c711ba05] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:09:42.878 [W] [client/control.go:163] [b9fd4954c711ba05] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:09:42.939 [W] [client/control.go:163] [b9fd4954c711ba05] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:09:42.939 [W] [client/control.go:163] [b9fd4954c711ba05] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:09:42.939 [W] [client/control.go:163] [b9fd4954c711ba05] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:09:42.939 [W] [client/control.go:163] [b9fd4954c711ba05] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:09:42.939 [W] [client/control.go:163] [b9fd4954c711ba05] [podux] start error: proxy [podux] already exists -2026-07-23 21:09:42.939 [W] [client/control.go:163] [b9fd4954c711ba05] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:09:42.939 [W] [client/control.go:163] [b9fd4954c711ba05] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:09:42.939 [W] [client/control.go:163] [b9fd4954c711ba05] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:09:42.939 [W] [client/control.go:163] [b9fd4954c711ba05] [immich] start error: proxy [immich] already exists -2026-07-23 21:09:42.939 [W] [client/control.go:163] [b9fd4954c711ba05] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:09:42.939 [W] [client/control.go:163] [b9fd4954c711ba05] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:09:42.939 [W] [client/control.go:163] [b9fd4954c711ba05] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:10:15.881 [W] [client/control.go:163] [b9fd4954c711ba05] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:10:15.881 [W] [client/control.go:163] [b9fd4954c711ba05] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:10:15.881 [W] [client/control.go:163] [b9fd4954c711ba05] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:10:15.881 [W] [client/control.go:163] [b9fd4954c711ba05] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:10:15.881 [W] [client/control.go:163] [b9fd4954c711ba05] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:10:15.947 [W] [client/control.go:163] [b9fd4954c711ba05] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:10:15.947 [W] [client/control.go:163] [b9fd4954c711ba05] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:10:15.947 [W] [client/control.go:163] [b9fd4954c711ba05] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:10:15.947 [W] [client/control.go:163] [b9fd4954c711ba05] [immich] start error: proxy [immich] already exists -2026-07-23 21:10:15.947 [W] [client/control.go:163] [b9fd4954c711ba05] [podux] start error: proxy [podux] already exists -2026-07-23 21:10:15.947 [W] [client/control.go:163] [b9fd4954c711ba05] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:10:15.947 [W] [client/control.go:163] [b9fd4954c711ba05] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:10:15.947 [W] [client/control.go:163] [b9fd4954c711ba05] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:10:15.947 [W] [client/control.go:163] [b9fd4954c711ba05] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:10:48.882 [W] [client/control.go:163] [b9fd4954c711ba05] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:10:48.884 [W] [client/control.go:163] [b9fd4954c711ba05] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:10:48.884 [W] [client/control.go:163] [b9fd4954c711ba05] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:10:48.884 [W] [client/control.go:163] [b9fd4954c711ba05] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:10:48.884 [W] [client/control.go:163] [b9fd4954c711ba05] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:10:48.947 [W] [client/control.go:163] [b9fd4954c711ba05] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:10:48.947 [W] [client/control.go:163] [b9fd4954c711ba05] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:10:48.947 [W] [client/control.go:163] [b9fd4954c711ba05] [podux] start error: proxy [podux] already exists -2026-07-23 21:10:48.947 [W] [client/control.go:163] [b9fd4954c711ba05] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:10:48.947 [W] [client/control.go:163] [b9fd4954c711ba05] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:10:48.947 [W] [client/control.go:163] [b9fd4954c711ba05] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:10:48.947 [W] [client/control.go:163] [b9fd4954c711ba05] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:10:48.947 [W] [client/control.go:163] [b9fd4954c711ba05] [immich] start error: proxy [immich] already exists -2026-07-23 21:10:48.947 [W] [client/control.go:163] [b9fd4954c711ba05] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:10:55.825 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 21:10:55.834 [I] [client/service.go:308] try to connect to server... -2026-07-23 21:10:56.003 [I] [client/service.go:328] [095dc4721f280b4a] login to server success, get run id [095dc4721f280b4a] -2026-07-23 21:10:56.003 [I] [proxy/proxy_manager.go:180] [095dc4721f280b4a] proxy added: [1panel-1 Gitea Grafana Halo SMB SSH immich immich-APP napcat napcat-2 navidrome openlist podux sun-panel] -2026-07-23 21:10:56.073 [W] [client/control.go:163] [095dc4721f280b4a] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:10:56.073 [W] [client/control.go:163] [095dc4721f280b4a] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:10:56.073 [W] [client/control.go:163] [095dc4721f280b4a] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:10:56.073 [W] [client/control.go:163] [095dc4721f280b4a] [immich] start error: proxy [immich] already exists -2026-07-23 21:10:56.073 [W] [client/control.go:163] [095dc4721f280b4a] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:10:56.073 [W] [client/control.go:163] [095dc4721f280b4a] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:10:56.118 [W] [client/control.go:163] [095dc4721f280b4a] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:10:56.118 [W] [client/control.go:163] [095dc4721f280b4a] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:10:56.118 [W] [client/control.go:163] [095dc4721f280b4a] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:10:56.118 [W] [client/control.go:163] [095dc4721f280b4a] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:10:56.118 [W] [client/control.go:163] [095dc4721f280b4a] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:10:56.118 [W] [client/control.go:163] [095dc4721f280b4a] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:10:56.118 [W] [client/control.go:163] [095dc4721f280b4a] [podux] start error: proxy [podux] already exists -2026-07-23 21:10:56.118 [W] [client/control.go:163] [095dc4721f280b4a] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:11:00.830 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 21:11:00.839 [I] [client/service.go:308] try to connect to server... -2026-07-23 21:11:01.013 [I] [client/service.go:328] [c5b62093adc18bf7] login to server success, get run id [c5b62093adc18bf7] -2026-07-23 21:11:01.013 [I] [proxy/proxy_manager.go:180] [c5b62093adc18bf7] proxy added: [1panel-1 Gitea Grafana Halo SMB SSH immich immich-APP napcat napcat-2 navidrome podux sun-panel] -2026-07-23 21:11:01.082 [W] [client/control.go:163] [c5b62093adc18bf7] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:11:01.082 [W] [client/control.go:163] [c5b62093adc18bf7] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:11:01.082 [W] [client/control.go:163] [c5b62093adc18bf7] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:11:01.082 [W] [client/control.go:163] [c5b62093adc18bf7] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:11:01.131 [W] [client/control.go:163] [c5b62093adc18bf7] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:11:01.131 [W] [client/control.go:163] [c5b62093adc18bf7] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:11:01.131 [W] [client/control.go:163] [c5b62093adc18bf7] [immich] start error: proxy [immich] already exists -2026-07-23 21:11:01.131 [W] [client/control.go:163] [c5b62093adc18bf7] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:11:01.131 [W] [client/control.go:163] [c5b62093adc18bf7] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:11:01.131 [W] [client/control.go:163] [c5b62093adc18bf7] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:11:01.131 [W] [client/control.go:163] [c5b62093adc18bf7] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:11:01.131 [W] [client/control.go:163] [c5b62093adc18bf7] [podux] start error: proxy [podux] already exists -2026-07-23 21:11:01.131 [W] [client/control.go:163] [c5b62093adc18bf7] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:11:03.006 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 21:11:03.016 [I] [client/service.go:308] try to connect to server... -2026-07-23 21:11:03.187 [I] [client/service.go:328] [3948774b46dfcf16] login to server success, get run id [3948774b46dfcf16] -2026-07-23 21:11:03.188 [I] [proxy/proxy_manager.go:180] [3948774b46dfcf16] proxy added: [1panel-1 Gitea Grafana Halo SMB SSH immich immich-APP napcat napcat-2 navidrome openlist podux sun-panel] -2026-07-23 21:11:03.257 [W] [client/control.go:163] [3948774b46dfcf16] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:11:03.257 [W] [client/control.go:163] [3948774b46dfcf16] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:11:03.257 [W] [client/control.go:163] [3948774b46dfcf16] [immich] start error: proxy [immich] already exists -2026-07-23 21:11:03.258 [W] [client/control.go:163] [3948774b46dfcf16] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:11:03.258 [W] [client/control.go:163] [3948774b46dfcf16] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:11:03.258 [W] [client/control.go:163] [3948774b46dfcf16] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:11:03.258 [W] [client/control.go:163] [3948774b46dfcf16] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:11:03.342 [W] [client/control.go:163] [3948774b46dfcf16] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:11:03.342 [W] [client/control.go:163] [3948774b46dfcf16] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:11:03.342 [W] [client/control.go:163] [3948774b46dfcf16] [podux] start error: proxy [podux] already exists -2026-07-23 21:11:03.342 [W] [client/control.go:163] [3948774b46dfcf16] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:11:03.342 [W] [client/control.go:163] [3948774b46dfcf16] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:11:03.342 [W] [client/control.go:163] [3948774b46dfcf16] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:11:03.342 [W] [client/control.go:163] [3948774b46dfcf16] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:11:36.259 [W] [client/control.go:163] [3948774b46dfcf16] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:11:36.259 [W] [client/control.go:163] [3948774b46dfcf16] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:11:36.261 [W] [client/control.go:163] [3948774b46dfcf16] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:11:36.261 [W] [client/control.go:163] [3948774b46dfcf16] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:11:36.261 [W] [client/control.go:163] [3948774b46dfcf16] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:11:36.328 [W] [client/control.go:163] [3948774b46dfcf16] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:11:36.328 [W] [client/control.go:163] [3948774b46dfcf16] [immich] start error: proxy [immich] already exists -2026-07-23 21:11:36.328 [W] [client/control.go:163] [3948774b46dfcf16] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:11:36.328 [W] [client/control.go:163] [3948774b46dfcf16] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:11:36.328 [W] [client/control.go:163] [3948774b46dfcf16] [podux] start error: proxy [podux] already exists -2026-07-23 21:11:36.328 [W] [client/control.go:163] [3948774b46dfcf16] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:11:36.328 [W] [client/control.go:163] [3948774b46dfcf16] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:11:36.328 [W] [client/control.go:163] [3948774b46dfcf16] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:11:36.328 [W] [client/control.go:163] [3948774b46dfcf16] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:12:09.264 [W] [client/control.go:163] [3948774b46dfcf16] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:12:09.266 [W] [client/control.go:163] [3948774b46dfcf16] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:12:09.266 [W] [client/control.go:163] [3948774b46dfcf16] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:12:09.266 [W] [client/control.go:163] [3948774b46dfcf16] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:12:09.266 [W] [client/control.go:163] [3948774b46dfcf16] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:12:09.333 [W] [client/control.go:163] [3948774b46dfcf16] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:12:09.333 [W] [client/control.go:163] [3948774b46dfcf16] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:12:09.333 [W] [client/control.go:163] [3948774b46dfcf16] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:12:09.333 [W] [client/control.go:163] [3948774b46dfcf16] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:12:09.333 [W] [client/control.go:163] [3948774b46dfcf16] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:12:09.333 [W] [client/control.go:163] [3948774b46dfcf16] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:12:09.333 [W] [client/control.go:163] [3948774b46dfcf16] [immich] start error: proxy [immich] already exists -2026-07-23 21:12:09.333 [W] [client/control.go:163] [3948774b46dfcf16] [podux] start error: proxy [podux] already exists -2026-07-23 21:12:09.333 [W] [client/control.go:163] [3948774b46dfcf16] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:12:46.823 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 21:12:46.832 [I] [client/service.go:308] try to connect to server... -2026-07-23 21:12:47.000 [I] [client/service.go:328] [298d0f4f1ff6598b] login to server success, get run id [298d0f4f1ff6598b] -2026-07-23 21:12:47.000 [I] [proxy/proxy_manager.go:180] [298d0f4f1ff6598b] proxy added: [1panel-1 Gitea Grafana Halo SMB SSH immich immich-APP napcat napcat-2 navidrome openlist podux sun-panel] -2026-07-23 21:12:47.068 [W] [client/control.go:163] [298d0f4f1ff6598b] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:12:47.069 [W] [client/control.go:163] [298d0f4f1ff6598b] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:12:47.069 [W] [client/control.go:163] [298d0f4f1ff6598b] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:12:47.069 [W] [client/control.go:163] [298d0f4f1ff6598b] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:12:47.069 [W] [client/control.go:163] [298d0f4f1ff6598b] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:12:47.069 [W] [client/control.go:163] [298d0f4f1ff6598b] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:12:47.111 [W] [client/control.go:163] [298d0f4f1ff6598b] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:12:47.111 [W] [client/control.go:163] [298d0f4f1ff6598b] [immich] start error: proxy [immich] already exists -2026-07-23 21:12:47.111 [W] [client/control.go:163] [298d0f4f1ff6598b] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:12:47.111 [W] [client/control.go:163] [298d0f4f1ff6598b] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:12:47.111 [W] [client/control.go:163] [298d0f4f1ff6598b] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:12:47.111 [W] [client/control.go:163] [298d0f4f1ff6598b] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:12:47.111 [W] [client/control.go:163] [298d0f4f1ff6598b] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:12:47.111 [W] [client/control.go:163] [298d0f4f1ff6598b] [podux] start error: proxy [podux] already exists -2026-07-23 21:13:20.075 [W] [client/control.go:163] [298d0f4f1ff6598b] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:13:20.075 [W] [client/control.go:163] [298d0f4f1ff6598b] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:13:20.075 [W] [client/control.go:163] [298d0f4f1ff6598b] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:13:20.075 [W] [client/control.go:163] [298d0f4f1ff6598b] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:13:20.075 [W] [client/control.go:163] [298d0f4f1ff6598b] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:13:20.143 [W] [client/control.go:163] [298d0f4f1ff6598b] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:13:20.143 [W] [client/control.go:163] [298d0f4f1ff6598b] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:13:20.143 [W] [client/control.go:163] [298d0f4f1ff6598b] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:13:20.143 [W] [client/control.go:163] [298d0f4f1ff6598b] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:13:20.143 [W] [client/control.go:163] [298d0f4f1ff6598b] [podux] start error: proxy [podux] already exists -2026-07-23 21:13:20.143 [W] [client/control.go:163] [298d0f4f1ff6598b] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:13:20.143 [W] [client/control.go:163] [298d0f4f1ff6598b] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:13:20.143 [W] [client/control.go:163] [298d0f4f1ff6598b] [immich] start error: proxy [immich] already exists -2026-07-23 21:13:20.143 [W] [client/control.go:163] [298d0f4f1ff6598b] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:13:46.190 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 21:13:46.200 [I] [client/service.go:308] try to connect to server... -2026-07-23 21:13:46.367 [I] [client/service.go:328] [4a240b31618e1de3] login to server success, get run id [4a240b31618e1de3] -2026-07-23 21:13:46.367 [I] [proxy/proxy_manager.go:180] [4a240b31618e1de3] proxy added: [1panel-1 Gitea Grafana Halo SMB SSH immich immich-APP napcat napcat-2 navidrome openlist podux sun-panel] -2026-07-23 21:13:46.435 [W] [client/control.go:163] [4a240b31618e1de3] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:13:46.435 [W] [client/control.go:163] [4a240b31618e1de3] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:13:46.435 [W] [client/control.go:163] [4a240b31618e1de3] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:13:46.435 [W] [client/control.go:163] [4a240b31618e1de3] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:13:46.435 [W] [client/control.go:163] [4a240b31618e1de3] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:13:46.502 [W] [client/control.go:163] [4a240b31618e1de3] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:13:46.502 [W] [client/control.go:163] [4a240b31618e1de3] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:13:46.502 [W] [client/control.go:163] [4a240b31618e1de3] [immich] start error: proxy [immich] already exists -2026-07-23 21:13:46.502 [W] [client/control.go:163] [4a240b31618e1de3] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:13:46.502 [W] [client/control.go:163] [4a240b31618e1de3] [podux] start error: proxy [podux] already exists -2026-07-23 21:13:46.502 [W] [client/control.go:163] [4a240b31618e1de3] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:13:46.502 [W] [client/control.go:163] [4a240b31618e1de3] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:13:46.502 [W] [client/control.go:163] [4a240b31618e1de3] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:13:46.502 [W] [client/control.go:163] [4a240b31618e1de3] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:13:55.393 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 21:13:55.403 [I] [client/service.go:308] try to connect to server... -2026-07-23 21:13:55.597 [I] [client/service.go:328] [cf5981dc2ef07a1a] login to server success, get run id [cf5981dc2ef07a1a] -2026-07-23 21:13:55.597 [I] [proxy/proxy_manager.go:180] [cf5981dc2ef07a1a] proxy added: [1panel-1 Gitea Grafana Halo SMB SSH immich immich-APP napcat napcat-2 navidrome openlist sun-panel] -2026-07-23 21:13:55.712 [W] [client/control.go:163] [cf5981dc2ef07a1a] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:13:55.719 [W] [client/control.go:163] [cf5981dc2ef07a1a] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:13:55.719 [W] [client/control.go:163] [cf5981dc2ef07a1a] [Grafana] start error: proxy [Grafana] already exists -2026-07-23 21:13:55.719 [W] [client/control.go:163] [cf5981dc2ef07a1a] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:13:55.719 [W] [client/control.go:163] [cf5981dc2ef07a1a] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:13:55.719 [W] [client/control.go:163] [cf5981dc2ef07a1a] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:13:55.777 [W] [client/control.go:163] [cf5981dc2ef07a1a] [immich] start error: proxy [immich] already exists -2026-07-23 21:13:55.777 [W] [client/control.go:163] [cf5981dc2ef07a1a] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:13:55.777 [W] [client/control.go:163] [cf5981dc2ef07a1a] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:13:55.777 [W] [client/control.go:163] [cf5981dc2ef07a1a] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:13:55.777 [W] [client/control.go:163] [cf5981dc2ef07a1a] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:13:55.777 [W] [client/control.go:163] [cf5981dc2ef07a1a] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:13:55.777 [W] [client/control.go:163] [cf5981dc2ef07a1a] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:13:59.292 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 21:13:59.302 [I] [client/service.go:308] try to connect to server... -2026-07-23 21:13:59.529 [I] [client/service.go:328] [6d8d68a1be508853] login to server success, get run id [6d8d68a1be508853] -2026-07-23 21:13:59.529 [I] [proxy/proxy_manager.go:180] [6d8d68a1be508853] proxy added: [1panel-1 Gitea Halo SMB SSH immich immich-APP napcat napcat-2 navidrome openlist sun-panel] -2026-07-23 21:13:59.598 [W] [client/control.go:163] [6d8d68a1be508853] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:13:59.598 [W] [client/control.go:163] [6d8d68a1be508853] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:13:59.599 [W] [client/control.go:163] [6d8d68a1be508853] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:13:59.599 [W] [client/control.go:163] [6d8d68a1be508853] [Halo] start error: proxy [Halo] already exists -2026-07-23 21:13:59.599 [W] [client/control.go:163] [6d8d68a1be508853] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:13:59.599 [W] [client/control.go:163] [6d8d68a1be508853] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:13:59.599 [W] [client/control.go:163] [6d8d68a1be508853] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:13:59.663 [W] [client/control.go:163] [6d8d68a1be508853] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:13:59.663 [W] [client/control.go:163] [6d8d68a1be508853] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:13:59.663 [W] [client/control.go:163] [6d8d68a1be508853] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:13:59.663 [W] [client/control.go:163] [6d8d68a1be508853] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:13:59.663 [W] [client/control.go:163] [6d8d68a1be508853] [immich] start error: proxy [immich] already exists -2026-07-23 21:14:02.993 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 21:14:03.003 [I] [client/service.go:308] try to connect to server... -2026-07-23 21:14:03.173 [I] [client/service.go:328] [90da601a2686fc62] login to server success, get run id [90da601a2686fc62] -2026-07-23 21:14:03.173 [I] [proxy/proxy_manager.go:180] [90da601a2686fc62] proxy added: [1panel-1 Gitea SMB SSH immich immich-APP napcat napcat-2 navidrome openlist sun-panel] -2026-07-23 21:14:03.237 [W] [client/control.go:163] [90da601a2686fc62] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:14:03.237 [W] [client/control.go:163] [90da601a2686fc62] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:14:03.237 [W] [client/control.go:163] [90da601a2686fc62] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:14:03.237 [W] [client/control.go:163] [90da601a2686fc62] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:14:03.237 [W] [client/control.go:163] [90da601a2686fc62] [immich] start error: proxy [immich] already exists -2026-07-23 21:14:03.237 [W] [client/control.go:163] [90da601a2686fc62] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:14:03.239 [W] [client/control.go:163] [90da601a2686fc62] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:14:03.280 [W] [client/control.go:163] [90da601a2686fc62] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:14:03.280 [W] [client/control.go:163] [90da601a2686fc62] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:14:03.280 [W] [client/control.go:163] [90da601a2686fc62] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:14:03.280 [W] [client/control.go:163] [90da601a2686fc62] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:14:36.245 [W] [client/control.go:163] [90da601a2686fc62] [immich] start error: proxy [immich] already exists -2026-07-23 21:14:36.245 [W] [client/control.go:163] [90da601a2686fc62] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:14:36.245 [W] [client/control.go:163] [90da601a2686fc62] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:14:36.245 [W] [client/control.go:163] [90da601a2686fc62] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:14:36.245 [W] [client/control.go:163] [90da601a2686fc62] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:14:36.312 [W] [client/control.go:163] [90da601a2686fc62] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:14:36.312 [W] [client/control.go:163] [90da601a2686fc62] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:14:36.312 [W] [client/control.go:163] [90da601a2686fc62] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:14:36.312 [W] [client/control.go:163] [90da601a2686fc62] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:14:36.312 [W] [client/control.go:163] [90da601a2686fc62] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:14:36.312 [W] [client/control.go:163] [90da601a2686fc62] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:14:52.047 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 21:14:52.057 [I] [client/service.go:308] try to connect to server... -2026-07-23 21:14:52.265 [I] [client/service.go:328] [6688844d29639a28] login to server success, get run id [6688844d29639a28] -2026-07-23 21:14:52.265 [I] [proxy/proxy_manager.go:180] [6688844d29639a28] proxy added: [1panel-1 Gitea SMB SSH immich immich-APP napcat napcat-2 navidrome openlist sun-panel] -2026-07-23 21:14:52.334 [W] [client/control.go:163] [6688844d29639a28] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:14:52.335 [W] [client/control.go:163] [6688844d29639a28] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:14:52.335 [W] [client/control.go:163] [6688844d29639a28] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:14:52.335 [W] [client/control.go:163] [6688844d29639a28] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:14:52.335 [W] [client/control.go:163] [6688844d29639a28] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:14:52.335 [W] [client/control.go:163] [6688844d29639a28] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:14:52.373 [W] [client/control.go:163] [6688844d29639a28] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:14:52.373 [W] [client/control.go:163] [6688844d29639a28] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:14:52.373 [W] [client/control.go:163] [6688844d29639a28] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:14:52.373 [W] [client/control.go:163] [6688844d29639a28] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:14:52.373 [W] [client/control.go:163] [6688844d29639a28] [immich] start error: proxy [immich] already exists -2026-07-23 21:15:25.337 [W] [client/control.go:163] [6688844d29639a28] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:15:25.337 [W] [client/control.go:163] [6688844d29639a28] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:15:25.337 [W] [client/control.go:163] [6688844d29639a28] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:15:25.337 [W] [client/control.go:163] [6688844d29639a28] [immich] start error: proxy [immich] already exists -2026-07-23 21:15:25.337 [W] [client/control.go:163] [6688844d29639a28] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:15:25.404 [W] [client/control.go:163] [6688844d29639a28] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:15:25.404 [W] [client/control.go:163] [6688844d29639a28] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:15:25.404 [W] [client/control.go:163] [6688844d29639a28] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:15:25.404 [W] [client/control.go:163] [6688844d29639a28] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:15:25.404 [W] [client/control.go:163] [6688844d29639a28] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:15:25.404 [W] [client/control.go:163] [6688844d29639a28] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:15:58.340 [W] [client/control.go:163] [6688844d29639a28] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:15:58.340 [W] [client/control.go:163] [6688844d29639a28] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:15:58.340 [W] [client/control.go:163] [6688844d29639a28] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:15:58.340 [W] [client/control.go:163] [6688844d29639a28] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:15:58.340 [W] [client/control.go:163] [6688844d29639a28] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:15:58.406 [W] [client/control.go:163] [6688844d29639a28] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:15:58.406 [W] [client/control.go:163] [6688844d29639a28] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:15:58.406 [W] [client/control.go:163] [6688844d29639a28] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:15:58.406 [W] [client/control.go:163] [6688844d29639a28] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:15:58.406 [W] [client/control.go:163] [6688844d29639a28] [immich] start error: proxy [immich] already exists -2026-07-23 21:15:58.406 [W] [client/control.go:163] [6688844d29639a28] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:16:05.699 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration -2026-07-23 21:16:05.708 [I] [client/service.go:308] try to connect to server... -2026-07-23 21:16:05.898 [I] [client/service.go:328] [e910adc6646a25c4] login to server success, get run id [e910adc6646a25c4] -2026-07-23 21:16:05.898 [I] [proxy/proxy_manager.go:180] [e910adc6646a25c4] proxy added: [1panel-1 Gitea SMB SSH immich immich-APP napcat napcat-2 navidrome openlist sun-panel] -2026-07-23 21:16:05.967 [W] [client/control.go:163] [e910adc6646a25c4] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:16:05.967 [W] [client/control.go:163] [e910adc6646a25c4] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:16:05.968 [W] [client/control.go:163] [e910adc6646a25c4] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:16:05.968 [W] [client/control.go:163] [e910adc6646a25c4] [immich] start error: proxy [immich] already exists -2026-07-23 21:16:05.968 [W] [client/control.go:163] [e910adc6646a25c4] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:16:05.968 [W] [client/control.go:163] [e910adc6646a25c4] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:16:05.968 [W] [client/control.go:163] [e910adc6646a25c4] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:16:06.017 [W] [client/control.go:163] [e910adc6646a25c4] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:16:06.017 [W] [client/control.go:163] [e910adc6646a25c4] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:16:06.017 [W] [client/control.go:163] [e910adc6646a25c4] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:16:06.017 [W] [client/control.go:163] [e910adc6646a25c4] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:16:38.970 [W] [client/control.go:163] [e910adc6646a25c4] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:16:38.970 [W] [client/control.go:163] [e910adc6646a25c4] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:16:38.971 [W] [client/control.go:163] [e910adc6646a25c4] [immich] start error: proxy [immich] already exists -2026-07-23 21:16:38.971 [W] [client/control.go:163] [e910adc6646a25c4] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:16:38.971 [W] [client/control.go:163] [e910adc6646a25c4] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:16:39.033 [W] [client/control.go:163] [e910adc6646a25c4] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:16:39.033 [W] [client/control.go:163] [e910adc6646a25c4] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:16:39.033 [W] [client/control.go:163] [e910adc6646a25c4] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:16:39.033 [W] [client/control.go:163] [e910adc6646a25c4] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:16:39.033 [W] [client/control.go:163] [e910adc6646a25c4] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:16:39.033 [W] [client/control.go:163] [e910adc6646a25c4] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:17:11.978 [W] [client/control.go:163] [e910adc6646a25c4] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:17:11.978 [W] [client/control.go:163] [e910adc6646a25c4] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:17:11.978 [W] [client/control.go:163] [e910adc6646a25c4] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:17:11.978 [W] [client/control.go:163] [e910adc6646a25c4] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:17:11.978 [W] [client/control.go:163] [e910adc6646a25c4] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:17:12.043 [W] [client/control.go:163] [e910adc6646a25c4] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:17:12.043 [W] [client/control.go:163] [e910adc6646a25c4] [immich] start error: proxy [immich] already exists -2026-07-23 21:17:12.043 [W] [client/control.go:163] [e910adc6646a25c4] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:17:12.043 [W] [client/control.go:163] [e910adc6646a25c4] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:17:12.043 [W] [client/control.go:163] [e910adc6646a25c4] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:17:12.043 [W] [client/control.go:163] [e910adc6646a25c4] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:17:44.979 [W] [client/control.go:163] [e910adc6646a25c4] [immich] start error: proxy [immich] already exists -2026-07-23 21:17:44.979 [W] [client/control.go:163] [e910adc6646a25c4] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:17:44.979 [W] [client/control.go:163] [e910adc6646a25c4] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:17:44.979 [W] [client/control.go:163] [e910adc6646a25c4] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:17:44.979 [W] [client/control.go:163] [e910adc6646a25c4] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:17:45.043 [W] [client/control.go:163] [e910adc6646a25c4] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:17:45.043 [W] [client/control.go:163] [e910adc6646a25c4] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:17:45.043 [W] [client/control.go:163] [e910adc6646a25c4] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:17:45.043 [W] [client/control.go:163] [e910adc6646a25c4] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:17:45.043 [W] [client/control.go:163] [e910adc6646a25c4] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:17:45.043 [W] [client/control.go:163] [e910adc6646a25c4] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:18:17.986 [W] [client/control.go:163] [e910adc6646a25c4] [immich] start error: proxy [immich] already exists -2026-07-23 21:18:17.986 [W] [client/control.go:163] [e910adc6646a25c4] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:18:17.986 [W] [client/control.go:163] [e910adc6646a25c4] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:18:17.986 [W] [client/control.go:163] [e910adc6646a25c4] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:18:17.986 [W] [client/control.go:163] [e910adc6646a25c4] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:18:18.048 [W] [client/control.go:163] [e910adc6646a25c4] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:18:18.049 [W] [client/control.go:163] [e910adc6646a25c4] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:18:18.049 [W] [client/control.go:163] [e910adc6646a25c4] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:18:18.049 [W] [client/control.go:163] [e910adc6646a25c4] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:18:18.049 [W] [client/control.go:163] [e910adc6646a25c4] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:18:18.049 [W] [client/control.go:163] [e910adc6646a25c4] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:18:51.002 [W] [client/control.go:163] [e910adc6646a25c4] [immich] start error: proxy [immich] already exists -2026-07-23 21:18:51.002 [W] [client/control.go:163] [e910adc6646a25c4] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:18:51.002 [W] [client/control.go:163] [e910adc6646a25c4] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:18:51.012 [W] [client/control.go:163] [e910adc6646a25c4] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:18:51.021 [W] [client/control.go:163] [e910adc6646a25c4] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:18:51.065 [W] [client/control.go:163] [e910adc6646a25c4] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:18:51.065 [W] [client/control.go:163] [e910adc6646a25c4] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:18:51.065 [W] [client/control.go:163] [e910adc6646a25c4] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:18:51.065 [W] [client/control.go:163] [e910adc6646a25c4] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:18:51.065 [W] [client/control.go:163] [e910adc6646a25c4] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:18:51.065 [W] [client/control.go:163] [e910adc6646a25c4] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:19:23.988 [W] [client/control.go:163] [e910adc6646a25c4] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:19:23.988 [W] [client/control.go:163] [e910adc6646a25c4] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:19:23.988 [W] [client/control.go:163] [e910adc6646a25c4] [immich] start error: proxy [immich] already exists -2026-07-23 21:19:23.988 [W] [client/control.go:163] [e910adc6646a25c4] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:19:23.988 [W] [client/control.go:163] [e910adc6646a25c4] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:19:24.051 [W] [client/control.go:163] [e910adc6646a25c4] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:19:24.051 [W] [client/control.go:163] [e910adc6646a25c4] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:19:24.051 [W] [client/control.go:163] [e910adc6646a25c4] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:19:24.051 [W] [client/control.go:163] [e910adc6646a25c4] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:19:24.051 [W] [client/control.go:163] [e910adc6646a25c4] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:19:24.051 [W] [client/control.go:163] [e910adc6646a25c4] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:19:56.991 [W] [client/control.go:163] [e910adc6646a25c4] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:19:56.991 [W] [client/control.go:163] [e910adc6646a25c4] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:19:56.991 [W] [client/control.go:163] [e910adc6646a25c4] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:19:56.991 [W] [client/control.go:163] [e910adc6646a25c4] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:19:56.991 [W] [client/control.go:163] [e910adc6646a25c4] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:19:57.054 [W] [client/control.go:163] [e910adc6646a25c4] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:19:57.054 [W] [client/control.go:163] [e910adc6646a25c4] [immich] start error: proxy [immich] already exists -2026-07-23 21:19:57.054 [W] [client/control.go:163] [e910adc6646a25c4] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:19:57.054 [W] [client/control.go:163] [e910adc6646a25c4] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:19:57.054 [W] [client/control.go:163] [e910adc6646a25c4] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:19:57.054 [W] [client/control.go:163] [e910adc6646a25c4] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:20:29.995 [W] [client/control.go:163] [e910adc6646a25c4] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:20:29.995 [W] [client/control.go:163] [e910adc6646a25c4] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:20:29.995 [W] [client/control.go:163] [e910adc6646a25c4] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:20:29.995 [W] [client/control.go:163] [e910adc6646a25c4] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:20:29.995 [W] [client/control.go:163] [e910adc6646a25c4] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:20:30.059 [W] [client/control.go:163] [e910adc6646a25c4] [immich] start error: proxy [immich] already exists -2026-07-23 21:20:30.059 [W] [client/control.go:163] [e910adc6646a25c4] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:20:30.059 [W] [client/control.go:163] [e910adc6646a25c4] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:20:30.059 [W] [client/control.go:163] [e910adc6646a25c4] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:20:30.059 [W] [client/control.go:163] [e910adc6646a25c4] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:20:30.059 [W] [client/control.go:163] [e910adc6646a25c4] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:21:02.996 [W] [client/control.go:163] [e910adc6646a25c4] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:21:02.996 [W] [client/control.go:163] [e910adc6646a25c4] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:21:02.996 [W] [client/control.go:163] [e910adc6646a25c4] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:21:02.996 [W] [client/control.go:163] [e910adc6646a25c4] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:21:02.996 [W] [client/control.go:163] [e910adc6646a25c4] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:21:03.061 [W] [client/control.go:163] [e910adc6646a25c4] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:21:03.061 [W] [client/control.go:163] [e910adc6646a25c4] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:21:03.061 [W] [client/control.go:163] [e910adc6646a25c4] [immich] start error: proxy [immich] already exists -2026-07-23 21:21:03.061 [W] [client/control.go:163] [e910adc6646a25c4] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:21:03.061 [W] [client/control.go:163] [e910adc6646a25c4] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:21:03.061 [W] [client/control.go:163] [e910adc6646a25c4] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:21:35.999 [W] [client/control.go:163] [e910adc6646a25c4] [immich] start error: proxy [immich] already exists -2026-07-23 21:21:36.000 [W] [client/control.go:163] [e910adc6646a25c4] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:21:36.000 [W] [client/control.go:163] [e910adc6646a25c4] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:21:36.000 [W] [client/control.go:163] [e910adc6646a25c4] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:21:36.000 [W] [client/control.go:163] [e910adc6646a25c4] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:21:36.064 [W] [client/control.go:163] [e910adc6646a25c4] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:21:36.064 [W] [client/control.go:163] [e910adc6646a25c4] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:21:36.064 [W] [client/control.go:163] [e910adc6646a25c4] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:21:36.064 [W] [client/control.go:163] [e910adc6646a25c4] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:21:36.064 [W] [client/control.go:163] [e910adc6646a25c4] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:21:36.064 [W] [client/control.go:163] [e910adc6646a25c4] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:22:09.004 [W] [client/control.go:163] [e910adc6646a25c4] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:22:09.004 [W] [client/control.go:163] [e910adc6646a25c4] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:22:09.004 [W] [client/control.go:163] [e910adc6646a25c4] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:22:09.004 [W] [client/control.go:163] [e910adc6646a25c4] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:22:09.004 [W] [client/control.go:163] [e910adc6646a25c4] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:22:09.069 [W] [client/control.go:163] [e910adc6646a25c4] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:22:09.069 [W] [client/control.go:163] [e910adc6646a25c4] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:22:09.069 [W] [client/control.go:163] [e910adc6646a25c4] [immich] start error: proxy [immich] already exists -2026-07-23 21:22:09.069 [W] [client/control.go:163] [e910adc6646a25c4] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:22:09.069 [W] [client/control.go:163] [e910adc6646a25c4] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:22:09.069 [W] [client/control.go:163] [e910adc6646a25c4] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:22:42.007 [W] [client/control.go:163] [e910adc6646a25c4] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:22:42.007 [W] [client/control.go:163] [e910adc6646a25c4] [immich] start error: proxy [immich] already exists -2026-07-23 21:22:42.007 [W] [client/control.go:163] [e910adc6646a25c4] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:22:42.007 [W] [client/control.go:163] [e910adc6646a25c4] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:22:42.007 [W] [client/control.go:163] [e910adc6646a25c4] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:22:42.071 [W] [client/control.go:163] [e910adc6646a25c4] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:22:42.071 [W] [client/control.go:163] [e910adc6646a25c4] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:22:42.071 [W] [client/control.go:163] [e910adc6646a25c4] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:22:42.071 [W] [client/control.go:163] [e910adc6646a25c4] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:22:42.071 [W] [client/control.go:163] [e910adc6646a25c4] [napcat] start error: proxy [napcat] already exists -2026-07-23 21:22:42.071 [W] [client/control.go:163] [e910adc6646a25c4] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:23:15.010 [W] [client/control.go:163] [e910adc6646a25c4] [Gitea] start error: proxy [Gitea] already exists -2026-07-23 21:23:15.010 [W] [client/control.go:163] [e910adc6646a25c4] [1panel-1] start error: proxy [1panel-1] already exists -2026-07-23 21:23:15.019 [W] [client/control.go:163] [e910adc6646a25c4] [sun-panel] start error: proxy [sun-panel] already exists -2026-07-23 21:23:15.019 [W] [client/control.go:163] [e910adc6646a25c4] [navidrome] start error: proxy [navidrome] already exists -2026-07-23 21:23:15.019 [W] [client/control.go:163] [e910adc6646a25c4] [immich] start error: proxy [immich] already exists -2026-07-23 21:23:15.075 [W] [client/control.go:163] [e910adc6646a25c4] [SMB] start error: proxy [SMB] already exists -2026-07-23 21:23:15.075 [W] [client/control.go:163] [e910adc6646a25c4] [immich-APP] start error: proxy [immich-APP] already exists -2026-07-23 21:23:15.075 [W] [client/control.go:163] [e910adc6646a25c4] [openlist] start error: proxy [openlist] already exists -2026-07-23 21:23:15.075 [W] [client/control.go:163] [e910adc6646a25c4] [SSH] start error: proxy [SSH] already exists -2026-07-23 21:23:15.075 [W] [client/control.go:163] [e910adc6646a25c4] [napcat-2] start error: proxy [napcat-2] already exists -2026-07-23 21:23:15.075 [W] [client/control.go:163] [e910adc6646a25c4] [napcat] start error: proxy [napcat] already exists +2026-07-23 21:35:00.019 [I] [sub/root.go:201] start frpc service for config file [./frpc.toml] with aggregated configuration +2026-07-23 21:35:00.029 [I] [client/service.go:308] try to connect to server... +2026-07-23 21:35:00.201 [I] [client/service.go:328] [097a9da8160ea584] login to server success, get run id [097a9da8160ea584] diff --git a/frpc.toml b/frpc.toml index 8879ea7..e2dfb58 100644 --- a/frpc.toml +++ b/frpc.toml @@ -19,80 +19,3 @@ poolCount = 8 [webServer] addr = "127.0.0.1:7400" - -[[proxies]] -name = "sun-panel" -type = "tcp" -localIP = "192.168.3.16" -localPort = 3002 -remotePort = 30005 - -[[proxies]] -name = "1panel-1" -type = "tcp" -localIP = "192.168.3.16" -localPort = 10086 -remotePort = 20003 - -[[proxies]] -name = "navidrome" -type = "tcp" -localIP = "192.168.3.16" -localPort = 4533 -remotePort = 20022 - -[[proxies]] -name = "openlist" -type = "tcp" -localIP = "192.168.3.16" -localPort = 5244 -remotePort = 20005 - -[[proxies]] -name = "SSH" -type = "tcp" -localIP = "192.168.3.16" -localPort = 22 -remotePort = 20001 - -[[proxies]] -name = "SMB" -type = "tcp" -localIP = "192.168.3.16" -localPort = 445 -remotePort = 20008 - -[[proxies]] -name = "napcat" -type = "tcp" -localIP = "192.168.3.16" -localPort = 6099 -remotePort = 20007 - -[[proxies]] -name = "Gitea" -type = "tcp" -localIP = "192.168.3.16" -localPort = 3800 -remotePort = 20017 - -[[proxies]] -name = "immich-APP" -type = "tcp" -localIP = "192.168.3.16" -localPort = 2283 -remotePort = 20020 - -[[proxies]] -name = "immich" -type = "tcp" -localIP = "192.168.3.16" -localPort = 2283 -remotePort = 20015 - -[[proxies]] -name = "napcat-2" -type = "tcp" -localIP = "192.168.3.16" -localPort = 6100 -remotePort = 20012 diff --git a/readme.md b/readme.md index e69de29..d0c77e4 100644 --- a/readme.md +++ b/readme.md @@ -0,0 +1,189 @@ +# 🚀 frpc-console + +> 轻量级 frpc 管理面板 —— 为你的内网穿透插上翅膀 + +[![Go Version](https://img.shields.io/badge/Go-1.21+-00ADD8?style=flat&logo=go)](https://golang.org/) +[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) +[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) + +--- + +## 📖 简介 + +**frpc-console** 是一个专为 [frp](https://github.com/fatedier/frp) 设计的轻量级管理工具。它解决了 frpc 配置文件手动维护繁琐、缺少可视化界面的痛点,让你在浏览器中轻松管理所有隧道。 + +### ✨ 核心特性 + +- 🔐 **首次启动引导** —— Web 端完成管理员注册,无需 CLI 交互 +- 📋 **隧道全生命周期管理** —— 增删改查 + 一键启用/禁用 +- 📦 **导入/导出 TOML** —— 无缝迁移现有 frpc 配置 +- 🔄 **配置热加载** —— 修改即生效,无需重启 frpc +- 🖥️ **多平台支持** —— Windows / Linux / ARM 全平台兼容 +- 🐳 **容器化就绪** —— 提供 Docker 镜像,开箱即用 +- 🎨 **深色磨砂玻璃 UI** —— 现代化视觉体验,日夜皆宜 + +### 🎯 与 Podux 的对比 + +| 特性 | frpc-console | Podux | +|---|---|---| +| 数据库 | SQLite (几 MB) | PocketBase (数百 MB) | +| 前端 | Vue CDN (无需构建) | React + Webpack | +| 内存占用 | ~50 MB | 1GB+ (实测 OOM) | +| 部署方式 | 单二进制 / Docker | Docker 专用 | +| 多平台支持 | ✅ 原生交叉编译 | ❌ 需自行构建 | + +--- + +## 🚀 快速开始 + +### 方式一:直接运行二进制 + +从 [Releases](https://github.com/lxh2875931338/frpc-console/releases) 下载对应平台版本: + +```bash +# Linux / macOS +chmod +x frpc-console +./frpc-console + +# Windows +frpc-console.exe +``` + +首次启动会在终端提示设置管理员账户,之后访问 http://localhost:8080 即可。 + +### 方式二:Docker 运行 + +```bash +docker run -d \ + --name frpc-console \ + -p 8080:8080 \ + -v ./data:/app/data \ + lxh2875931338/frpc-console:latest +``` + +### 方式三:源码编译 + +```bash +git clone https://github.com/lxh2875931338/frpc-console.git +cd frpc-console +go mod tidy +go build -o frpc-console . +./frpc-console +``` + +## 🗂️ 项目结构 +```txt +frpc-console/ +├── main.go # 入口 +├── api.go # HTTP 路由 & Handler +├── db.go # SQLite 数据库操作 +├── auth.go # JWT 认证 & 密码管理 +├── frp.go # frpc 管理核心逻辑 +├── toml_parser.go # TOML 解析器 +├── static/ # 前端静态资源 +│ ├── index.html +│ ├── app.js +│ ├── style-1.css # 全局基础样式 +│ ├── style-2.css # 登录页样式 +│ └── style-3.css # 主界面样式 +├── bin/ # 内嵌 frpc 二进制 (多平台) +│ ├── frpc_windows_amd64.exe +│ ├── frpc_linux_amd64 +│ └── frpc_linux_arm64 +├── frpc.tmpl # frpc 配置模板 +├── Dockerfile +└── go.mod +``` + +## ⚙️ 配置说明 + +### 环境变量 + +| 变量 | 说明 | 默认值 | +|---|---|---| +| PORT | 监听端口 | 8080 | + + +### 数据存储 + +· 数据库文件:./frpc-console.db +· frpc 配置文件:./frpc.toml +· frpc 日志文件:./frpc.log + +--- + +## 🛠️ 开发指南 + +```bash +# 克隆项目 +git clone https://github.com/lxh2875931338/frpc-console.git +cd frpc-console + +# 安装依赖 +go mod tidy + +# 开发模式运行 +go run . + +# 编译生产版本 +go build -ldflags="-s -w" -o frpc-console . +``` + +## 前端开发 + +前端使用 Vue 3 CDN + Naive UI,无需额外构建工具。修改 static/ 目录下的文件后,刷新浏览器即可预览效果。 + +--- + +### 📦 构建 Docker 镜像 + +```bash +# 构建 amd64 镜像 +docker build -t frpc-console:amd64 . + +# 多架构构建 (需要 buildx) +docker buildx build --platform linux/amd64,linux/arm64 -t frpc-console:latest --push . +``` + +--- + +## 🔧 常见问题 + +#### Q: 如何修改管理员密码? + +登录后,在「全局配置」页面顶部找到「账户管理」区域,输入当前密码和新密码即可。 + +#### Q: 如何导入现有的 frpc.toml? + +在「隧道列表」页面点击「导入 TOML」,选择你的 frpc.toml 文件即可。 + +#### Q: frpc 启动失败怎么办? + +检查 frpc.toml 配置是否正确,或查看 ./frpc.log 日志文件。 + +#### Q: 支持哪些 frp 版本? + +目前支持情况如下: + +| 系统 | 架构版本 | 版本号 | +|---|---|---| +| Linux | AMD64/x86-64 | 0.70.0 | +| Linux | ARM64/Aarch64 | 0.70.0 | +| Windows | AMD64/x86-64 | 0.69.0 | + +--- + +## 📝 更新日志 + +### v0.1.0 (2026-07-23) + +· 🎉 首次发布 +· ✨ 支持隧道增删改查 +· ✨ 支持 TOML 导入/导出 +· ✨ 首次启动 Web 注册 +· ✨ 深色磨砂玻璃 UI +· ✨ 多平台 frpc 自动适配 +· 🐳 Docker 镜像支持 + +--- + diff --git a/static/app.js b/static/app.js index 5bf67a0..080f81c 100644 --- a/static/app.js +++ b/static/app.js @@ -1,12 +1,8 @@ -// app.js - 普通脚本(非模块) - const { createApp, ref, reactive, computed, onMounted } = Vue; // ============================================================ -// 1. 把 modules/*.js 的内容直接合并进来(因为是普通脚本,不能 import) +// API // ============================================================ - -// ---------- api ---------- const API_BASE = "/api"; function getToken() { return localStorage.getItem("frpc_token") || ""; @@ -19,10 +15,9 @@ function getHeaders() { } async function apiFetch(endpoint, options = {}) { const url = API_BASE + endpoint; - const headers = - options.body instanceof FormData - ? { Authorization: "Bearer " + getToken() } - : getHeaders(); + const headers = options.body instanceof FormData + ? { Authorization: "Bearer " + getToken() } + : getHeaders(); const res = await fetch(url, { ...options, headers: { ...headers, ...(options.headers || {}) }, @@ -30,7 +25,9 @@ async function apiFetch(endpoint, options = {}) { return res.json(); } -// ---------- auth ---------- +// ============================================================ +// Auth +// ============================================================ function parseJwtExpire(token) { try { const payload = JSON.parse(atob(token.split(".")[1])); @@ -74,7 +71,9 @@ async function login(username, password) { return { success: false, error: data.msg || "登录失败" }; } -// ---------- config ---------- +// ============================================================ +// Config +// ============================================================ const defaultConfig = { serverAddr: "frp.whitetop.xyz", serverPort: 9358, @@ -106,7 +105,9 @@ async function saveConfigApi(config) { return data; } -// ---------- proxies ---------- +// ============================================================ +// Proxies +// ============================================================ async function loadProxies() { try { const data = await apiFetch("/proxies"); @@ -141,15 +142,16 @@ async function deleteProxy(id) { function filterProxies(list, keyword) { if (!keyword) return list; const kw = keyword.toLowerCase(); - return list.filter( - (p) => - p.name.toLowerCase().includes(kw) || - p.localIP.includes(kw) || - String(p.remotePort).includes(kw), + return list.filter(p => + p.name.toLowerCase().includes(kw) || + p.localIP.includes(kw) || + String(p.remotePort).includes(kw) ); } -// ---------- frpc ---------- +// ============================================================ +// Frpc +// ============================================================ async function getFrpcStatus() { try { const data = await apiFetch("/frpc/status"); @@ -161,27 +163,11 @@ async function getFrpcStatus() { } return false; } -async function reloadFrpc() { - const data = await apiFetch("/frpc/reload", { method: "POST" }); - return data; -} -async function startFrpc() { - const data = await apiFetch("/frpc/start", { method: "POST" }); - return data; -} -async function stopFrpc() { - const data = await apiFetch("/frpc/stop", { method: "POST" }); - return data; -} -// ---------- ui ---------- -// Tab 切换 +// ============================================================ +// UI State +// ============================================================ const activeTab = ref("proxies"); -function switchTab(tab) { - activeTab.value = tab; -} - -// 弹窗控制 const dialogVisible = ref(false); const dialogMode = ref("add"); const dialogForm = ref({ @@ -192,17 +178,11 @@ const dialogForm = ref({ localPort: 0, remotePort: 0, }); +const searchKeyword = ref(""); function openAddDialog() { dialogMode.value = "add"; - dialogForm.value = { - id: null, - name: "", - type: "tcp", - localIP: "", - localPort: 0, - remotePort: 0, - }; + dialogForm.value = { id: null, name: "", type: "tcp", localIP: "", localPort: 0, remotePort: 0 }; dialogVisible.value = true; } function openEditDialog(proxy) { @@ -214,9 +194,9 @@ function closeDialog() { dialogVisible.value = false; } -const searchKeyword = ref(""); - -// ---------- import/export 功能 ---------- +// ============================================================ +// Import / Export +// ============================================================ async function triggerImport() { document.getElementById("tomlFileInput").click(); } @@ -244,42 +224,35 @@ async function handleImport(e) { e.target.value = ""; } async function exportToml() { - console.log('🔍 exportToml 被调用了'); try { - const res = await fetch('/api/export/toml', { - method: 'GET', - headers: { 'Authorization': 'Bearer ' + getToken() }, + const res = await fetch("/api/export/toml", { + method: "GET", + headers: { Authorization: "Bearer " + getToken() }, }); - if (!res.ok) { const data = await res.json(); - alert('导出失败: ' + (data.msg || '未知错误')); + alert("导出失败: " + (data.msg || "未知错误")); return; } - const blob = await res.blob(); - const a = document.createElement('a'); + const a = document.createElement("a"); a.href = URL.createObjectURL(blob); - a.download = 'frpc.toml'; + a.download = "frpc.toml"; document.body.appendChild(a); a.click(); document.body.removeChild(a); URL.revokeObjectURL(a.href); - - console.log('✅ 导出成功'); } catch (e) { - console.error('导出失败:', e); - alert('导出失败: ' + e.message); + alert("导出失败: " + e.message); } } // ============================================================ -// 2. Vue 应用 +// Vue App // ============================================================ - const app = createApp({ setup() { - // ===== 登录态 ===== + // ---- 登录态 ---- const loggedIn = ref(false); const loading = ref(false); const loginError = ref(""); @@ -290,13 +263,32 @@ const app = createApp({ const contentVisible = ref(false); let expireTimer = null; - // ===== 数据 ===== + // ---- 注册 ---- + const isFirstRun = ref(false); + const registerForm = reactive({ + username: "", + password: "", + confirmPassword: "", + }); + const registerError = ref(""); + const registering = ref(false); + + // ---- 数据 ---- const globalConfig = reactive({}); const proxies = ref([]); const frpcRunning = ref(false); const showDetail = ref(false); - // ===== 初始化 ===== + // ---- 修改密码 ---- + const passwordChange = reactive({ + oldPassword: "", + newPassword: "", + confirmPassword: "", + }); + const passwordChangeError = ref(""); + const passwordChangeSuccess = ref(""); + + // ---- 初始化 ---- onMounted(() => { const saved = loadAuthState(); if (saved.valid) { @@ -308,10 +300,24 @@ const app = createApp({ contentVisible.value = true; startExpireTimer(); }); + } else { + checkUsers(); } }); - const startExpireTimer = () => { + async function checkUsers() { + try { + const res = await fetch("/api/check/users"); + const data = await res.json(); + if (data.code === 0) { + isFirstRun.value = !data.data.hasUsers; + } + } catch (e) { + console.warn("检查用户状态失败", e); + } + } + + function startExpireTimer() { if (expireTimer) clearInterval(expireTimer); expireTimer = setInterval(() => { if (Date.now() >= tokenExpireTime.value) { @@ -319,9 +325,9 @@ const app = createApp({ alert("登录已超时,请重新登录"); } }, 5000); - }; + } - const loadAllData = async () => { + async function loadAllData() { const [cfg, list, running] = await Promise.all([ loadConfig(), loadProxies(), @@ -330,9 +336,9 @@ const app = createApp({ Object.assign(globalConfig, cfg); proxies.value = list; frpcRunning.value = running; - }; + } - // ===== 登录/退出 ===== + // ---- 登录 ---- const doLogin = async () => { if (!loginForm.username || !loginForm.password) { loginError.value = "请输入用户名和密码"; @@ -361,6 +367,58 @@ const app = createApp({ } }; + // ---- 注册 ---- + const doRegister = async () => { + if (registerForm.username.length < 5) { + registerError.value = "用户名至少 5 位"; + return; + } + if (registerForm.password !== registerForm.confirmPassword) { + registerError.value = "两次输入的密码不一致"; + return; + } + if (registerForm.password.length < 8) { + registerError.value = "密码至少 8 位"; + return; + } + registering.value = true; + registerError.value = ""; + try { + const res = await fetch("/api/register", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + username: registerForm.username, + password: registerForm.password, + }), + }); + const data = await res.json(); + if (data.code === 0) { + const token = data.data.token; + const expire = saveAuthState(token, registerForm.username); + token.value = token; + tokenExpireTime.value = expire; + loginForm.username = registerForm.username; + loggedIn.value = true; + transitioning.value = true; + setTimeout(async () => { + transitioning.value = false; + await loadAllData(); + setTimeout(() => { + contentVisible.value = true; + startExpireTimer(); + }, 300); + }, 500); + } else { + registerError.value = data.msg || "注册失败"; + } + } catch (e) { + registerError.value = "网络错误,请重试"; + } + registering.value = false; + }; + + // ---- 退出 ---- const doLogout = () => { if (expireTimer) clearInterval(expireTimer); contentVisible.value = false; @@ -374,7 +432,42 @@ const app = createApp({ clearAuthState(); }; - // ===== 保存配置 ===== + // ---- 修改密码 ---- + const changePassword = async () => { + passwordChangeError.value = ""; + passwordChangeSuccess.value = ""; + if (passwordChange.newPassword !== passwordChange.confirmPassword) { + passwordChangeError.value = "两次输入的密码不一致"; + return; + } + if (passwordChange.newPassword.length < 8) { + passwordChangeError.value = "密码至少 8 位"; + return; + } + try { + const res = await fetch("/api/user/password", { + method: "PUT", + headers: getHeaders(), + body: JSON.stringify({ + oldPassword: passwordChange.oldPassword, + newPassword: passwordChange.newPassword, + }), + }); + const data = await res.json(); + if (data.code === 0) { + passwordChangeSuccess.value = "密码修改成功!"; + passwordChange.oldPassword = ""; + passwordChange.newPassword = ""; + passwordChange.confirmPassword = ""; + } else { + passwordChangeError.value = data.msg || "修改失败"; + } + } catch (e) { + passwordChangeError.value = "网络错误,请重试"; + } + }; + + // ---- 保存配置 ---- const saveConfig = async () => { const result = await saveConfigApi(globalConfig); if (result.code === 0) { @@ -385,7 +478,7 @@ const app = createApp({ } }; - // ===== 隧道操作 ===== + // ---- 隧道操作 ---- const toggleProxy = async (p) => { const result = await updateProxy(p); if (result.code !== 0) { @@ -395,9 +488,7 @@ const app = createApp({ frpcRunning.value = await getFrpcStatus(); } }; - const removeProxy = async (id) => { - console.log("🔍 removeProxy 被调用, id:", id); // ← 加这行 if (!confirm("确定要删除这条隧道吗?")) return; const result = await deleteProxy(id); if (result.code === 0) { @@ -407,17 +498,15 @@ const app = createApp({ alert("删除失败: " + result.msg); } }; - const confirmDialog = async () => { const form = dialogForm.value; if (!form.name || !form.localIP || !form.localPort || !form.remotePort) { alert("请填写完整信息"); return; } - const result = - dialogMode.value === "add" - ? await createProxy(form) - : await updateProxy(form); + const result = dialogMode.value === "add" + ? await createProxy(form) + : await updateProxy(form); if (result.code === 0) { closeDialog(); proxies.value = await loadProxies(); @@ -427,11 +516,12 @@ const app = createApp({ } }; - // ===== 计算属性 ===== + // ---- 计算属性 ---- const filteredProxies = computed(() => - filterProxies(proxies.value, searchKeyword.value), + filterProxies(proxies.value, searchKeyword.value) ); + // ---- 返回 ---- return { loggedIn, loading, @@ -439,16 +529,24 @@ const app = createApp({ loginForm, doLogin, doLogout, + + isFirstRun, + registerForm, + registerError, + registering, + doRegister, + activeTab, - switchTab, globalConfig, showDetail, saveConfig, + proxies, filteredProxies, toggleProxy, removeProxy, frpcRunning, + dialogVisible, dialogMode, dialogForm, @@ -456,14 +554,21 @@ const app = createApp({ openEditDialog, closeDialog, confirmDialog, + searchKeyword, transitioning, contentVisible, + triggerImport, handleImport, exportToml, + + passwordChange, + passwordChangeError, + passwordChangeSuccess, + changePassword, }; }, }); -app.mount("#app"); +app.mount("#app"); \ No newline at end of file diff --git a/static/index.html b/static/index.html index 27708f7..81b863d 100644 --- a/static/index.html +++ b/static/index.html @@ -8,11 +8,7 @@ - - - - - + @@ -20,40 +16,86 @@
- +
- +
- + + - diff --git a/static/style-2.css b/static/style-2.css index d7afcf2..12648ff 100644 --- a/static/style-2.css +++ b/static/style-2.css @@ -97,4 +97,24 @@ color: var(--text-dim); text-align: center; margin-top: -6px; +} + +/* ---------- Logo 区域 ---------- */ +.login-logo { + display: flex; + align-items: center; + gap: 16px; + margin-bottom: 16px; +} +.login-logo .logo-text { + font-size: 20px; + font-weight: 500; + color: var(--text-primary); + letter-spacing: 2px; +} + +.login-logo svg { + width: 64px; + height: 64px; + flex-shrink: 0; } \ No newline at end of file diff --git a/static/style-3.css b/static/style-3.css index 5419d5c..9908897 100644 --- a/static/style-3.css +++ b/static/style-3.css @@ -604,4 +604,76 @@ select:disabled { .dialog-leave-from .dialog-card { transform: scale(1) translateY(0); opacity: 1; +} + +/* ---------- 账户管理区域 ---------- */ +.profile-section { + background: rgba(255, 255, 255, 0.02); + border-radius: 16px; + padding: 16px 20px; + border: 1px solid var(--border-subtle); + margin-bottom: 20px; +} +.profile-header { + display: flex; + justify-content: space-between; + align-items: center; + padding-bottom: 12px; + border-bottom: 1px solid var(--border-subtle); + margin-bottom: 12px; + color: var(--text-secondary); + font-size: 14px; +} +.profile-username { + color: var(--primary-blue); + font-weight: 500; +} +.profile-form { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + gap: 12px 16px; + align-items: end; +} +.profile-form .form-row { + display: flex; + flex-direction: column; + gap: 4px; +} +.profile-form .form-row label { + font-size: 11px; + text-transform: uppercase; + letter-spacing: 0.5px; + color: var(--text-dim); +} +.profile-form .form-row input { + padding: 8px 12px; + background: rgba(255, 255, 255, 0.04); + border: 1px solid var(--border-subtle); + border-radius: 8px; + color: #fff; + font-size: 14px; + outline: none; + transition: border-color 0.3s; +} +.profile-form .form-row input:focus { + border-color: var(--primary-blue-border); +} +.profile-form .save-btn { + grid-column: auto; + padding: 8px 20px; + margin-top: 0; + height: 40px; +} +.login-success { + color: #63e2b7; + font-size: 14px; + text-align: center; + margin-top: 4px; + min-height: 24px; +} + +.top-left svg { + width: 28px; + height: 28px; + flex-shrink: 0; } \ No newline at end of file