Ad oggi sono disponibili diversi client che consentono di accedere a terminali remoti da qualsiasi postazione, Apache Guacamole svolge esattamente questa funzionalità ma presenta una peculiarità che lo differenzia da tutte le altre applicazioni dello stesso tipo. Si tratta infatti di una soluzione basata su HTML 5, è stato quindi sviluppato utilizzando unicamente tecnologie standard per il Web ed il suo client può essere utilizzato attraverso un comune brwoser!
Ad oggi Guacamole supporta tutti i protocolli standard per il controllo remoto tra cui anche VNC, RDP e SSH e può essere considerato una soluzione completa ed affidabile per il controllo remoto (sia tramite terminale che desktop remoto).
Come funziona Guacamole?
I suoi sviluppatori definiscono Guacamole un clientless remote desktop gateway, questo perché per il suo funzionamento non richiede l’installazione di alcun software lato client. Per accedere alle sue feature, infatti, sarà sufficiente disporre di un browser per la navigazione Internet!
A scanso di equivoci è bene precisare, tuttavia, che tutta l’infrastruttura è localizzata server side, quindi dovrà essere installata all’interno del terminale che si desidera controllare da remoto. Ad essere superfluo è il software client, non il server!
Guacamole Server è un applicazione Java che funge da gateway: in pratica raccoglie le istruzioni ricevute tramite TCP (attraverso l’applicazione web) e le converte – mediante il demone guacd operante in background – in istruzioni di desktop remoto senza implementare alcun protocollo specifico ma operando attraverso una serie di plugin.
Un terminale remoto 100% cloud!
Data la sua natura, Guacamole ha il vantaggio di operare interamente sul Cloud fornendo nel contempo pieno accesso ai computer remoti che si desidera controllare.
Guacamole consente l’accesso a uno o più desktop da qualsiasi postazione remota, senza dover installare nulla all’interno del dispositivo che funge da client! Scritto in JavaScript e HTML5, il componente client di Guacamole, infatti, non richiede altro che un moderno browser web per essere utilizzato.
L’utilizzo di Guacamole è consigliato, quindi, in tutte le situazioni in cui l’installazione di un client non è possibile (ad esempio perchè si utilizza un device mobile sprovvisto di software ad hoc). Impostando un server Guacamole è possibile fornire l’accesso a qualsiasi altro device connesso ad Internet, in qualsiasi parte del mondo. Anche i telefoni cellulari o tablet possono essere utilizzati, senza dover installare nulla.
Guacamole Client funziona come una vera e propria applicazione web e, come tale, sfrutta unicamente i protocolli HTTP e HTTPS. Guacamole permette di accedere alle macchine da qualsiasi luogo senza violare le politiche di sicurezza della vostra LAN (la presenza di un proxy o di un firewall aziendale non sono di ostacolo).
Un sistema espandibile
Per quanto riguarda invece l’utilizzo da parte degli sviluppatori sono disponibili delle API dedicate ad altrettanti linguaggi. Abbiamo quindi una C API denominata libguac, grazie ad essa sarà possibile sfruttare gli elementi basilari per estendere tutte le funzionalità native dell’applicazione. Nello stesso modo si potrà utilizzare guacamole-common, l’API Java del progetto con la quale operare il tunneling dei dati tra il client JavaScript offerto da guacamole-common-js e il proxy daemon nativo chiamato guacd. L’API JavaScript permette infine di interagire con le componenti relative al design.
L’architettura del progetto è modulare e chi lo desidera potrà sviluppare delle estensioni tramite guacamole-ext che è sostanzialmente un subset di interfacce per la programmazione di funzionalità a corredo, come per esempio il supporto all’autenticazione.
Una DEMO di Guacamole
Di seguito un video che mostra le potenzialità di Guacamole.
Conclusioni
Rilasciato sotto licenza Open Source (Apache License, Version 2.0.), Guacamole è giunto, nel momento in cui scriviamo, alla versione 1.20 , quindi si tratta di un applicativo stabile ed affidabile. Per maggiori informazioni su Guacamole e per scaricare l’ultima release disponibile si coinsulti il sito ufficiale del progetto Apache Guacamole.