About | Log | Files | Refs
commit 798c8cfbe9d54994b948b7680cf5b7da1660786a
parent 53ab5b4222fd3ad90ac14f38606ecc6025bae003
Author: Ben Connors <benconnors@outlook.com>
Date: Thu, 30 Jul 2026 13:09:12 -0400
Readme fix
Diffstat:
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
@@ -71,9 +71,9 @@ where the client `socat` reads from `stdin`, for use with SSH's `ProxyCommand` f
```
client SSH --A-> client socat --B-> server socat --C-> server SSH
```
-Connections `A` and `C` are both entirely reliable: `A` uses file descriptors and `C` uses TCP. Connection `B`, however, uses UDP and is not reliable. The result is that the whole connection `client SSH -> server SSH` is unreliable, yet since SSH is designed to run over TCP it has no facilities for dealing with this. At the first lost, corrupted, etc. packet the SSH session will be terminated.
+Connections A and C are both entirely reliable: A uses file descriptors and C uses TCP. Connection B, however, uses UDP and is not reliable. The result is that the whole connection `client SSH -> server SSH` is unreliable, yet since SSH is designed to run over TCP it has no facilities for dealing with this. At the first lost, corrupted, etc. packet the SSH session will be terminated.
-We fix connection `B` using SCTP-over-UDP via [sctp-echo](/cgit/sctp-echo). For the reasons described there, we require the use of [usrsctp](https://github.com/Kurento/libusrsctp) rather than the kernel implementations of SCTP.
+We fix connection B using SCTP-over-UDP via [sctp-echo](/cgit/sctp-echo). For the reasons described there, we require the use of [usrsctp](https://github.com/Kurento/libusrsctp) rather than the kernel implementations of SCTP.
The two files `ssh_holepunch_client.py` and `ssh_holepunch_server.py` implement the two sides of this. We use `ssh_holepunch_server.py` just as `udp_holepunch.py server`, except it will open a connection to the SSH server once holepunching has been established.