On Sun, Dec 31, 2017 at 5:24 AM, Michael Niehren <mich...@niehren.de> wrote:
> Hi Nick, > > my intention was to administrate guacamole without using the client > interface. With an console utility you can do much more things like > - monitoring the usage in realtime (Nagios) > - automatically kill a session running longer than x minutes ... > - showing the current login's in another application > - ... > As a lifelong proponent of using the command line over GUIs whenever possible, I definitely understand the desire to have a utility that would allow this. A couple of things I would point out in this regard: - You still probably want to do this on the Guacamole Client side, not on the guacd side. guacd does not keep track of Guacamole Client usernames - the sessions are tracked by UUID - so you'd have to interface with the client, anyway, or try to determine which UUID to manipulate based on the parameters of the connection, which seems sketchy at best. - Doing this on the client side ought to be pretty straight-forward, though, because you can make use of the wonderful REST API that the web interface already uses. Everything that is done on the Guacamole Client web UI, with the exception of the tunnel itself, is handled via REST API calls that returns JSON-formatted data. So, it should be pretty easy/straightforward to create a command line utility, written in C, Python, Java, NodeJS, or even just using bash + curl, to login to the API and get the TOKEN, and then perform whatever administrative tasks you want to do, which would be pretty much anything you can do on the web side, including the things you mentioned above, but also things like user management, connection management, permissions, etc. I do really like the idea of creating a command-line utility to go along with the Guacamole Client package - maybe some of the other developers could weigh in on whether they think this would be something worth rolling into the overall Guacamole Client package, at which point we could create a JIRA issue to track the request. If you're at all familiar with REST APIs and programming languages, you could start implementing one on your own :-). -Nick