HTTP tunnelling?

Posted by Erikarn on Tue 20 Jul 2004 09:26 AM — 8 posts, 32,645 views.

#0
Hi there,

I have a few friends who are stuck behind reasonably restrictive university firewalls. The only way I can get them out is via tunneling telnet through HTTP CONNECT.

Would it be possible to support this kind of thing as a tunneling option under mushclient? All you'd need is a proxy server and a port number - you can then use HTTP CONNECT to connect to their specified host and port. After the initial connection (and HTTP status reply) the socket will just look like a normal telnet connection.

Thanks!
Greece #1
I don't know exactly how tunneling works, but since MUclient already supports proxies, couldn't you connect to the proxy and use the HTTP CONNECT command when you first log on?
USA #2
Thats what I initially thought, but I THINK an HTTP proxy wouldnt be compatible with a SOCKS (4 or 5) proxy, which is what MC has support for. Or at least, my two google searches, and subsequent couple pages didnt lead me to strongly support it. But I didnt find any definitive "no" either. Wasnt really looking too dilligently though.
Was hoping Nick would chime in with a definitive answer.

However, Erikarn, you CAN use a socks proxy, if the Uni allows that. Or rather, doesnt disallow it, through oversight or whatnot.
Amended on Fri 23 Jul 2004 09:29 AM by Flannel
#3
I asked about a HTTP proxy to tunnel through because they specifically disallow (a) nat, and (b) SOCKS.

So it'd be something that would have to be added to the client.
I've been searching for windows software which would let me tunnel an IP/port through a HTTP proxy (ie, binds to a local port, then tunnels any connections to that through a HTTP proxy to a remote IP/port) but so far nothing useful has turned up.
USA #4
Considered connecting via ssh?
Australia Forum Administrator #5
I'm not sure an HTTP proxy will necessarily help. I think there were earlier messages about this on the forum, try searching.

I think the problem is that HTTP tends to be stateless. ie. when you request a web page it is like this:

1. Make connection to server
2. Send GET (page) eg. GET /blah/index.html
3. Receive response (web page)
4. Drop connection (server drops connection)

Now if the proxy server they have set up (and they will probably have one) does that, then you would only get one line through the MUD before the proxy server dropped the connection.

USA #6
HTTP tends to be stateless-- but it doesn't have to be. You can have a keepalive connection even with normal webpages, but HTTP-Connect, if I have my information correct, isn't a webpage at all and is, by definition, a long running connection.

When you issue the CONNECT command to the server, it makes a connection, returns a header, then just streams the socket information back and forth, maintaining the connection the whole time.

I believe.
Australia Forum Administrator #7
Can't you push out the CONNECT <blah> sequence from MUSHclient in the "on connect" box to establish the connection? Or does it need to interpret HTTP headers? I would have thought there was a stand-alone program you can use as an intermediary, in the same way you can use a separate program for SSH connections.