Skip to content
Other

Wush

A command line tool for peer-to-peer file transfer and remote shell access using WireGuard.

Wush is a command line tool that lets you transfer files and open shells over a peer-to-peer WireGuard connection. It’s similar to magic-wormhole, but:

  1. No need to set up or trust a relay server for authentication.
  2. Powered by WireGuard for secure, fast, and reliable connections.
  3. Automatic peer-to-peer connections over UDP.
  4. Endless possibilities with rsync, ssh, and more.

Usage:

wush <subcommand>

Start the wush server:

Окно терминала
wush serve

Open a shell to the wush host:

Окно терминала
wush ssh

Transfer files to the wush host using rsync:

Окно терминала
wush rsync local-file.txt :/path/to/remote/file

Copy a single file to the host:

Окно терминала
wush cp local-file.txt

Subcommands:

Command Meaning
cp Transfer files.
port-forward Forward ports.
rsync Transfer files over rsync.
serve Run the wush server.
ssh Open a shell.
version Show wush version.

Options:

Окно терминала
wush --version

Print the version and exit.

Download from GitHub Releases.

We tested the program using machines running Windows and Linux (with a GUI).

For Windows, extract files to a folder and drive of your choice. Transferred files will be sent to/from there.

On Linux, install it using your preferred method. Files (for us) were saved/sent to/from the home directory.

Now let’s transfer a PNG file from one machine to another. In this example, Windows acts as the host and Linux is the client.

  1. Open CMD from the folder where Wush is located, then run:

    Окно терминала
    ./wush serve

    wushserve

  2. Copy the Auth key.

  3. On the client machine, run:

    Окно терминала
    wush cp 2.png

    wushcp

  4. 2.png is the file we want to send from Linux to Windows.

  5. Paste the key from the host machine into the client console.

How it looks:

wushgif

You can also use Wush for remote access to a machine’s console.

The connection is established with an auth key.

For host:

Окно терминала
wush serve

For client:

Окно терминала
wush ssh

Source: GitHub Coder-Wush