mole v0.3 releases: cli app to create ssh tunnels

Mole is a cli application to create ssh tunnels, forwarding a local port to a remote address through an ssh server.


  • Auto local address selection: find a port available and start listening to it, so the -local flag doesn’t need to be given every time you run the app.
  • Aliases: save your tunnel settings under an alias, so it can be reused later.
  • Leverage the SSH Config File: use some options (e.g. username, identity key and port), specified in $HOME/.ssh/config whenever possible, so there is no need to have the same SSH server configuration in multiple places.

Use Cases

  • Access a computer or service behind a firewall

    Mole can help you to access computers and services outside the perimeter network that are blocked by a firewall, as long as the user has ssh access to a computer with access to the target computer or service.

  • Access a service that is listening only on a local address

Changelog v0.3

  • NEW FEATURE: Windows Support! Mole now works on windows (tested on Windows 10)
  • INFRA: Using Github Actions for code quality checks (e.g. unit tests, code formatting, etc.)
  • NEW FEATURE: Support for encrypted keys. Users will be prompted to enter the key password if it detects the given key is encrypted
  • NEW FEATURE: Skip the host key validation by using the ‘-insecure’ option
  • BUGFIX: Server names can contain underscore character (#50)
  • NEW FEATURE: Run mole in background by using the ‘-detach’ option
  • BUGFIX: Always use the same ssh connection if multiple clients use the same tunnel
  • NEW FEATURE: LocalForward option from ssh config file will be used if both ‘-local’ and ‘-remote’ are absent
  • INFRA: Developers can spawn a small local infra using docker to test their changes
  • NEW FEATURE: New ‘-aliases’ option added to list all configured aliases
  • BUGFIX: Return error if required flags are missing


bash <(curl -fsSL



Copyright (c) 2018 David Pinheiro