Repolode
alebeck

alebeck/boring

A command-line SSH tunnel manager written in Go that lets you define, open and close port forwards from a TOML config.

Stars
1,692
Forks
57
Open issues
5
Last commit
12 days ago

What is it?

boring is a command-line tool for managing SSH tunnels. Instead of remembering long ssh -L or -D commands, you describe each tunnel once in a TOML file and then open or close them by name, glob pattern or group.

It supports local, remote and dynamic (SOCKS5) port forwarding, including Unix sockets and port ranges. Host settings are read from your existing SSH config and ssh-agent, so tunnels can reuse the aliases and identity files you already have. Tunnels reconnect automatically and send keep-alives to stay up.

The tool runs on macOS, Linux and Windows, and ships shell completions for bash, zsh and fish. It can be installed with Homebrew, downloaded as a pre-built binary, or built from source.

Key features

  • 01Local, remote and dynamic (SOCKS5) port forwarding
  • 02Reads hosts and identities from SSH config and ssh-agent
  • 03Automatic reconnection and keep-alives
  • 04Tunnels defined in a human-friendly TOML file
  • 05Open and close tunnels by name, glob pattern or group
  • 06Supports Unix sockets and runs on macOS, Linux and Windows

Use cases

  • Keeping database or internal service ports reachable through a bastion host
  • Exposing a local service to a remote server through remote forwarding
  • Routing browser or application traffic through a SOCKS5 proxy over SSH
  • Managing a set of recurring development tunnels with one command

Quick start

  1. 1

    Install with Homebrew

    brew install boring
  2. 2

    Create a TOML config file that describes your tunnels

  3. 3

    Open all configured tunnels

    boring open -a

Things to know

  • Windows users currently have to build from source.
  • The license metadata is not recognized (NOASSERTION), so check the repository's license before use.

Topics

FAQ

What is boring?
A command-line SSH tunnel manager written in Go that lets you define, open and close port forwards from a TOML config. boring is a command-line tool for managing SSH tunnels. Instead of remembering long ssh -L or -D commands, you describe each tunnel once in a TOML file and then open or close them by name, glob pattern or group.
Is boring free to use? What license does it have?
boring is open source under the Other license. Check the license terms before using it in commercial products.
Is boring still maintained?
Actively maintained. The last commit to boring was on Oct 10, 2026.
What can I use boring for?
Keeping database or internal service ports reachable through a bastion host Exposing a local service to a remote server through remote forwarding Routing browser or application traffic through a SOCKS5 proxy over SSH Managing a set of recurring development tunnels with one command
How do I install boring?
Install with Homebrew: brew install boring Create a TOML config file that describes your tunnels Open all configured tunnels: boring open -a
Where can I get boring?
The source code and installation instructions are on GitHub: https://github.com/alebeck/boring

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects