Proto commits in ekzhang/sshx

These 17 commits are when the Protocol Buffers files have changed:

Commit:3220a1d
Author:Chetan
Committer:GitHub

feat: Add read-only mode for terminal sessions (#104) * feat: Add read-only mode for terminal sessions - Add support for read-only viewer access via --enable-readers flag - Implement write permissions check for terminal operations - New users default to read-only when write password not provided - Add visual indicator for read-only mode in UI - Disable terminal editing and controls for read-only users * fix: format Rust code * fix: resolve Clippy warnings * fix: resolve linting and formatting issues * fix: reformat Rust code * fix: address PR feedback for read-only users - Update read-only badge styles and poistion - Use subtle instead of constant_time_eq dependency - Add constant-time comparison for encrypted_zeros - Improve write password entropy - Optimize user scope updates to avoid double broadcast - Sort cargo dependencies - format cli display properly * fix: address review feedback and add test for read/write functionality * fix: resolve frontend formatting issues * Fix type error by casting * Refactor a bit of rust code * Remove duplicate fields * API nits --------- Co-authored-by: Eric Zhang <ekzhang1@gmail.com>

The documentation is generated from this commit.

Commit:c1b3556
Author:Eric Zhang
Committer:GitHub

Add --name option, default user@hostname (#91) * Add --name option, default user@hostname This appears in the title of the browser tab. If not specified, it will default to detecting the user and hostname of your machine using OS APIs. This change is backwards-compatible and forwards-compatible between old clients and old server versions. Resolves #90 and #85. * Remove console.log() * Fix clippy issue

Commit:2f48d0d
Author:Eric Zhang
Committer:GitHub

Add network info tab with latency estimates (#16) * Design component for network info summary * Improve latency display component and give props * Backend for latency measurements

Commit:53e0055
Author:Eric Zhang
Committer:GitHub

Implement server recovery and peer routing (#15) * Add snapshot support and Redis client * Add simple snapshotting test * Server discovery, peer routing, and recovery * Add immediate persistence and inactive expiry * Decrease shell data snapshot to 32 KiB * Enable Redis TLS (a couple duplicate dependencies) * Edit background sync to respect sync_now()

Commit:0c66f12
Author:Eric Zhang

Give shells auto-placement instead of overlapping

Commit:1000348
Author:Eric Zhang

Add end-to-end encryption for inputs I'm not using AE for this as before since it's complex, but the server has been changed so that it refuses to listen to any input before the user first sends the encrypted zero block for verification that they hold the right key. So there's no risk of someone just sending / repeating random data without knowing the key. It's a minor thing anyway since we only truly care about confidentiality from a correctly-running server here and otherwise trust them to not tamper! A "zero-trust sshx" would only be relevant if you're paranoid. Resolves #13.

Commit:3f79abb
Author:Eric Zhang

Add end-to-end encryption for all terminal data Resolves #12, backwards-incompatible.

Commit:35fe17c
Author:Eric Zhang

Implement backend for winsize syncing

Commit:d048ea0
Author:Eric Zhang

Fix non-utf8 onBinary for vim mouse reporting

Commit:43960b0
Author:Eric Zhang

Refactor server state and add token authn

Commit:3844095
Author:Eric Zhang

Implement barebones client-side CLI

Commit:d5eb29f
Author:Eric Zhang

Implement the full `channel()` bi-streaming RPC

Commit:b350cf6
Author:Eric Zhang

Update protobuf to reflect failure-tolerant design

Commit:93f5c26
Author:Eric Zhang

Add basic open request with `Session` struct

Commit:a8baed3
Author:Eric Zhang

Add stubs for grpc interface

Commit:c2669cb
Author:Eric Zhang

Update protobuf naming

Commit:6633d3e
Author:Eric Zhang

Initial commit, with minimal gRPC server