mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-09-21 16:02:20 +00:00
Audited every page under docs/ against the source. Fixes for what the code actually does: - agents: the status vocabulary is idle/working/waiting/done, not running/waiting/idle; hook rows grow a separate Uninstall button; the Settings table labels read "Copilot CLI" and "Grok Build"; Copy Session ID lives in the tab's context menu, not the pane's - cli: `pane ls --all` reports the owning workspace id, not "tty7-cli"; document bare `tty7 [PATH]` as the GUI launcher it is instead of listing it as unimplemented; note `active_tab` and the `diagnostics` array; wait also defaults to $TTY7_PANE - git: the branch dropdown is a plain list with no search box and no stash-and-switch, and checkout is not a palette command; quote the diff overlay's own overflow notice rather than the sidebar's - window: the unread marker tracks a finished agent turn, not any output; rows cannot be dragged across groups; the sidebar and `tty7 tab ls` resolve labels differently; drop Toggle Commit History and Checkout to from the palette's Git group; ~/.ssh/config aliases are not palette entries - terminal: Ctrl+R dedups by command text and shows no directory; Esc does not dismiss a ghost suggestion; document Cmd+Enter - remote: GSSAPI is an ordinary Auth choice, not a managed-connection-only mechanism - fonts: Maple Mono NF CN leads the chain on Windows and Linux only; list the real per-platform defaults - settings paths: the three Links settings and per-pane history were filed under the wrong sections
62 lines
2.4 KiB
Plaintext
62 lines
2.4 KiB
Plaintext
---
|
|
title: "Port forwarding"
|
|
description: "Local, remote, and dynamic forwards — preconfigured or added mid-session."
|
|
---
|
|
|
|
## The three kinds
|
|
|
|
| | What it does |
|
|
|---|---|
|
|
| **Local** (`L`) | A port on this machine reaches a service on the remote side |
|
|
| **Remote** (`R`) | A port on the remote machine reaches a service here |
|
|
| **Dynamic** (`D`) | A SOCKS proxy on this machine, routed through the connection |
|
|
|
|
## Adding one to a profile
|
|
|
|
**Settings → SSH →** a profile **→ Port forwarding → + Add rule**. Rules saved
|
|
here open with the connection, every time.
|
|
|
|
A Local or Remote rule needs a listen port and a target; a Dynamic rule needs
|
|
only the listen port. An incomplete rule tells you so rather than being saved
|
|
half-configured.
|
|
|
|
Each rule takes an optional description — *"what it's for"* — because six months
|
|
later `8080 → 3000` explains nothing.
|
|
|
|
## Adding one mid-session
|
|
|
|
*SSH: Port Forwarding* in the command palette opens the **Forwards** panel for
|
|
the current connection. Add a rule there and it starts immediately; remove it
|
|
and it stops. These live only as long as the session unless you save them into
|
|
the profile.
|
|
|
|
<Frame caption="Placeholder — screenshot: the Forwards panel with a local and a dynamic rule">
|
|
<img src="/images/placeholder.svg" alt="The forwards panel" />
|
|
</Frame>
|
|
|
|
## The one-click shortcut
|
|
|
|
<kbd>⌘</kbd>-clicking a `localhost:PORT` link inside an SSH pane can open a
|
|
temporary forward for exactly that port and then open the browser — turn on
|
|
**Settings → Terminal → Links → Forward SSH loopback links**.
|
|
|
|
That is the right tool for "let me look at this dev server once". For something
|
|
you use every day, put it in the profile.
|
|
|
|
## Jump hosts and proxies
|
|
|
|
Multi-hop connections are configured per profile:
|
|
|
|
- **Jump host** — point at another saved profile, or use a `ProxyJump` chain
|
|
- **ProxyCommand** — an arbitrary transport command, with `%h`, `%p`, `%r`
|
|
substituted
|
|
- **SOCKS5 proxy** / **HTTP proxy** — `host:port`, under **Advanced → Proxies**
|
|
|
|
<Note>
|
|
These proxy settings are for reaching the SSH server. tty7's *own* network
|
|
traffic — update checks, release downloads, remote-server installs — uses
|
|
`http_proxy` in `config.json`, the system proxy, or the `HTTP_PROXY` family.
|
|
Programs running in a pane are unaffected either way; they inherit their proxy
|
|
from their own environment, as in any terminal.
|
|
</Note>
|