Hi,

We would like to use the RDP drive redirection capability of Guacamole. We
do not use the full web application, we've built a (relatively) simple web
application around Guacamole-Common, so we don't have the this
capability built-in. In the Guacamole web application, the upload/download
of files involve a separate HTTP call to a service which intercepts the
connection tunnel and sends the data to the server on behalf of the client
and vice versa. We could do something similar, but it introduces some
challenges (which are mostly related to the specific way we use Guacamole).
We thought of a different approach, instead of a separate HTTP call and the
stream interception, we would do everything on the client side using
JavaScript. For example, to upload a file, we would use the FileReader API
to read parts of the file and send it directly as blob instructions from
the client. To download a file, we would send the first ack from the
client, then receive the blob instructions from the server, and use the
StreamSaver library to create a download stream. We have already managed to
upload files successfully that way, but the latency is bad.

My first question is regarding our approach in general, do you see any
issues with it? What was the main reason for implementing upload and
download with the stream interception mechanism?

The second question is regarding the latency. Guacamole instructions are
limited to 8192 bytes, which means that for large files we would have a
huge amount requests and responses, which really affects the total latency.
Is increasing the 8192 limit an option? Or will it causes more problems?
Any other ideas to overcome this issue?

Thanks,
Gabriel

Reply via email to