Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Automatic port forwading via SSH tunneling.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 spec
Octocat-spinner-32 Gemfile
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 rack-tunnel.gemspec
README.md

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), add GatewayPorts=yes to your sshd_config file (and restart sshd!).

The SSH tunnel will be established on the first request to the rack server.

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
>> Rack::Client.new("http://localhost:9292/").get("/").body
=> 'http://root@localhost'
>> Rack::Client.new("http://localhost/").get('/').status
=> 200

contributors

Something went wrong with that request. Please try again.