Skip to content

Gnome SSH Tunnel Manager - Gtk3 Edition

License

Notifications You must be signed in to change notification settings

dallenwilson/gstm

Repository files navigation

gstm - Gnome SSH Tunnel Manager

Gtk3 Edition

This is a Gtk3 port of gstm, based on v1.2 available at: https://sourceforge.net/projects/gstm/

Dependencies on deprecated libgnome libraries have also been removed.

Usage

gSTM is a simple front-end to openssh, built to make managing port-forwarding tunnels a little bit easier. Usage and configuration should be fairly straightforward. Errors generated by ssh are caught and displayed, and an SSH_ASKPASS-compatible program (gAskpass) is provided for use with password authentication, if one is not already present and configured. See the openssh manual for details on SSH_ASKPASS.

Ensure your SSH connection is in good working order prior to setting up a new tunnel in gSTM. A good way of doing this is to run a quick test from a terminal first: you@prompt$ ssh -p portnumber username@host.

Note: The first connection to a new, previously-unseen ssh server that is configured for pubkey authentication will cause ssh to display the server key and prompt the user to accept it. This is not detectable by gSTM, and the tunnel will appear to be connected but hang indefinitely. To avoid this, check your ssh connection as described above.

Packaging & Releases
  • For Gentoo users, an ebuild is available in my layman overlay.

  • Ubuntu users (or Mint, Debian, Kali and other Debian-derived distros) can find deb packages in my launchpad ppa. If your series isn't in the list, open an issue to let me know; I don't keep up to date with Ubuntu releases.

  • ArchLinux users will find gstm in the ArchLinux User Repository

  • No rpm package is provided at this time, however users of RPM-based distributions (Red Hat, Fedora, CentOS, etc) can manually build an rpm package using the supplied spec file, see below for details.

  • For everyone else, release tarballs are available from Github.

Building from Source

If you're building from a release tarball, you'll need automake, pkg-config, gtk3, glib, libxml2, and libappindicator3 along with their associated dev packages. The configure script and makefiles are included in the tarball, so just run ./configure && make.

Building direct from the git repo, you'll need the above packages as well as autoconf (>=2.69). There is a bash script (autogen.sh) to handle the autoconf/automake work and generate the configure script and various makefiles. Run it, then the usual stuff: ./autogen.sh && ./configure && make.

Launching gstm from a desktop environment's menu system using the included gstm.desktop file will also require the util-linux package to be installed, as the setsid program is used to ensure gstm launches without any form of tty attached. A check for util-linux is handled at the packaging level, not via autoconf/automake; When building from source, it is up to you to ensure setsid is available.

Building an rpm package from a release tarball or git repo: after above steps run make dist && rpmbuild -ta gstm-VERSION.tar.gz.

Building a deb package from a release tarball or git repo: after above steps run make dist && mv gstm-VERSION.tar.gz ../gstm_VERSION.orig.tar.gz && cd .. && tar -xvf gstm_VERSION.orig.tar.gz && cd gstm-VERSION && debuild -i -us -uc.

Bugs and Issues

Bugs can be reported using GitHub's Issues tab. Before opening a new issue, try reproducing the problem after building the lastest source from the master branch. Also, take a look through the closed issues to see if it's been reported before. This is doubly important if you're using packages from the ppa; Those tend to lag a bit behind.