CLI tool for secure file transfers between any two computers using a relay and end-to-end encryption
croc is a CLI file transfer tool that enables secure transfers between any two computers without requiring port forwarding or local server setup. It uses a relay system combined with password-authenticated key agreement (PAKE) to provide end-to-end encryption for all transfers.
The tool supports cross-platform transfers between Windows, Linux, and Mac, with IPv6-first connectivity and IPv4 fallback. Files can be resumed if transfers are interrupted, and croc can handle multiple files or entire folders in a single transfer. It also supports piping from stdin/stdout and can work through proxies like Tor.
croc differentiates itself through its simplicity - sending requires running croc send filename to generate a code phrase, then the recipient runs croc code-phrase to receive the files. The tool includes features like QR code generation for mobile transfers, custom code phrases, folder exclusion patterns, and the ability to self-host relay servers for organizations wanting complete control over their transfer infrastructure.
# via Homebrew
brew install croc
# via Scoop
scoop install croc
# via Go
go install github.com/schollz/croc/v10@latest
