quicssh
:smile: quicssh is a QUIC proxy that allows to use QUIC to connect to an SSH server without needing to patch the client or the server.
Architecture
Standard SSH connection
┌───────────────────────────────────────┐ ┌───────────────────────┐
│ bob │ │ wopr │
│ ┌───────────────────────────────────┐ │ │ ┌───────────────────┐ │
│ │ ssh user@wopr │─┼────tcp──────┼▶│ sshd │ │
│ └───────────────────────────────────┘ │ │ └───────────────────┘ │
└───────────────────────────────────────┘ └───────────────────────┘---
SSH Connection proxified with QUIC
┌───────────────────────────────────────┐ ┌───────────────────────┐
│ bob │ │ wopr │
│ ┌───────────────────────────────────┐ │ │ ┌───────────────────┐ │
│ │ssh -o ProxyCommand "quicssh client│ │ │ │ sshd │ │
│ │ --addr %h:4545" user@wopr │ │ │ └───────────────────┘ │
│ │ │ │ │ ▲ │
│ └───────────────────────────────────┘ │ │ │ │
│ │ │ │ │ │
│ process │ │ tcp to localhost:22 │
│ │ │ │ │ │
│ ▼ │ │ │ │
│ ┌───────────────────────────────────┐ │ │┌─────────────────────┐││ └───────────────────────────────────┘ │ │└─────────────────────┘│ └───────────────────────────────────────┘ └───────────────────────┘
## Usage
$ quicssh -h NAME: quicssh - A new cli application
USAGE: quicssh [global options] command [command options] [arguments...]
VERSION: 0.0.0
COMMANDS: server client help, h Shows a list of commands or help for one command
GLOBAL OPTIONS: --help, -h show help (default: false) --version, -v print the version (default: false)
### Client
$ quicssh client -h NAME: quicssh client -
USAGE: quicssh client [command options] [arguments...]