explaingit

schollz/croc

Analysis updated 2026-06-20

34,935GoAudience · developerComplexity · 2/5Setup · easy

TLDR

Croc lets you securely send files or folders from one computer to another using a short code phrase, with end-to-end encryption and no cloud storage, firewall configuration, or server setup required.

Mindmap

mindmap
  root((repo))
    What it does
      File transfer
      End-to-end encrypted
    How it works
      Code phrase
      Relay server
      PAKE encryption
    Features
      Resume transfers
      Send folders
      Pipe data
      QR code support
    Platforms
      macOS
      Windows
      Linux
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Send a large file or folder from your laptop to a friend's computer on a different network using just a code phrase

USE CASE 2

Transfer files to a remote server securely without setting up SSH keys or opening firewall ports

USE CASE 3

Resume an interrupted large file transfer automatically without restarting from the beginning

USE CASE 4

Pipe command output directly to another computer over the network instead of writing it to a file first

What is it built with?

Go

How does it compare?

schollz/crocaquasecurity/trivyunknwon/the-way-to-go_zh_cn
Stars34,93534,87335,105
LanguageGoGoGo
Setup difficultyeasyeasyeasy
Complexity2/53/51/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

In plain English

Croc is a command-line tool that lets you send files or folders from one computer to another quickly and securely, no matter what operating system either machine is running. The core problem it solves is the hassle of transferring files between machines that aren't on the same network: you don't need to set up a server, open firewall ports, or use a cloud storage intermediary. The way it works is elegantly simple. The sender runs a single command and croc generates a short code phrase, a handful of random words. The recipient types that code phrase on their machine and the transfer begins. Under the hood, the two computers connect through a relay server (a publicly available one by default, or one you host yourself), and the data is protected with end-to-end encryption using a technique called PAKE (Password-Authenticated Key Exchange). This means even the relay server cannot read your files, only the person with the matching code phrase can decrypt them. Croc handles several practical scenarios that simpler tools miss: transfers can be resumed if they get interrupted, multiple files and entire folders can be sent in one go, and there is support for piping data through standard input and output for scripting. It even supports routing through a proxy like Tor for extra privacy, and can display a QR code so a phone can receive the code phrase easily. You would reach for croc when you need to move a file from your laptop to a friend's computer, from your desktop to a remote server, or between two machines on completely different networks, and you want the process to be safe and dead simple. It is a Go program, which means it compiles to a single binary with no runtime dependencies, and packages are available for macOS, Windows, Linux, and most popular package managers.

Copy-paste prompts

Prompt 1
Show me how to use croc to send a folder of files to another computer and have the recipient receive it with the generated code phrase.
Prompt 2
How do I install croc and host my own relay server so file transfers stay within my company network instead of using the public relay?
Prompt 3
Using croc, how do I pipe the output of a command on one machine directly to a file on another machine over the network?
Prompt 4
Help me set up croc to transfer files through a Tor proxy for extra privacy when sending sensitive documents.

Frequently asked questions

What is croc?

Croc lets you securely send files or folders from one computer to another using a short code phrase, with end-to-end encryption and no cloud storage, firewall configuration, or server setup required.

What language is croc written in?

Mainly Go. The stack also includes Go.

How hard is croc to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is croc for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub schollz on gitmyhub

Verify against the repo before relying on details.