Like 1Password for ssh tunnels and VPN connections, plus sharing within a team.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2018-02-17 10:13:51 +01:00
ansi Build directly with Go, support Go 1.10 2018-02-17 10:08:27 +01:00
cmd Go 1.10 tests 2018-02-17 10:13:51 +01:00
conf Build directly with Go, support Go 1.10 2018-02-17 10:08:27 +01:00
hosts Build directly with Go, support Go 1.10 2018-02-17 10:08:27 +01:00
ini Build directly with Go, support Go 1.10 2018-02-17 10:08:27 +01:00
table Build directly with Go, support Go 1.10 2018-02-17 10:08:27 +01:00
termsize Build directly with Go, support Go 1.10 2018-02-17 10:08:27 +01:00
ticket Build directly with Go, support Go 1.10 2018-02-17 10:08:27 +01:00
upgrade Build directly with Go, support Go 1.10 2018-02-17 10:08:27 +01:00
vendor Build directly with Go, support Go 1.10 2018-02-17 10:08:27 +01:00
.gitignore Update dependencies, build using gb 2016-09-13 19:56:12 +02:00
build.sh Build directly with Go, support Go 1.10 2018-02-17 10:08:27 +01:00
Gopkg.lock Build directly with Go, support Go 1.10 2018-02-17 10:08:27 +01:00
Gopkg.toml Build directly with Go, support Go 1.10 2018-02-17 10:08:27 +01:00
LICENSE (fix #58) Add license file 2013-10-03 15:38:08 +02:00
README.md Update dependencies, build using gb 2016-09-13 19:56:12 +02:00

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