Skip to content
This repository was archived by the owner on Oct 2, 2019. It is now read-only.

gesundheitscloud/goSTM

Repository files navigation

Status

Master branch build status Go Report Card

goSTM

This is an early MVP.

Motivation

  • port unmaintained gSTM to golang to make it work across multiple platforms
  • have quick overview of active tunnels
  • use remote configs (e.g., from github) quickly across multiple platforms
  • depless -> not even ssh itself is required
  • potentially hook up with vault to use temporary ssh key

Dev

Install andlabs/ui

Mac

go get github.com/gesundheitscloud/goSTM

Linux

There is currently a bug with the libui_linux_amd64.a file, which makes the setup slightly more compicated. Get ui via go get and libui manually (without go get):

go get github.com/andlabs/ui ## This will throw an error, but thats ok
mkdir $GOPATH/src/github.com/andlabs
cd $GOPATH/src/github.com/andlabs
git clone https://github.com/andlabs/libui
cd libui
git checkout 3.5alpha ## There is currently a bug on latest master .. See https://github.com/andlabs/ui/issues/230#issuecomment-289231075
make ## Might throw some errors, but thats fine
cp out/libui.a $GOPATH/src/github.com/andlabs/ui/libui_linux_amd64.a
cd ${GOPATH}/src/github.com/andlabs/ui/
go build

SSH config parser

The following golang ssh parser is used. ssh_config.

Documentation can be found here godoc.

SSH Tunnel

The SSH tunnel in the ssh_tunnel.go file is inspired by this gist post

The SSH tunnel is implemented like this.

  • open local port and wait for connections
  • open fork for incoming connections on the local port (ssh config 'LocalForward' bind address and port)
  • this fork opens a SSH remote connection to the ssh host (ssh config 'Hostname')
  • open a remote connection on that SSH remote connection to the target host (ssh config 'LocalForward' host and hostport)

TODOs

Here

About

Original idea from gSTM (https://sourceforge.net/projects/gstm/) ported to golang.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •