mrkeyoor.com_
Wed 02 Sept 07:08 UTC
Dev Toolsevaluationupdated 02 Sept 2026

croc review

croc is a command-line tool for sending files and folders directly between computers with end-to-end encryption. It replaces account-based cloud sharing and awkward network setup with a short code phrase, while a relay fallback helps peers connect when a direct path is unavailable.

trackingstars / 7d
Verdict

Our build completed in 130 seconds, and all 56 measured tests passed. croc is an unusually practical choice for one-off encrypted transfers because it combines short-code pairing, resume support, multiple files, browser interoperability, and relay fallback without demanding an account. Use it when both ends can protect the code phrase; choose managed storage when you need durable collaboration, organizational controls, or an audit trail.

We ran it

Install✓ · 68s607 packages
Build✓ · 130s
Tests✓ · 36s56 passed · 0 failed of 56 (go test)
Repo301 files~57,168 lines of source · 5.3 MB · 5 CI workflows · Dockerfile

Answers from our run

Does croc build from source?

Dependencies installed in 68 seconds (607 packages), and the build succeeded in 130 seconds. We cloned commit 869aa33 into a clean Debian container with 3 CPUs and no project-specific setup.

Do croc's tests pass?

Yes: 56 of 56 passed when we ran the project's own test command (go test). Some failures need services or credentials a bare container does not have.

Who should not use croc?

Teams needing permanent, searchable shared storage with folders and permissions

What are the alternatives to croc?

Magic Wormhole, LocalSend, OnionShare. Our build completed in 130 seconds, and all 56 measured tests passed.

Setup5/5Prebuilt and package-manager paths; our install succeeded in 68 seconds
Docs4/5Clear examples and many install routes, but several trust caveats remain
Community5/5About 40,000 stars, one open issue, and a push one day ago
Maturity5/5Nine-year project, v11.3.6 release, clean build and test run

Who it’s for

Developers and administrators who regularly move files between machines
People who want encrypted, cross-platform transfers without creating accounts
Teams that need resumable transfers across Windows, Linux, macOS, or a browser
Self-hosters who want control over the relay used by their transfer workflow

Who it’s NOT for

Teams needing permanent, searchable shared storage with folders and permissions
People who are uncomfortable using a terminal and do not want to rely on the browser or an unofficial GUI
Regulated environments that require centrally managed identities, audit trails, and retention policies
Anyone who treats the short transfer code or stored-transfer link as safe to post publicly

Setup reality

In our sandbox, installation succeeded in 68 seconds with 607 packages installed, the build succeeded in 130 seconds, and all 56 Go tests passed in 36 seconds. That is strong evidence that the source builds cleanly, although it is more work than the README's prebuilt downloads, package-manager commands, or curl-to-shell installer imply. The repository requires Go 1.27+ for a source install, while our measured container used golang:1.24-bookworm, so the safest reading is that the recorded build path succeeded in that supplied environment, not that every documented install route was independently verified.

v11.3.6 removes the usual ceremony from ad hoc transfers

croc addresses a familiar gap in 1-off file sharing: a file is too awkward for chat, too sensitive for a random upload service, and sitting on a machine that cannot accept an inbound connection. The sender runs croc send, receives a code phrase, and gives it to the recipient. The recipient enters that phrase with croc, and PAKE establishes the secret used for end-to-end encryption. There is no account, locally hosted server, or port forwarding in the normal transfer flow.

The project dates to 2017 and is now at v11.3.6. It sends several files or folders, resumes interrupted transfers, prefers IPv6 before falling back to IPv4, and supports proxies such as Tor. Peer-to-peer connectivity is backed by relay fallback. Windows, Linux, macOS, and the browser are listed as compatible endpoints, so 2 participants do not need matching operating systems or matching interfaces.

Our 56-test run passed without a failure

Our run used an unprivileged Debian container with 3 CPUs and 8 GB of RAM, installation succeeded in 68 seconds and installed 607 packages. The snapshot at commit 869aa33 contained 301 files, about 57,168 lines of source, and occupied 5.3 MB when checked out. These figures say nothing about transfer speed, network efficiency, or behavior under load, which we did not measure.

The build completed successfully in 130 seconds. go test finished in 36 seconds with 56 passing tests and 0 failures. We found 5 CI workflow files and a Dockerfile, but no separate tests directory. That layout does not imply missing tests because the command found and passed 56 of them. More importantly, a contributor is not starting from a broken baseline on the measured commit.

