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,

View File

@@ -399,8 +399,10 @@ func (p *JSPlugin) httpServe(conn net.Conn, handler goja.Callable) {
buf := make([]byte, 4096)
n, err := conn.Read(buf)
if err != nil {
fmt.Printf("[JS:%s] httpServe read error: %v\n", p.name, err)
return
}
fmt.Printf("[JS:%s] httpServe read %d bytes\n", p.name, n)
req := parseHTTPRequest(buf[:n])