1
1
mirror of https://github.com/wez/wezterm.git synced 2024-08-16 17:50:28 +03:00
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Go to file
Wez Furlong 6b93ee19e7
mux: record client ssh_auth_sock information
This commit expands the set of data that we track for each client to
include the SSH_AUTH_SOCK. This defaults to the value of that env var on
the machine where the ClientId is constructed, which may be remote from
the mux server.

For the proxy scenario, a remote SSH_AUTH_SOCK path is not addressable,
and what we really want is the local SSH_AUTH_SOCK path from that SSH
session, so we introduce awareness of whether the current session is a
proxy session. Proxy sessions register the mux-local-proxy-id during the
setup of the proxy, but we don't apply the identity to the mux. Instead,
we wait for the remote client to send their identity and that is
annotate to show that it has been routed via a proxy and, crucially, has
the SSH_AUTH_SOCK replaced with the mux-local-proxy-id SSH_AUTH_SOCK.

```
; wezterm cli list-clients
USER HOST                          PID CONNECTED     IDLE         WORKSPACE FOCUS SSH_AUTH_SOCK
wez  foo                        336500 86.944834352s 944.834352ms default       3 /home/wez/.1password/agent.sock
wez  foo (via proxy pid 337457) 337314 1.944834352s  944.834352ms               4 /tmp/ssh-XXXXTfGSp7/agent.337456
```

For the SSH_AUTH_SOCK to be populated, ssh agent forwarding also needs
to be enabled for SSH exec() calls; previously it was enabled only for
pty channels.

Since this commit changes the ABI of the mux protocol, the codec
version has been bumped.
2024-05-09 07:45:19 -07:00
.cargo rename .cargo/config -> .cargo/config.toml 2024-05-04 15:34:47 -07:00
.copr copr: more grubbing around 2023-10-02 16:35:42 -07:00
.github ci: another attempt at fixing up windows path 2024-04-05 18:09:10 -07:00
assets windows: update bundled conpty 2024-02-10 16:50:08 -07:00
async_ossl Raise minimum Rust version to 1.51, de-vendor openssl on unix 2021-03-25 09:43:50 -07:00
base91 dyn everywhere 2019-06-08 21:28:11 -07:00
bidi bidi: prep for crates.io update 2024-01-27 12:18:17 -07:00
bintree Add SplitPane assignment 2022-05-21 21:09:11 -07:00
ci sync-color-schemes: fix mis-parse of color schemes 2024-05-04 22:01:00 -07:00
codec mux: record client ssh_auth_sock information 2024-05-09 07:45:19 -07:00
color-types color-types: prep for crates.io publish 2024-01-27 12:16:47 -07:00
config mux: ssh: add override_proxy_command to SshDomain 2024-05-08 15:32:38 -07:00
deps deps: update harfbuzz to 8.4.0 2024-05-05 14:26:46 -07:00
docs docs: changelog for https://github.com/wez/wezterm/pull/5345 2024-05-08 08:14:13 -07:00
env-bootstrap ringlog: suppress tracing, zbus INFO logs 2024-05-05 14:07:08 -07:00
filedescriptor Image decoding is now done in a bg thread 2023-03-17 11:41:20 -07:00
frecency remove transitive dep on time 0.1 2023-04-18 13:53:59 -07:00
lfucache [PATCH] Fix various cargo audit errors 2024-05-04 22:47:57 -07:00
licenses macOS: bundle and use MetalANGLE to enable Metal rendering 2020-10-17 09:34:01 -07:00
lua-api-crates update image to 0.25 2024-05-05 16:14:46 -07:00
luahelper ValuePrinter: improve array style table detection 2023-12-02 08:05:47 -07:00
mux mux: record client ssh_auth_sock information 2024-05-09 07:45:19 -07:00
nix chore: Fix Nix build after recent dependencies updates 2024-05-05 07:04:47 -07:00
procinfo fix linux divine_process_list 2024-02-12 07:38:05 -07:00
promise fix(clippy): Remove closures where possible 2023-03-19 08:41:38 -07:00
pty add PSUEDOCONSOLE_INHERIT_CURSOR as a flag 2024-05-05 14:17:24 -07:00
rangeset deps: update criterion 2024-05-04 16:59:45 -07:00
ratelim ratelimit: remove indirect dep on quanta 2023-04-08 15:47:34 -07:00
strip-ansi-escapes deps: update to clap 4 2022-10-04 08:55:31 -07:00
sync-color-schemes sync-color-schemes: fix mis-parse of color schemes 2024-05-04 22:01:00 -07:00
tabout fixup images with the multiplexer 2023-03-23 21:43:28 -07:00
term update image to 0.25 2024-05-05 16:14:46 -07:00
termwiz update image to 0.25 2024-05-05 16:14:46 -07:00
test-data fix kitty image protocol display parameters 2024-01-28 07:59:13 -07:00
umask fix(clippy): Remove unnecessary clone/to_string calls 2023-03-16 07:40:12 -07:00
vtparse [PATCH] Fix various cargo audit errors 2024-05-04 22:47:57 -07:00
wezterm mux: record client ssh_auth_sock information 2024-05-09 07:45:19 -07:00
wezterm-blob-leases wezterm-blob-leases: prep for crates.io publish 2024-01-27 12:11:08 -07:00
wezterm-client mux: record client ssh_auth_sock information 2024-05-09 07:45:19 -07:00
wezterm-dynamic wezterm-dynamic: bump version of crates.io publish 2024-01-27 12:09:16 -07:00
wezterm-font update image to 0.25 2024-05-05 16:14:46 -07:00
wezterm-gui update image to 0.25 2024-05-05 16:14:46 -07:00
wezterm-gui-subcommands Mention the -e aliases explicitly in the help 2024-02-03 10:36:07 -07:00
wezterm-input-types wezterm-input-types: prep for crates.io publish 2024-01-27 12:13:39 -07:00
wezterm-mux-server fix some warnings with newer rust 2024-04-28 19:54:54 -07:00
wezterm-mux-server-impl mux: record client ssh_auth_sock information 2024-05-09 07:45:19 -07:00
wezterm-open-url remove open dependency 2023-03-19 13:12:20 -07:00
wezterm-ssh mux: record client ssh_auth_sock information 2024-05-09 07:45:19 -07:00
wezterm-toast-notification fix some warnings with newer rust 2024-04-28 19:54:54 -07:00
wezterm-version update deps, in particular git2 2024-02-18 13:38:04 -07:00
window Handle missing data device manager more gracefully 2024-05-06 14:52:55 -07:00
.cirrus.yml cirrus: upload arm debs as well 2024-01-10 16:05:52 -07:00
.dockerignore ci: switch mkdocs build to docker version 2024-02-03 08:06:55 -07:00
.gitignore docs: changelog for #4969 2024-02-08 09:02:11 -07:00
.gitmodules repoint to my freetype mirror 2021-02-03 21:56:30 -08:00
.mailmap add .mailmap 2022-12-07 12:09:06 -08:00
.rustfmt.toml encoding my preferred import grouping in the rustfmt config 2022-01-17 13:50:51 -07:00
Cargo.lock Wire up agent forward for libssh backend (#5345) 2024-05-08 08:09:07 -07:00
Cargo.toml deps: update xcb 2024-01-23 17:12:16 -07:00
CONTRIBUTING.md Contribute docs update (#4326) 2023-09-21 17:52:26 -07:00
get-deps Remove rust as dependency for Arch 2024-02-21 07:54:52 -07:00
LICENSE.md Bundle Symbols Nerd Font Mono 2022-01-16 16:04:35 -07:00
mkdocs_macros.py make the default front_end=WebGpu 2023-04-17 18:00:51 -07:00
PRIVACY.md Add PRIVACY policy/statement 2023-08-17 08:59:53 -07:00
README-DISTRO-MAINTAINER.md fonts: remove last resort font 2022-09-15 08:23:58 -07:00
README.md Expand sponsor section of readme 2023-04-02 23:37:54 -07:00

Wez's Terminal

WezTerm Icon A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust

User facing docs and guide at: https://wezfurlong.org/wezterm/

Screenshot

Screenshot of wezterm on macOS, running vim

Installation

https://wezfurlong.org/wezterm/installation

Getting help

This is a spare time project, so please bear with me. There are a couple of channels for support:

  • You can use the GitHub issue tracker to see if someone else has a similar issue, or to file a new one.
  • Start or join a thread in our GitHub Discussions; if you have general questions or want to chat with other wezterm users, you're welcome here!
  • There is a Matrix room via Element.io for (potentially!) real time discussions.

The GitHub Discussions and Element/Gitter rooms are better suited for questions than bug reports, but don't be afraid to use whichever you are most comfortable using and we'll work it out.

Supporting the Project

If you use and like WezTerm, please consider sponsoring it: your support helps to cover the fees required to maintain the project and to validate the time spent working on it!

Read more about sponsoring.