One version wrinkle needs attention: the README says a source build requires Go 1.27+, while the supplied measurement environment is labeled golang:1.24-bookworm. The recorded install and build succeeded, but the evidence does not explain that mismatch. Local builders should follow the current README requirement rather than read our container label as a promise of Go 1.24 compatibility. Prebuilt releases and system packages avoid the question.

Two connection paths make the transfer flow unusually complete

Many file-transfer utilities are simple only on a friendly LAN. croc combines 2 connection paths, direct peer connection and relay fallback, under the same command. Resume support means a large folder on an unreliable link is not an all-or-nothing bet. Browser compatibility reduces coordination cost because one participant can use getcroc.com without installing the CLI while remaining compatible with a command-line peer.

Stored mode adds a separate, opt-in pattern in v11.3.6. croc send --store uploads ordinary files as client-side encrypted ciphertext and returns a browser link plus a CLI token. Documented defaults are a 1-day lifetime and 1 successful receiver, with configurable limits subject to server policy. The decryption key follows the URL's #, so HTTP requests do not send it to the storage service. The complete link remains a bearer secret, and a sender with the locally saved receipt can revoke an available transfer.

The README gives more than 10 installation choices across downloadable releases, Homebrew, MacPorts, Scoop, Chocolatey, Nix, Linux distributions, Termux, Conda, Docker, and source. There is also curl https://getcroc.com | bash. That breadth helps mixed fleets, though security-conscious users should inspect an installer or prefer a trusted package route instead of piping remote content straight into a shell.

A 24-hour update check is one operational rough edge

End-to-end encryption does not make a 1-time code harmless. Anyone who obtains a live phrase can try to join the transfer, and anyone holding a complete stored-transfer link has the identifier and decryption key. Teams should move secrets through a separate trusted channel and treat revoke receipts as sensitive. croc simplifies key agreement; it does not provide employee identity, approval workflows, durable audit trails, or centralized retention policy.

The client performs a background release check at most once every 24 hours during send or receive. Failures are ignored, notices appear after the transfer, and --quiet suppresses them. That is restrained, but locked-down networks may care about any extra outbound request. The documented Docker wrapper mounts the current directory plus a configuration directory and limits container access to that tree, so users should inspect its 1-line shell function before adding it to a profile.

One open issue and a 1-day-old push signal active maintenance

The snapshot shows 40,194 stars, 1 open issue, a v11.3.6 release dated August 30, 2026, and a last push on September 1, 2026. Together, those are strong current-activity signals for a project created in 2017. The recent release and push matter more than popularity alone. The small issue count suggests a tidy tracker, but this data cannot establish response time, maintainer capacity, or security-report handling.

The README says the project's future depends on community support and asks for sponsorship. That is a sustainability warning, not proof of instability. With 5 CI workflows, an MIT license, a successful measured build, all 56 measured tests passing, and recent repository activity, croc looks mature. Organizations should still pin versions and validate upgrades because healthy upstream activity does not replace local change control.

It fits 1-to-1 delivery, not permanent shared storage

In a real stack, croc is the fast lane for deliberate person-to-person delivery: move a build artifact to a test machine, hand a folder to a collaborator, or cross operating-system boundaries without provisioning shared infrastructure. Its 2 modes cover simultaneous peers and delayed pickup. A self-hosted relay may appeal to operators seeking network control, although the provided README excerpt lacks enough deployment detail to judge that setup.

It should not replace object storage, document collaboration, backups, or managed data exchange. Those systems retain files, index content, attach identities, and support repeated access. croc optimizes the moment of transfer. For that job, the evidence is persuasive: v11.3.6 built cleanly on our box, 56 of 56 tests passed, and the documented workflow addresses connectivity and encryption without turning a 1-off handoff into an infrastructure project.

Alternatives

ProjectWhat it isPick it when
Magic Wormhole gh↗A code-phrase-based command-line tool for transferring files between computers.Pick this instead when you already use its Python ecosystem or need compatibility with an existing Magic Wormhole workflow.
LocalSend gh↗A graphical, cross-platform app for sharing files over a local network.Pick this instead when everyone is on the same LAN and a polished graphical interface matters more than internet relay fallback.
OnionShareA Tor-based application for sharing files and hosting temporary services.Pick this instead when Tor-based access and its privacy model are central requirements.

What people are saying

  1. [velocity-scout] schollz/croc

Sources

  1. schollz/croc on GitHub
  2. croc official website

More dev tools reviews

herdr · shadPS4 · loguru · poetry · brew · workmux · the whole board →