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:
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