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,25 +1,60 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if [ -f /home/guacamole/tomcat/webapps/guacamole/templates.js ]; then
|
if [ -f /home/guacamole/tomcat/webapps/guacamole/templates.js ]; then
|
||||||
cat <<EOF >> /home/guacamole/tomcat/webapps/guacamole/templates.js
|
cat <<'EOF' >> /home/guacamole/tomcat/webapps/guacamole/templates.js
|
||||||
\$(window).on('load', function() {
|
$(window).on('load', function() {
|
||||||
function getHashParam(param) {
|
function getHashParam(param) {
|
||||||
var hash = window.location.hash.substr(1);
|
var hash = window.location.hash.substr(1);
|
||||||
var hashParams = new URLSearchParams(hash.split('?')[1]);
|
var hashParams = new URLSearchParams(hash.split('?')[1]);
|
||||||
return hashParams.get(param);
|
return hashParams.get(param);
|
||||||
}
|
}
|
||||||
|
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
var quickconnectValue = getHashParam('quickconnect');
|
var quickconnectValue = getHashParam('quickconnect');
|
||||||
if (quickconnectValue) {
|
if (quickconnectValue) {
|
||||||
var \$field = \$('.quickconnect-field');
|
// Extração dos componentes da URI sem decodificação completa
|
||||||
\$field.val(quickconnectValue);
|
var baseUri = quickconnectValue.split('?')[0];
|
||||||
\$field.trigger('input');
|
var queryParams = quickconnectValue.split('?')[1];
|
||||||
\$field.trigger('change');
|
|
||||||
\$('.quickconnect-button').click();
|
// 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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}, 500);
|
|
||||||
});
|
// 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
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user