Add cloudflare tunnel bastion and socks special services

This commit is contained in:
世界
2026-03-24 12:23:08 +08:00
parent 71c7a585ef
commit 4579ca9ecc
4 changed files with 505 additions and 0 deletions

View File

@@ -220,6 +220,22 @@ func (i *Inbound) handleHTTPService(ctx context.Context, stream io.ReadWriteClos
} else {
i.handleDirectWebSocketStream(ctx, stream, respWriter, request, metadata, service)
}
case ResolvedServiceBastion:
if request.Type != ConnectionTypeWebsocket {
err := E.New("bastion service requires websocket request type")
i.logger.ErrorContext(ctx, err)
respWriter.WriteResponse(err, nil)
return
}
i.handleBastionStream(ctx, stream, respWriter, request, metadata)
case ResolvedServiceSocksProxy:
if request.Type != ConnectionTypeWebsocket {
err := E.New("socks-proxy service requires websocket request type")
i.logger.ErrorContext(ctx, err)
respWriter.WriteResponse(err, nil)
return
}
i.handleSocksProxyStream(ctx, stream, respWriter, request, metadata)
default:
err := E.New("unsupported service kind for HTTP/WebSocket request")
i.logger.ErrorContext(ctx, err)