djangoremote-accessguacamole

integration of a guacamole client into a django site


EDIT:
I understood that i have to use the api provided by the guacamole project, now the doubt is: how can i use in jango a java api like guacamole-common?


I would like to ask for help regarding the development of a guacamole client within a django site. Unfortunately, not being exactly an expert on the subject, I don't know if it is actually possible and looking on the internet I had no luck. With django it is possible to execute javascript code, so I believe there is a way. I have read the user manual on the Guacamole website, in particular the procedure explained in "Chapter 27. Writing your own Guacamole application" (http://guacamole.apache.org/doc/gug/writing-you-own-guacamole-app .html), however, I do not understand if it is a solution strictly achievable with the tools listed in the guide or if in some way it is possible to achieve the same thing in different environments. I have no obligations regarding the method or tools to use, so I am open to all solutions, even the most imaginative. Thanks in advance


Solution

  • It is possible. On the back-end(yellow box in the picture) you have to run guacamole itself(guacd), and a guacamole tunnel implementation. Implementations are available in different languages. The ones I know of are Java and NodeJS. If you can't find an implementation in your required language, you can create one, mapping this code 1:1 to your preferred language. After you set up the tunnel, you need to create the client application(purple box) using the guacamole front-end library, guacamole-common-js. If you dont use npm, you can use the js files as they are. Check out its documentation and the reference AngularJS implementation of the guacamole client application, created using guacamole-common-js. You can download the whole repo and search for specifics like "onclipboard". This will help you to understand how to implement your own solution. I've done all this with the guacd service and nodejs tunnel running on an ubuntu vm, the client application in react using guacamole-common-js.

    enter image description here