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

Reply via email to