Easily and securely send things from one computer to another
GitHub RepoImpressions1.7k

Easily and securely send things from one computer to another

@githubprojectsPost Author

Project Description

View on GitHub

Croc: The Easiest Way to Send Files Between Computers

Ever needed to send a file to someone and immediately started a mental debate? Email has size limits. Google Drive requires accounts and uploads. USB drives mean getting up. For developers, it's even more common: you need to move a log file from a server, send a build artifact to a teammate, or grab a config from your local machine to a remote one. You just want it to work, without the ceremony.

That's where croc comes in. It's a command-line tool built on the simple, powerful idea that transferring data should be as easy as running a single command on both ends. No setup, no accounts, just a secure, direct line from point A to point B.

What It Does

In a nutshell, croc lets you send files or folders from one computer to another using a secure, peer-to-peer connection. You run croc send on the machine with the file, it gives you a magic code phrase, and then you (or your colleague) run croc receive <code> on the destination machine. That's it. The transfer happens directly between the two computers when possible, falling back to a relay only if necessary.

Why It's Cool

The beauty of croc is in its straightforward design and clever features:

  • Zero Configuration: There's nothing to set up. Install it and you're ready to go. It "just works" on your local network and across the internet.
  • Secure by Default: All transfers are encrypted end-to-end using PAKE (Password-Authenticated Key Exchange). The code phrase you share is the key; no one intercepting it can decrypt the data.
  • Resumable Transfers: Got a flaky connection on a huge file? No problem. You can resume an interrupted transfer, which is a lifesaver.
  • Platform Agnostic: It works on Windows, macOS, Linux, and even Android. Sending a file from your Linux server to a Windows laptop is the same simple command.
  • It's Just a Single Binary: No dependencies, no runtime. It's a Go project, compiled down to a single, portable binary you can drop anywhere.

It essentially gives you the ease of a one-time AirDrop or Nearby Share, but for any two computers that can talk to each other, all from your terminal.

How to Try It

Getting started takes about a minute. The easiest way is to use the install script:

curl https://getcroc.schollz.com | bash

On macOS, you can also use Homebrew:

brew install croc

For other platforms (Windows, Linux packages), check the official installation instructions.

Once installed, sending a file is as simple as:

# On the sender's machine
croc send my-cool-project.zip

It will generate a code phrase like board-fish-guitar. Then, on the receiver's machine:

# On the receiver's machine
croc receive board-fish-guitar

And the transfer begins. It's that easy.

Final Thoughts

In a world of overly complex SaaS solutions, croc is a refreshingly simple tool that solves a specific, common problem exceptionally well. As a developer, I find myself reaching for it constantly: to pull a file from a headless Raspberry Pi, to send a quick screenshot to a coworker without leaving the terminal, or to move data between my desktop and laptop. It removes the friction from a task that shouldn't have any. If you live in the command line and ever need to move data around, croc deserves a spot in your toolkit.


Find more useful developer tools and projects at @githubprojects.

Back to Projects
Project ID: d425db18-8e9c-4af7-a3c4-af9582244f30Last updated: December 18, 2025 at 01:25 PM