Skip to content

Commit

Permalink
GUACAMOLE-261: Add client-side support for SPICE protocol.
Browse files Browse the repository at this point in the history
  • Loading branch information
necouchman committed Nov 29, 2023
1 parent d03da4a commit 42c8814
Show file tree
Hide file tree
Showing 3 changed files with 374 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ public class LocalEnvironment implements Environment {
private static final String[] KNOWN_PROTOCOLS = new String[] {
"kubernetes",
"rdp",
"spice",
"ssh",
"telnet",
"vnc",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,275 @@
{
"name" : "spice",
"connectionForms" : [

{
"name" : "network",
"fields" : [
{
"name" : "hostname",
"type" : "TEXT"
},
{
"name" : "port",
"type" : "NUMERIC"
},
{
"name" : "tls",
"type" : "BOOLEAN",
"options" : [ "true" ]
},
{
"name" : "tls-verify",
"type" : "ENUM",
"options" : [ "", "hostname", "pubkey", "subject" ]
},
{
"name" : "ca",
"type" : "MULTILINE"
},
{
"name" : "ca-file",
"type" : "TEXT"
},
{
"name" : "pubkey",
"type" : "MULTILINE"
},
{
"name" : "proxy",
"type" : "TEXT"
}
]
},

{
"name" : "authentication",
"fields" : [
{
"name" : "username",
"type" : "USERNAME"
},
{
"name" : "password",
"type" : "PASSWORD"
}
]
},

{
"name" : "basic-parameters",
"fields" : [
{
"name" : "server-layout",
"type" : "ENUM",
"options" : [
"",
"de-ch-qwertz",
"de-de-qwertz",
"en-gb-qwerty",
"en-us-qwerty",
"es-es-qwerty",
"es-latam-qwerty",
"failsafe",
"fr-be-azerty",
"fr-fr-azerty",
"fr-ca-qwerty",
"fr-ch-qwertz",
"hu-hu-qwertz",
"it-it-qwerty",
"ja-jp-qwerty",
"no-no-qwerty",
"pl-pl-qwerty",
"pt-br-qwerty",
"sv-se-qwerty",
"da-dk-qwerty",
"tr-tr-qwerty"
]
}
]
},

{
"name" : "display",
"fields" : [
{
"name" : "read-only",
"type" : "BOOLEAN",
"options" : [ "true" ]
},
{
"name" : "color-depth",
"type" : "ENUM",
"options" : [ "", "8", "16", "24", "32" ]
}
]
},

{
"name" : "clipboard",
"fields" : [
{
"name" : "clipboard-encoding",
"type" : "ENUM",
"options" : [ "", "ISO8859-1", "UTF-8", "UTF-16", "CP1252" ]
},
{
"name" : "disable-copy",
"type" : "BOOLEAN",
"options" : [ "true" ]
},
{
"name" : "disable-paste",
"type" : "BOOLEAN",
"options" : [ "true" ]
}
]
},

{
"name" : "audio",
"fields" : [
{
"name" : "enable-audio",
"type" : "BOOLEAN",
"options" : [ "true" ]
},
{
"name" : "enable-audio-input",
"type" : "BOOLEAN",
"options" : [ "true" ]
}
]
},

{
"name" : "file",
"fields" : [
{
"name" : "file-transfer",
"type" : "BOOLEAN",
"options" : [ "true" ]
},
{
"name" : "file-directory",
"type" : "TEXT"
},
{
"name" : "file-transfer-ro",
"type" : "BOOLEAN",
"options" : [ "true" ]
}
]
},

{
"name" : "recording",
"fields" : [
{
"name" : "recording-path",
"type" : "TEXT"
},
{
"name" : "recording-name",
"type" : "TEXT"
},
{
"name" : "recording-exclude-output",
"type" : "BOOLEAN",
"options" : [ "true" ]
},
{
"name" : "recording-exclude-mouse",
"type" : "BOOLEAN",
"options" : [ "true" ]
},
{
"name" : "recording-include-keys",
"type" : "BOOLEAN",
"options" : [ "true" ]
},
{
"name" : "create-recording-path",
"type" : "BOOLEAN",
"options" : [ "true" ]
}
]
},

{
"name" : "sftp",
"fields" : [
{
"name" : "enable-sftp",
"type" : "BOOLEAN",
"options" : [ "true" ]
},
{
"name" : "sftp-hostname",
"type" : "TEXT"
},
{
"name" : "sftp-port",
"type" : "NUMERIC"
},
{
"name" : "sftp-host-key",
"type" : "TEXT"
},
{
"name" : "sftp-username",
"type" : "USERNAME"
},
{
"name" : "sftp-password",
"type" : "PASSWORD"
},
{
"name" : "sftp-private-key",
"type" : "MULTILINE"
},
{
"name" : "sftp-passphrase",
"type" : "PASSWORD"
},
{
"name" : "sftp-root-directory",
"type" : "TEXT"
},
{
"name" : "sftp-directory",
"type" : "TEXT"
},
{
"name" : "sftp-server-alive-interval",
"type" : "NUMERIC"
},
{
"name" : "sftp-disable-download",
"type" : "BOOLEAN",
"options" : [ "true" ]
},
{
"name" : "sftp-disable-upload",
"type" : "BOOLEAN",
"options" : [ "true" ]
}
]
}

],
"sharingProfileForms" : [

{
"name" : "display",
"fields" : [
{
"name" : "read-only",
"type" : "BOOLEAN",
"options" : [ "true" ]
}
]
}

]
}
98 changes: 98 additions & 0 deletions guacamole/src/main/frontend/src/translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -712,6 +712,104 @@
"SECTION_HEADER_WOL" : "Wake-on-LAN (WoL)"

},

"PROTOCOL_SPICE" : {

"FIELD_HEADER_CA" : "CA certificates (Base64):",
"FIELD_HEADER_CA_FILE" : "Path to CA certificate(s):",
"FIELD_HEADER_CLIPBOARD_ENCODING" : "Encoding:",
"FIELD_HEADER_COLOR_DEPTH" : "Color depth:",
"FIELD_HEADER_CREATE_RECORDING_PATH" : "Automatically create recording path:",
"FIELD_HEADER_CURSOR" : "Cursor:",
"FIELD_HEADER_DISABLE_COPY" : "Disable copying from remote desktop:",
"FIELD_HEADER_DISABLE_PASTE" : "Disable pasting from client:",
"FIELD_HEADER_ENABLE_AUDIO" : "Enable audio:",
"FIELD_HEADER_ENABLE_AUDIO_INPUT" : "Enable audio input:",
"FIELD_HEADER_ENABLE_SFTP" : "Enable SFTP:",
"FIELD_HEADER_FILE_DIRECTORY" : "Directory to share:",
"FIELD_HEADER_FILE_TRANSFER" : "Enable file share:",
"FIELD_HEADER_FILE_TRANSFER_RO" : "Share directory read-only:",
"FIELD_HEADER_HOSTNAME" : "Hostname:",
"FIELD_HEADER_IGNORE_CERTIFICATES" : "Ignore server certificates:",
"FIELD_HEADER_USERNAME" : "Username:",
"FIELD_HEADER_PASSWORD" : "Password:",
"FIELD_HEADER_PORT" : "Port:",
"FIELD_HEADER_PROXY" : "Proxy server:",
"FIELD_HEADER_PUBKEY" : "Public key:",
"FIELD_HEADER_READ_ONLY" : "Read-only:",
"FIELD_HEADER_RECORDING_EXCLUDE_MOUSE" : "Exclude mouse:",
"FIELD_HEADER_RECORDING_EXCLUDE_OUTPUT" : "Exclude graphics/streams:",
"FIELD_HEADER_RECORDING_INCLUDE_KEYS" : "Include key events:",
"FIELD_HEADER_RECORDING_NAME" : "Recording name:",
"FIELD_HEADER_RECORDING_PATH" : "Recording path:",
"FIELD_HEADER_SERVER_LAYOUT" : "Keyboard layout:",
"FIELD_HEADER_SFTP_DIRECTORY" : "Default upload directory:",
"FIELD_HEADER_SFTP_DISABLE_DOWNLOAD" : "Disable file download:",
"FIELD_HEADER_SFTP_HOST_KEY" : "Public host key (Base64):",
"FIELD_HEADER_SFTP_HOSTNAME" : "Hostname:",
"FIELD_HEADER_SFTP_SERVER_ALIVE_INTERVAL" : "SFTP keepalive interval:",
"FIELD_HEADER_SFTP_PASSPHRASE" : "Passphrase:",
"FIELD_HEADER_SFTP_PASSWORD" : "Password:",
"FIELD_HEADER_SFTP_PORT" : "Port:",
"FIELD_HEADER_SFTP_PRIVATE_KEY" : "Private key:",
"FIELD_HEADER_SFTP_ROOT_DIRECTORY" : "File browser root directory:",
"FIELD_HEADER_SFTP_DISABLE_UPLOAD" : "Disable file upload:",
"FIELD_HEADER_SFTP_USERNAME" : "Username:",
"FIELD_HEADER_TLS" : "Enable TLS connection:",
"FIELD_HEADER_TLS_VERIFY" : "TLS verification mode:",

"FIELD_OPTION_COLOR_DEPTH_8" : "256 color",
"FIELD_OPTION_COLOR_DEPTH_16" : "Low color (16-bit)",
"FIELD_OPTION_COLOR_DEPTH_24" : "True color (24-bit)",
"FIELD_OPTION_COLOR_DEPTH_32" : "True color (32-bit)",
"FIELD_OPTION_COLOR_DEPTH_EMPTY" : "",

"FIELD_OPTION_CLIPBOARD_ENCODING_CP1252" : "CP1252",
"FIELD_OPTION_CLIPBOARD_ENCODING_EMPTY" : "",
"FIELD_OPTION_CLIPBOARD_ENCODING_ISO8859_1" : "ISO 8859-1",
"FIELD_OPTION_CLIPBOARD_ENCODING_UTF_8" : "UTF-8",
"FIELD_OPTION_CLIPBOARD_ENCODING_UTF_16" : "UTF-16",

"FIELD_OPTION_SERVER_LAYOUT_DE_CH_QWERTZ" : "Swiss German (Qwertz)",
"FIELD_OPTION_SERVER_LAYOUT_DE_DE_QWERTZ" : "German (Qwertz)",
"FIELD_OPTION_SERVER_LAYOUT_EMPTY" : "",
"FIELD_OPTION_SERVER_LAYOUT_EN_GB_QWERTY" : "UK English (Qwerty)",
"FIELD_OPTION_SERVER_LAYOUT_EN_US_QWERTY" : "US English (Qwerty)",
"FIELD_OPTION_SERVER_LAYOUT_ES_ES_QWERTY" : "Spanish (Qwerty)",
"FIELD_OPTION_SERVER_LAYOUT_ES_LATAM_QWERTY" : "Latin American (Qwerty)",
"FIELD_OPTION_SERVER_LAYOUT_FAILSAFE" : "Unicode",
"FIELD_OPTION_SERVER_LAYOUT_FR_BE_AZERTY" : "Belgian French (Azerty)",
"FIELD_OPTION_SERVER_LAYOUT_FR_CA_QWERTY" : "Canadian French (Qwerty)",
"FIELD_OPTION_SERVER_LAYOUT_FR_CH_QWERTZ" : "Swiss French (Qwertz)",
"FIELD_OPTION_SERVER_LAYOUT_FR_FR_AZERTY" : "French (Azerty)",
"FIELD_OPTION_SERVER_LAYOUT_HU_HU_QWERTZ" : "Hungarian (Qwertz)",
"FIELD_OPTION_SERVER_LAYOUT_IT_IT_QWERTY" : "Italian (Qwerty)",
"FIELD_OPTION_SERVER_LAYOUT_JA_JP_QWERTY" : "Japanese (Qwerty)",
"FIELD_OPTION_SERVER_LAYOUT_NO_NO_QWERTY" : "Norwegian (Qwerty)",
"FIELD_OPTION_SERVER_LAYOUT_PL_PL_QWERTY" : "Polish (Qwerty)",
"FIELD_OPTION_SERVER_LAYOUT_PT_BR_QWERTY" : "Portuguese Brazilian (Qwerty)",
"FIELD_OPTION_SERVER_LAYOUT_SV_SE_QWERTY" : "Swedish (Qwerty)",
"FIELD_OPTION_SERVER_LAYOUT_DA_DK_QWERTY" : "Danish (Qwerty)",
"FIELD_OPTION_SERVER_LAYOUT_TR_TR_QWERTY" : "Turkish-Q (Qwerty)",

"FIELD_OPTION_TLS_VERIFY_EMPTY" : "",
"FIELD_OPTION_TLS_VERIFY_HOSTNAME" : "Hostname",
"FIELD_OPTION_TLS_VERIFY_PUBKEY" : "Public key",
"FIELD_OPTION_TLS_VERIFY_SUBJECT" : "Subject",

"NAME" : "SPICE",

"SECTION_HEADER_AUDIO" : "Audio",
"SECTION_HEADER_AUTHENTICATION" : "Authentication",
"SECTION_HEADER_BASIC_PARAMETERS" : "Basic Parameters",
"SECTION_HEADER_CLIPBOARD" : "Clipboard",
"SECTION_HEADER_DISPLAY" : "Display",
"SECTION_HEADER_FILE" : "File transfer",
"SECTION_HEADER_NETWORK" : "Network",
"SECTION_HEADER_RECORDING" : "Screen Recording",
"SECTION_HEADER_SFTP" : "SFTP"

},

"PROTOCOL_SSH" : {

Expand Down

0 comments on commit 42c8814

Please sign in to comment.