[[...]] ---- Tunnelling solutions commonly used outside the Tcl world include SSH port forwarding, Zebedee, Stunnel [http://www.idg.net/go.cgi?id=739518], ... ---- See [SSL Tunnel] for a script that tunnels through web proxy servers using [tls]. ---- [SockSpy] can also be used for tunnelling. For example, I've used it to access my university's news feed machine from a remote site (the news feed machine would only accept local connections). [KPV] ---- See also * [tls] * [http] * [SSL Tunnel] * [Tunnel IRC through HTTP proxies] * [Tunnel HTTP through SMTP] ---- Another recipe, for use in establishing a tunnel into a firewalled LAN that, in principle, only allows outbound [SSH]: ssh -f -l special_user -N -g -R 6005:localhost:22 external_server Then, from the '''external_server''' prompt: ssh -p 6005 my_account@localhost This logs into '''my_account@firewalled_host'''. This should only be used under supervision and with explicit permission from the guardians of '''firewalled_host''', of course. ---- [MJ] - If you are behind a proxy that will only allow port 80 and you have a box you have shell access on, you can use the following script to forward requests on port 80 to another endpoint. set dstport 8888 set dsthost host.i.want.to.go proc transfer {src dest} { set data [read $src] if {[eof $src] || [eof $dest]} { close $src close $dest } catch { puts -nonewline $dest $data flush $dest } } proc conn {socket args} { set s [socket $::dsthost $::dstport] puts "connection $socket $args -> $s" fconfigure $s -blocking 0 -translation binary -encoding binary fconfigure $socket -blocking 0 -translation binary -encoding binary fileevent $s readable [list transfer $s $socket] fileevent $socket readable [list transfer $socket $s] } socket -server conn 80 vwait forever ---- [[Comment on OpenVPN.]] ---- [[ [Category Internet] ]]