bambouville

端口转发

本地端口转发让你可以从设备上访问服务器背后的服务 —— 数据库、notebook、开发 服务器 —— 就像它们在本地一样。

添加规则

在编辑器中打开一台主机,进入转发标签。每条规则包含:

  • 本地端口 —— 你设备上的端口(必须为 1024 或更高;iOS 沙盒无法绑定更低的 端口),
  • 远程主机 —— 从 SSH 服务器看到的地址(默认 localhost),
  • 远程端口
  • 可选的标签
  • 连接时自动启动

预设涵盖了常见的那几个:jupyter 8888、postgres 5432、mysql 3306、redis 6379、 web 3000、web 8080。

同一台主机内的本地端口不能重复。对规则的修改会实时应用到已连接的主机。

主机编辑器的转发标签,其中有一条规则:本地端口 8080 转发到 localhost:18080,标签为 dev server,并带有一个启用开关。
主机编辑器转发标签中已保存的一条规则,带有它的启用开关和当前状态。

隧道页面

侧边栏中的隧道页面会汇总你所有主机上的每一条转发规则,按主机分组并显示 已连接/已断开状态。每条规则都会显示它的状态(例如“监听中 · 0 个活动连接”)、 实时的 ↑/↓ 字节计数、一个启用开关,以及一个用来在 Safari 中打开类 HTTP 端口 的按钮。

在会话内部,顶栏中的 ⇄ N 按钮会显示该主机的同一状态。

iPhone 上,可以从会话顶栏看到隧道,但规则的创建和编辑要在 iPad 上进行。

隧道页面列出一条转发规则:8080 转发到 localhost:18080,标签为 dev server,归在一台已连接的主机下,显示其监听状态并带有一个启用开关。
所有主机上的每一条规则,按主机分组,各自带有实时状态和一个开关。

使用隧道

规则一旦开始监听,就把设备上的任意应用指向 localhost:<local port> —— 用 浏览器访问开发服务器,用 Postgres 客户端访问数据库。流量会在 SSH 连接内部 传输到你的服务器,再由服务器连接到远程的 host:port。

mosh 与转发

转发规则跑在 SSH 连接上。使用 mosh 传输方式时:

  • 自动 tmux具名 tmux 启动模式会为 tmux 保留一条 SSH 侧信道,转发 可以搭载其上。
  • 自定 启动模式没有可承载转发的 SSH 连接,因此添加规则被停用 —— 请把启动 模式改为自动 tmux 或具名 tmux。

限制

  • 本地端口必须 ≥ 1024(iOS 沙盒)。
  • 每台主机不能有重复的本地端口。
  • 转发只支持本地到远程;没有远程(-R)转发。