Repolode
alebeck

alebeck/boring

一个用 Go 编写的命令行 SSH 隧道管理工具,通过 TOML 配置文件统一管理端口转发。

Star
1,692
Fork
57
未关闭 Issue
5
最近提交
12天前

这是什么?

boring 是一个管理 SSH 隧道的命令行工具。你只需在 TOML 文件中定义一次隧道,之后就能按名称、通配符或分组来开启或关闭它们,不必再记忆冗长的 ssh -L 或 -D 命令。

它支持本地转发、远程转发和动态(SOCKS5)端口转发,也支持 Unix socket 和端口范围。主机配置会直接读取你已有的 SSH config 和 ssh-agent,可以复用现成的主机别名与密钥文件。隧道断开后会自动重连,并通过 keep-alive 保持连接。

该工具支持 macOS、Linux 和 Windows,并提供 bash、zsh、fish 的命令补全。可以通过 Homebrew 安装、下载预编译二进制文件,或从源码构建。

核心功能

  • 01支持本地、远程和动态(SOCKS5)端口转发
  • 02直接读取 SSH config 和 ssh-agent 中的主机与密钥配置
  • 03断线自动重连并支持 keep-alive
  • 04使用易读的 TOML 文件定义隧道
  • 05可按名称、通配符或分组批量开启与关闭隧道
  • 06支持 Unix socket,可在 macOS、Linux 和 Windows 上运行

适用场景

  • 通过跳板机持续访问数据库或内网服务端口
  • 利用远程转发把本地服务暴露给远程服务器
  • 通过 SSH 建立的 SOCKS5 代理转发浏览器或应用流量
  • 用一条命令批量管理日常开发所需的多个隧道

快速上手

  1. 1

    使用 Homebrew 安装

    brew install boring
  2. 2

    创建描述隧道的 TOML 配置文件

  3. 3

    打开所有已配置的隧道

    boring open -a

使用前须知

  • Windows 用户目前需要从源代码构建。
  • 许可证元数据无法识别(NOASSERTION),使用前请自行核实仓库的许可证。

标签

常见问题

boring 是什么?
一个用 Go 编写的命令行 SSH 隧道管理工具,通过 TOML 配置文件统一管理端口转发。 boring 是一个管理 SSH 隧道的命令行工具。你只需在 TOML 文件中定义一次隧道,之后就能按名称、通配符或分组来开启或关闭它们,不必再记忆冗长的 ssh -L 或 -D 命令。
boring 可以免费使用吗?用的什么许可证?
boring 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
boring 还在维护吗?
活跃维护中。boring 最近一次提交是在 2026年10月10日。
boring 适合用来做什么?
通过跳板机持续访问数据库或内网服务端口 利用远程转发把本地服务暴露给远程服务器 通过 SSH 建立的 SOCKS5 代理转发浏览器或应用流量 用一条命令批量管理日常开发所需的多个隧道
boring 怎么安装和运行?
使用 Homebrew 安装: brew install boring 创建描述隧道的 TOML 配置文件 打开所有已配置的隧道: boring open -a
在哪里获取 boring?
源代码和安装说明在 GitHub 上:https://github.com/alebeck/boring

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目