fix typos, re-run protoc (#686)

* fix typos in docs

* use keys in named literal

For easier grepping, and better stability.

* libplugin: regenerate with v1.36.10

592ca79999 upgraded
the dependency, but didn't actually regenerate.
This commit is contained in:
Josh Bleecher Snyder 2025-12-04 12:58:56 -08:00 committed by GitHub
parent 584aae2d3a
commit 17c0645dc6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 645 additions and 1447 deletions

View file

@ -1,6 +1,6 @@
# Contributing
Thank you for your interest in contributing to sshpiper.
Thank you for your interest in contributing to sshpiper.
Make sure you have read [README.md](README.md) before starting.
## Getting Started
@ -13,7 +13,7 @@ Make sure you have read [README.md](README.md) before starting.
### Get the code
rememeber to clone the submodules
remember to clone the submodules
```
git clone https://github.com/tg123/sshpiper
@ -42,7 +42,7 @@ more settings: <https://github.com/linuxserver/docker-openssh-server>
after you have done, attach to testrunner container:
```
docker exec -ti e2e_testrunner_1 bash
docker exec -ti e2e-testrunner-1 bash
```
then run test in `/src/e2e`
@ -57,9 +57,9 @@ go test
## Understanding how sshpiper works
### sshpiper seasoned cryto ssh lib
### sshpiper seasoned crypto ssh lib
The `crypto` folder contains the source code of the [sshpiper seasoned cryto ssh lib](./crypto/).
The `crypto` folder contains the source code of the [sshpiper seasoned crypto ssh lib](./crypto/).
It based on [crypto/ssh](https://golang.org/pkg/crypto/ssh/) and with a drop-in [sshpiper.go](./crypto/ssh/sshpiper.go) to expose all low level sshpiper required APIs.
### sshpiperd
@ -70,10 +70,10 @@ The plugins are responsible to figure out how to authenticate `downstream` and m
### plugin
The plugin is typically a grpc server that accepts requrests from `sshpiperd`.
The plugin is typically a grpc server that accepts requests from `sshpiperd`.
The proto defines in [sshpiper.proto](./proto/sshpiper.proto).
In most of the cases, the plugin connects with `sshpiperd` via `stdin/stdout`. The [ioconnn](./libplugin/ioconn/) wraps stdin/stdout to net.Conn for grpc use.
In most of the cases, the plugin connects with `sshpiperd` via `stdin/stdout`. The [ioconn](./libplugin/ioconn/) wraps stdin/stdout to net.Conn for grpc use.
`sshpiperd` also supports to create remote grpc connections to a plugin deploy in a different machine.
## Your first plugin
@ -96,8 +96,8 @@ Take `fixed` as an example:
}
```
Here means the `downstream` is sending password to `sshpiperd`. Then `sshpiperd` will call plugin's `PasswordCallback` to get the `upstream` to connect to.
The `upstream` object contains host port and auth info about how to connect to the `upstream`. you can aslo return an error to deny the connection.
Here means the `downstream` is sending password to `sshpiperd`. Then `sshpiperd` will call plugin's `PasswordCallback` to get the `upstream` to connect to.
The `upstream` object contains host port and auth info about how to connect to the `upstream`. you can also return an error to deny the connection.
### build and run the plugin
@ -112,4 +112,3 @@ you will get the executable in the current directory. say `myplugin`. start it w
```
sshpiperd /path/to/myplugin
```