Skip to main content

A utility for SSH tunneling between remote developers.

Project description

relay
========

Magical SSH tunnels for remote developers behind firewalls.

Currently allows for sharing SSH connections (for collaborating in tmux+vim) and for sharing local development webservers.

Install
--------

```
sudo pip install git+https://github.com/nprapps/relay.git
```

General setup
-------------

*nprapps users see the next section*

Relay uses a configuration file located at `~/.relay.conf`. Create this file with contents such as:

```
[relay]
user = ubuntu
server = relay_server.your_domain.com
private_key = /path/to/your/private_key
public_key = /path/to/your/public_key.pub
pair_user = relay
ports_json = /path/to/your/ports.json
```

`ports.json` is a mapping of user's local ports to remote ports on the server, so that users will never collide when creating SSH tunnels. Create this file with contents such as:

```
{
"chris": {
"22": "2222",
"8000": "8000"
},
"katie": {
"22": "2223",
"8000": "8001"
},
}
```

You then need to create a `pairprogrammer` user. This process is automated:

```
relay setup
```

NPRApps setup
-----------------

Pre-baked configuration files are in our Dropbox folder. You must have Dropbox installed, syncing to `~/Dropbox` and the `nprapps` shared folder synced to your local computer.

```
ln -s ~/Dropbox/nprapps/relay/relay.conf ~/.relay.conf
relay setup
```

Sharing SSH
------------------

To share your SSH connection (for tmux'ing), open a new terminal (or tab or tmux pane):

```
relay user:$USER share:22
```

Where `$USER` is your username in `ports.json`.

To connect to a shared SSH connection:

```
relay user:$USER ssh
```

Where `$USER` is the username in `ports.json` of the user sharing the connection.

Sharing development webserver
-----------------------------

To share your local development webserver, open a new terminal (or tab or tmux pane):

```
relay user:$USER share:8000
```

Where `$USER` is your username in `ports.json`.

To connect open a shared webserver in your browser:

```
relay user:$USER web
```

Where `$USER` is the username in `ports.json` of the user sharing the webserver.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

relay-0.0.1.tar.gz (3.0 kB view details)

Uploaded Source

File details

Details for the file relay-0.0.1.tar.gz.

File metadata

  • Download URL: relay-0.0.1.tar.gz
  • Upload date:
  • Size: 3.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for relay-0.0.1.tar.gz
Algorithm Hash digest
SHA256 9c8a208405a90577b823115a65e32cfabffaca2ab83d25cce9ded3dde07d2b17
MD5 bf05e904de45dde925a06ffcd8f2ea8e
BLAKE2b-256 22b2aea317f39aabbc73c710f80beeb49d11d715e0276ed627d973862de23c83

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page