Перейти к основному содержанию
Используйте Wush, когда нужен прямой peer-to-peer обмен файлами или временный shell-доступ без поднятия полноценного VPN.

Что такое Wush?

Wush — это CLI-инструмент для передачи файлов и открытия shell-сессий через peer-to-peer соединение WireGuard. Он похож на magic-wormhole, но:
  1. Не требует настройки или доверия к relay-серверу для аутентификации.
  2. Работает на базе WireGuard: безопасно, быстро и надежно.
  3. Автоматически устанавливает peer-to-peer соединение по UDP.
  4. Дает гибкость для rsync, ssh и других сценариев.

Команды

Usage: wush <subcommand> Запустить сервер Wush:
wush serve
Открыть shell к Wush-хосту:
wush ssh
Передать файлы на хост через rsync:
wush rsync local-file.txt :/path/to/remote/file
Скопировать один файл на хост:
wush cp local-file.txt
Subcommands:
CommandMeaning
cpПередача файлов.
port-forwardПроброс портов.
rsyncПередача файлов через rsync.
serveЗапуск сервера Wush.
sshОткрытие shell-сессии.
versionПоказ версии Wush.
Options:
wush --version
Показать версию и выйти.

Установка

Скачайте из GitHub Releases. Мы тестировали программу на Windows и Linux (с GUI). Для Windows: распакуйте файлы в выбранную папку и на нужный диск. Передаваемые файлы будут отправляться/приниматься оттуда. Для Linux: установите удобным для вас способом. У нас файлы отправлялись/сохранялись из домашней директории.

Как использовать

Передадим PNG-файл с одной машины на другую. В примере Windows — это host, Linux — client.
Считайте auth key секретом. Передавайте его только нужному получателю и обновляйте, начиная новую сессию.
1

Запустите сессию на хосте

Откройте CMD в папке, где лежит Wush, затем выполните:
./wush serve
wushserveСкопируйте Auth key.
2

Отправьте файл с клиента

На клиентской машине выполните:
wush cp 2.png
wushcp2.png — файл, который мы отправляем с Linux на Windows.
3

Вставьте ключ и подтвердите передачу

Вставьте ключ с хоста в консоль клиента.
Как это выглядит: wushgif

SSH

Wush также можно использовать для удаленного доступа к консоли машины. Соединение устанавливается через auth key. Для host:
wush serve
Для client:
wush ssh

Credits

Источник: GitHub Coder-Wush