{"name":"wush: Fast, Secure File Transfer and Shells over WireGuard","description":"wush is a command-line tool designed for rapid and secure file transfers and shell access between computers. It leverages WireGuard for peer-to-peer connections, eliminating the need for trusted relay servers. This tool offers a robust and versatile solution for network communication.","github":"https://github.com/coder/wush","url":"https://osrepos.com/repo/coder-wush","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/coder-wush","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/coder-wush.md","json":"https://osrepos.com/repo/coder-wush.json","topics":["file-transfer","go","peer-to-peer","wireguard","cli-tool","networking","security"],"keywords":["file-transfer","go","peer-to-peer","wireguard","cli-tool","networking","security"],"stars":null,"summary":"wush is a command-line tool designed for rapid and secure file transfers and shell access between computers. It leverages WireGuard for peer-to-peer connections, eliminating the need for trusted relay servers. This tool offers a robust and versatile solution for network communication.","content":"## Introduction\n\nwush is a powerful command-line tool that simplifies transferring files and opening shells over a peer-to-peer WireGuard connection. It offers a secure, fast, and reliable alternative to traditional file transfer methods, distinguishing itself by not requiring any setup or trust in relay servers for authentication. Powered by WireGuard, wush establishes automatic peer-to-peer connections over UDP, opening up possibilities for various network operations like rsync and ssh.\n\nwush utilizes Tailscale's `tsnet` package and public DERP relays, but importantly, no Tailscale account is required to use it.\n\n## Installation\n\nInstalling wush is straightforward. You can use the provided install script or Homebrew.\n\n**Using install script:**\n\nbash\ncurl -fsSL https://github.com/coder/wush/raw/refs/heads/main/install.sh | sh\n\n\n**Using Homebrew:**\n\nbash\nbrew install wush\n\n\nFor manual installation, refer to the [latest release](https://github.com/coder/wush/releases/latest) on GitHub.\n\nTo optimize transfer speeds, wush attempts to increase the buffer size of its UDP sockets. For best performance on Linux, ensure wush has `CAP_NET_ADMIN`:\n\nbash\n# Linux only\nsudo setcap cap_net_admin=eip $(which wush)\n\n\n## Examples\n\nHere's how to get started with wush for basic file transfers and shell access.\n\n**On the host machine, start the wush server:**\n\nbash\n$ wush serve\nPicked DERP region Toronto as overlay home\nYour auth key is:\n    >  112v1RyL5KPzsbMbhT7fkEGrcfpygxtnvwjR5kMLGxDHGeLTK1BvoPqsUcjo7xyMkFn46KLTdedKuPCG5trP84mz9kx\nUse this key to authenticate other wush commands to this instance.\n\n\n**On the client machine, use the generated auth key:**\n\n**Copy a file to the host:**\n\nbash\n# Copy a file to the host\n$ wush cp 1gb.txt\nUploading \"1gb.txt\" 100% |??????????????????????????????????????????????| (2.1/2.1 GB, 376 MB/s)\n\n\n**Open a shell to the host:**\n\nbash\n# Open a shell to the host\n$ wush ssh\n? Enter the Auth key:\n? > 112v1RyL5KPzsbMbhT7fkEGrcfpygxtnvwjR5kMLGxDHGeLTK1BvoPqsUcjo7xyMkFn46KLTdedKuPCG5trP84mz9kx\ncoder@colin:~$\n\n\nYou can also watch a demonstration of wush in action:\n\n[![asciicast](https://asciinema.org/a/ZrCNiRRkeHUi5Lj3fqC3ovLqi.svg)](https://asciinema.org/a/ZrCNiRRkeHUi5Lj3fqC3ovLqi)\n\n## Why Use wush?\n\nWhile many excellent file transfer tools exist, wush addresses several common limitations:\n\n*   **Speed:** It avoids the slowdowns often associated with relay servers by establishing direct peer-to-peer connections.\n*   **Trust:** It eliminates the need to trust a third-party server for authentication, using x25519 keys for secure communication.\n*   **Versatility:** Beyond simple file transfers, wush provides a foundation for more advanced functionalities like remote shell access, thanks to its WireGuard-powered network overlay.\n\nwush leverages advancements in userspace networking to offer a tool that is not only fast and secure but also highly adaptable to various networking needs.\n\n## Links\n\n*   **GitHub Repository:** [https://github.com/coder/wush](https://github.com/coder/wush)\n*   **Go Reference:** [https://pkg.go.dev/github.com/coder/wush](https://pkg.go.dev/badge/github.com/coder/wush.svg)","metrics":{"detailViews":2,"githubClicks":5},"dates":{"published":null,"modified":"2026-04-26T19:07:09.000Z"}}