[X2Go-User] x2goclient and HTTP proxy

Maarten Boekhold boekhold at gmail.com
Sat May 12 18:30:27 CEST 2012


Hi all,

After a hiatus of a couple of years, I decided to try x2go again, since NX 
Client from Nomachine doesn't seem to handle an XFCE desktop very well. I 
was pleasantly surprised, x2go seems to have improved massively and works 
just beautifully. One thing I am missing however is the ability to 
establish a session through an HTTP proxy server (using HTTP CONNECT). NX 
Client 3.x does do this (but it seems it's not possible in the NX Client 
4 beta client).

I've done a little bit of research, and it looks like LIBSSH does have 
some facilities to support a "proxy command":

    ssh_options_set(my_ssh_session, SSH_OPTION_PROXYCOMMAND, "command");

"command" in this case would be something like 'corkscrew' or 
'proxytunnel'.

    http://www.agroman.net/corkscrew/
    http://proxytunnel.sourceforge.net/

What are the chances that this SSH_OPTION_PROXYCOMMAND could be integrated
into the x2go client? It looks like x2goclient is built using cygwin, and
I believe that both corkscrew as well as proxytunnel can be built on 
cygwin as well. So I wonder if the following additions to x2goclient are 
possible:

- Add the following GUI options to x2go sessions:
    - HTTP proxy host: takes hostname/ip of your HTTP proxy
    - HTTP proxy port: takes port of HTTP proxy
    - HTTP proxy username : for optional authentication
    - HTTP proxy password : for optional authentication
    - I'm not sure if corkscrew supports proxy authentication...
- On start of a session, if HTTP proxy host+port is specified, use
  ssh_options_set() with command

      corkscrew <proxy host> <proxy port> <remote host> <remote_ip>

  (I *think* you can harcode %h and %p for the remote host and remote
   ip...)
- Add corkscrew to the x2goclient distribution

I believe the licenses of x2goclient and corkscrew are compatible (both 
GPL2).

Interested in your thoughts about this.

Rgds, Maarten




More information about the x2go-user mailing list