Возможно уже нашли решение. Но если вдруг нет, то вот описание
https://github.com/ridvanaltun/guacamole-rest-api-...
Чтобы не изобретать велосипед для обращения к api взял готовую библиотеку
https://gitlab.com/gacybercenter/open/guacamole-ap...
Так же наверное интересует возможность создания подключения, и прямая ссылка на него.
Приложу код на python
import guacamole
import base64
def main():
parameters = {
"port": "22",
"hostname": "ip_хоста",
"username": "username",
"password": "password",
}
session = guacamole.session("url_guacamole", "data_source", "guac_username", "guac_password")
conn = session.manage_connection(
protocol='ssh',
name='pos_test2',
parameters=parameters)
id = conn["identifier"]
strok = [f'{id}','c','data_source']
convert = '\0'.join(strok) # формируем строку со спецюсимволами
b = base64.b64encode(bytes(convert,'utf-8')) # переводми в байты и конвертируем в base64
clientid = b.decode('utf-8') #получаем чистый id с очистой от bytes
#формируем чистый url для запуска подключения
url_full = f'url_guacamole/#/client/{clientid}?token={session.token}'
print(url_full)
if __name__ == "__main__":
main()
На выходе получаете строку прямого подключения к хосту для браузера(пример):
https://guacamole_templete.ru/#/client/MTExMzQAYwBwb3N0Z3Jlc3Fs?token=24B5F3629EA2C8D9D2D37A55B5E6C6048F936EB9232FEDAFF038796E2B9C8DBA