Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
tree: d316086e5a
Fetching contributors…

Cannot retrieve contributors at this time

34 lines (22 sloc) 0.696 kb

rack/tunnel

Automatic port forwading via SSH tunneling.

setup

Be sure to setup your ssh-agent for the SSH connection. If you plan on forwarding a well-known port (e.g. 80), be sure to add GatewayPorts=yes to your sshd_config file (and restart sshd!).

example

config.ru

require 'rack/tunnel'

use Rack::Tunnel, 'http://root@localhost'
run lambda {|env| [200, {'Content-Type' => 'text/plain'}, [env['X-Tunnel-Uri']]] }

rackup

% rackup config.ru -P 9292

irb

>> require 'rack/client'
=> true
>> uri = Rack::Client.new("http://localhost:9292/").get("/").body
=> <tunnel_url>
>> Rack::Client.new(uri).get('/').status
=> 200
Jump to Line
Something went wrong with that request. Please try again.