In the past, I’ve also added protocol json files mentioned in #2 into the Guacamole Home in a directory named protocols. Not sure if that’s still an appropriate method – the readProtocols() method in guacamole-ext/src/main/java/org/apache/guacamole/environment/LocalEnvironment.java suggests that might still work.
You’ll still need to handle the translations for #3. -Chris From: Nick Couchman <[email protected]> Date: Wednesday, July 6, 2022 at 2:49 PM To: [email protected] <[email protected]>, David Haukeness <[email protected]> Subject: [EXTERNAL] Re: Doc - Adding new protocols missing guacamole-client On Wed, Jul 6, 2022 at 2:30 PM David Haukeness <[email protected]<mailto:[email protected]>> wrote: Hello, I'm working through the documentation and have worked through the "adding new protocols" section that covers guacd, however there's no guidance on what/where needs to be modified on guacamole-client to get the new protocols to show up in the "Add new connection" screen, or demo the connection. Is there a resource available that explains this part somewhere? alternatively is there someone willing to offer guidance, and i'm willing to write it up and PR the manual? David, Thanks for the feedback - getting protocols to show up in the Guacamole Client menu requires three changes: 1) The protocol needs to be added to the file guacamole-ext/src/main/java/org/apache/guacamole/environment/LocalEnvironment.java: /** * Array of all known protocol names. */ private static final String[] KNOWN_PROTOCOLS = new String[] { "kubernetes", "rdp", "ssh", "telnet", "vnc", }; 2) A json file needs to be created in guacamole-ext/src/main/resources/org/apache/guacamole/protocols with the required configuration parameters (see existing protocols for examples). 3) The translation files need to be updated with the key/value pairs for translations, else the fields for the new protocol will only show the expected translation key and not the actual translation. See guacamole/src/main/frontend/src/translations/en.json for the main translation file and examples from other protocols. -Nick
