← All open source projects

croc

schollz/croc

croc is a CLI tool for simple and secure file transfer between computers.

Forks 1,399
Author schollz
Language Go
License MIT
Synced 2026-06-27

What croc is

croc is a command-line tool for file transfer. croc sends a file or folder to another person through a one-time code phrase and an encrypted connection.

Moving a file between two machines is often harder than it looks because of NAT, accounts, cloud limits, and privacy requirements. That makes the page useful as more than a short catalog card: it explains where the project helps and which part of the job it takes over.

The schollz/croc repository appeared on GitHub in 2017. For this kind of project, that history matters because code, examples, documentation, and community habits accumulate over time.

Why it exists

The project became noticeable through a very simple model: the sender runs one command and the receiver enters a short phrase.

The main point of croc is not to replace every neighboring tool. It covers a specific part of the work: one-time secure file transfer without account setup. The clearer that part is, the easier it is to decide whether the project belongs in a stack.

croc is best judged through practice: what data goes in, which actions happen, what result comes out, and who owns support after the first run.

Inside the repository

The repository contains Go CLI code, key exchange logic, data transfer, relay server, tests, and documentation.

croc creates a short code phrase, negotiates a secure channel, and transfers data between two sides.

That structure matters for maintenance. Once a project enters a real system, value comes not only from core features but also from tests, clear configuration, releases, and the ability to track behavior changes.

How people use it

It is used for quick transfer of archives, logs, builds, screenshots, and files between personal or work machines.

A good start is a small file and a separate communication channel for the code phrase.

A good first scenario for croc is a small check on real data or a realistic task. It reveals limits faster than browsing a feature list.

Strengths

croc is strong because it has low friction: no account, complex setup, or shared cloud drive is needed.

It stands out because the command line is still often the fastest way to move a technical file.

Another advantage is a clear entry point. Even a large project can be studied through one scenario: install it, repeat an example, change one setting, and check the result.

Limits

The limitation is that both sides must be ready to run a CLI and exchange a code phrase.

For regular use, define which data may be transferred this way, how command logs are handled, and when temporary files are deleted.

For long-term use, decide who updates the project, where configuration is stored, how new versions are checked, and what to do if behavior changes after an update.

Example

Sending a file with croc

This example shows both sides: the sender creates a transfer and the receiver enters the code phrase.

Language: Bash
croc send report.pdf
croc correct-horse-battery-staple