Add README

This commit is contained in:
Oystein Kristoffer Tveit 2024-04-29 18:20:41 +02:00
parent 8315043967
commit 39b97c2532
Signed by: oysteikt
GPG Key ID: 9F2F7D8250F35146
1 changed files with 33 additions and 0 deletions

33
README.md Normal file
View File

@ -0,0 +1,33 @@
# woossh
This is a simple client-server tool that lets you forward your SSH connection through a web socket.
It is useful when you are behind a firewall that blocks different kind of protocols.
Most firewalls allow HTTP traffic, because web browsing is a common activity, so this should work in most cases.
## Usage
### Server
The server should be set up at the machine that you want to connect to (or proxyjump through). It will listen for incoming web socket connections and forward them to the SSH server. This can be combined with http reverse proxies, and cloud-based http proxies like the one at cloudflare.
In its simplest form, the server can be started with the following command:
```bash
wssh server
```
This will start the server with default settings, listening on 0.0.0.0. See `wssh server --help` to reference the available options and their default values.
### Client
On the client machine, you want to add `wssh` as a proxy command in your SSH configuration file. This can be done by adding the following lines to your `~/.ssh/config` file:
```bash
Host myserver
...
ProxyCommand wssh connect ws://myserver.com:2222
```
This will make SSH send all it's traffic through the web socket connection to the server. The server should then forward the traffic to the SSH server.
**Note:** Using `wss` as the protocol is technically not necessary, considering the SSH traffic within is already encrypted. But depending on what solution you are using to server your HTTP endpoints, it might be required.