mirror of
https://github.com/itsdave-de/dockercompose-guacamole-for-msp-remoteadmin.git
synced 2025-05-06 20:15:12 +02:00
better inject
This commit is contained in:
parent
373bfe13aa
commit
1460a9efd8
@ -1,8 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -f /home/guacamole/tomcat/webapps/guacamole/templates.js ]; then
|
||||
cat <<EOF >> /home/guacamole/tomcat/webapps/guacamole/templates.js
|
||||
\$(window).on('load', function() {
|
||||
cat <<'EOF' >> /home/guacamole/tomcat/webapps/guacamole/templates.js
|
||||
$(window).on('load', function() {
|
||||
function getHashParam(param) {
|
||||
var hash = window.location.hash.substr(1);
|
||||
var hashParams = new URLSearchParams(hash.split('?')[1]);
|
||||
@ -12,14 +12,49 @@ if [ -f /home/guacamole/tomcat/webapps/guacamole/templates.js ]; then
|
||||
setTimeout(function() {
|
||||
var quickconnectValue = getHashParam('quickconnect');
|
||||
if (quickconnectValue) {
|
||||
var \$field = \$('.quickconnect-field');
|
||||
\$field.val(quickconnectValue);
|
||||
\$field.trigger('input');
|
||||
\$field.trigger('change');
|
||||
\$('.quickconnect-button').click();
|
||||
// Extração dos componentes da URI sem decodificação completa
|
||||
var baseUri = quickconnectValue.split('?')[0];
|
||||
var queryParams = quickconnectValue.split('?')[1];
|
||||
|
||||
// Manuseio manual dos parâmetros devido a caracteres especiais
|
||||
var params = queryParams.split('&');
|
||||
var newParams = [];
|
||||
var password = '';
|
||||
|
||||
for (var i = 0; i < params.length; i++) {
|
||||
var param = params[i];
|
||||
var [key, value] = param.split('=');
|
||||
|
||||
if (key === 'password') {
|
||||
password = param.substring(param.indexOf('=') + 1);
|
||||
// Trata o restante da string como parte do password
|
||||
for (var j = i + 1; j < params.length; j++) {
|
||||
password += '&' + params[j];
|
||||
}
|
||||
break; // exit loop after password is captured
|
||||
} else {
|
||||
newParams.push(param);
|
||||
}
|
||||
}
|
||||
|
||||
// Codificar novamente apenas o campo password
|
||||
if (password) {
|
||||
var encodedPassword = encodeURIComponent(password);
|
||||
newParams.push(`password=${encodedPassword}`);
|
||||
}
|
||||
|
||||
// Construir a nova URI com o password codificado
|
||||
var formattedValue = `${baseUri}?${newParams.join('&')}`;
|
||||
|
||||
// Preencher o campo do formulário e disparar eventos
|
||||
var $field = $('.quickconnect-field');
|
||||
$field.val(formattedValue);
|
||||
$field.trigger('input');
|
||||
$field.trigger('change');
|
||||
$('.quickconnect-button').click();
|
||||
}
|
||||
}, 500);
|
||||
});
|
||||
});
|
||||
EOF
|
||||
fi
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user