1
Some checks failed
Build Multi-Platform Binaries / build-frontend (push) Successful in 3m16s
Build Multi-Platform Binaries / build-binaries (amd64, linux, client, true) (push) Successful in 5m6s
Build Multi-Platform Binaries / build-binaries (amd64, darwin, server, false) (push) Successful in 7m56s
Build Multi-Platform Binaries / build-binaries (amd64, windows, server, true) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, client, true) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, server, true) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (arm64, darwin, server, false) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (arm64, linux, client, true) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (arm64, linux, server, true) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (arm64, windows, server, false) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (amd64, linux, server, true) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (amd64, windows, client, true) (push) Has been cancelled

This commit is contained in:
2026-01-09 22:03:50 +08:00
parent ec4fb51aaa
commit 98f633ebde
2 changed files with 10 additions and 0 deletions

View File

@@ -1317,6 +1317,14 @@ func (s *Server) pushClientInstalledPlugins(cs *ClientSession, alreadyPushed map
if err := s.InstallJSPluginToClient(cs.ID, req); err != nil {
log.Printf("[Server] Failed to restore plugin %s: %v", cp.Name, err)
} else if cp.RemotePort > 0 {
// 检查端口是否已在监听(避免重复启动)
cs.mu.Lock()
_, exists := cs.Listeners[cp.RemotePort]
cs.mu.Unlock()
if exists {
continue
}
// 安装成功后启动服务端监听器
pluginRule := protocol.ProxyRule{
Name: cp.Name,