mole

module
v4.1.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 10, 2017 License: MIT

README

mole

Elevator Pitch

Like 1Password for ssh tunnels and VPN connections, plus sharing within a team.

Actual Documentation

On the GitHub Wiki.

What

Mole lets you seamlessly share ssh and Cisco VPN configurations so that all you need to know is the name you want to connect to. Mole will sort out any needed passwords, keys and tunnelings and set up a bunch of forwardings for you.

It'll tell you what forwardings are available and what they point to, so you can get on with real work and not have to dig around for infrastructure information.

It's based around tunnel definitions which are self contained recipes that describe how to connect to a customer or site. A tunnel definition contains:

  • Possibly, a Cisco VPN configuration.

  • Probably, one or more host definitions (name, address, username).

  • A password or SSH key for the host. This is not optional, tunnel definitions should be able to connect without user interaction.

  • A description of how to chain the hosts together to reach the final destination, i.e. jump via host A to B, from B to C and from there to D.

  • A set of port forwarding descriptions to set up once the destination is reached, with commentary on what they're for.

The tunnel definitions live server side.

All server communication is ticket authenticated and secured by TLS.

The end result of all this is that as long as you have mole installed and someone has written a tunnel definition, you can just mole dig foobar to connect all the way and get a nice list of available port forwardings presented to you.

Building

Install gb (https://github.com/constabulary/gb)

Run ./build.sh to create the binary.

Run ./build.sh all to create the distribution packages.

License

MIT

Directories

Path Synopsis
src
mole/ansi
Package ansi provides trivial ANSI formatting of strings.
Package ansi provides trivial ANSI formatting of strings.
mole/hosts
Package hosts manages alterations to the /etc/hosts file.
Package hosts manages alterations to the /etc/hosts file.
mole/ini
Package ini provides trivial parsing of .INI format files.
Package ini provides trivial parsing of .INI format files.
mole/table
Package table formats an ASCII/ANSI table with dynamic column widths.
Package table formats an ASCII/ANSI table with dynamic column widths.
mole/ticket
Package ticket generates and verifies authentication tickets
Package ticket generates and verifies authentication tickets
mole/upgrade
Package upgrade performs automatic upgrade of the running binary.
Package upgrade performs automatic upgrade of the running binary.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL