There was a task: get remote control of a computer from anywhere, where u haven’t any instruments, and where any ports are closed, except 80.
I found a Guacamole project. Support SSH, Telnet, RDP and VNC. Also support sound.
Contains 2 parts: daemon, web-client.
First, downloading daemon sources (guacamole-server, now it is 0.9.5 version) from the site. After you should install dependencies for supporting protocols, I need only vnc so:
Configure and compile it:
Client. I have Tomcat server, so I downloaded WAR and just deployed it. For the client there are two config files: guacamole.properties, user-mapping.xml.
They can locate or in /etc/guacamole/, or in /home/
guacd-* - need for connecting to your daemon (guacd), default it is localhost and 4822 port.
auth-provider: BasicFileAuthenticationProvider - simple authentication based on a file, Guacamole also support LDAP and MySQL authentication, but it no needed for me.
It’s support md5 hashing, but if you want you can disable it, just remove “encoding” attribute and place plain password to “password” attribute. You can create many connections for users.
I hope it helps someone, but actually it is very easy configuration. More you can find in official documentation.
UPD: Forget about VNC server. I am using x11vnc server. Which show real display (display :0). You can write a config ~/.x11vncrc:
Or start server with all these parameters:
Result will be the same.
UPD2: Suddenly, I have found Guacamole menu by Ctrl + Alt + Shift, in this menu you have clipboard, uploading files, and virtual keyboard (sometimes it is very usefull, because x11vnc work not properly, and some keys on the keybard just do not working).