Skip to content

Commit 5f92ff8

Browse files
committed
Update readme
1 parent 72f8ef5 commit 5f92ff8

File tree

1 file changed

+27
-5
lines changed

1 file changed

+27
-5
lines changed

README.md

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,12 @@
44

55
`wush` is a command line tool that lets you easily transfer files and open
66
shells over a peer-to-peer wireguard connection. It's similar to
7-
[magic-wormhole](https://github.com/magic-wormhole/magic-wormhole) but doesn't
8-
require you to set up or trust a relay server for authentication.
7+
[magic-wormhole](https://github.com/magic-wormhole/magic-wormhole) but:
8+
9+
1. No requirement to set up or trust a relay server for authentication.
10+
1. Powered by Wireguard for secure, fast, and reliable connections.
11+
1. Automatic peer-to-peer connections over UDP.
12+
1. Endless possibilities; rsync, ssh, etc.
913

1014
## Basic Usage
1115

@@ -53,6 +57,8 @@ servers, instead using x25519 keys to authenticate incoming connections. Auth
5357
keys generated by `wush receive` are separated into a couple parts:
5458

5559
```text
60+
112v1RyL5KPzsbMbhT7fkEGrcfpygxtnvwjR5kMLGxDHGeLTK1BvoPqsUcjo7xyMkFn46KLTdedKuPCG5trP84mz9kx
61+
5662
+---------------------+------------------+---------------------------+----------------------------+
5763
| UDP Address (1-19B) | DERP Region (2B) | Server Public Key (32B) | Sender Private Key (32B) |
5864
+---------------------+------------------+---------------------------+----------------------------+
@@ -61,11 +67,12 @@ keys generated by `wush receive` are separated into a couple parts:
6167
```
6268

6369
Senders and receivers communicate over what we call an "overlay". An overlay
64-
runs over one of two currently implemented mediums; UDP or DERP. Each message is
65-
encrypted with the sender's private key.
70+
runs over one of two currently implemented mediums; UDP or DERP. Each message
71+
over the relay is encrypted with the sender's private key.
6672
6773
**UDP**: The receiver creates a NAT holepunch to allow senders to connect
68-
directly. Wireguard nodes are exchanged peer-to-peer.
74+
directly. Wireguard nodes are exchanged peer-to-peer. This mode will only work
75+
if the receiver doesn't have hard NAT.
6976

7077
**DERP**: The receiver connects to the closet DERP relay server. Wireguard nodes
7178
are exchanged through the relay.
@@ -74,3 +81,18 @@ In both cases auth is handled the same way. The receiver will only accept
7481
messages encrypted from the sender's private key, to the server's public key.
7582

7683
## Why create another file transfer tool?
84+
85+
Lots of great file tranfer tools exist, but they all have some limitations:
86+
87+
1. Slow speeds due to relay servers.
88+
1. Trusting a 3rd party server for authentication.
89+
1. Limited to only file transfers.
90+
91+
We sought to utilize advancements in userspace networking brought about by
92+
Tailscale to create a tool that could solve all of these problems, and provide
93+
way more functionality.
94+
95+
## Acknowledgements
96+
97+
1. [Tailscale](https://tailscale.com)
98+
1. [Wireguard-go](https://github.com/WireGuard/wireguard-go)

0 commit comments

Comments
 (0)