croc FAQ

Everything you need to know about secure file transfers

Frequently Asked Questions

🔒 Security

Learn about croc's encryption and privacy features

⚙️ Installation

Get croc running on your system

📦 Usage

Master file transfer commands and options

🌐 Advanced

Customize and extend croc functionality

What is croc?

croc is a command-line tool that allows you to easily and securely send files and folders between any two computers. It uses end-to-end encryption with PAKE (Password-Authenticated Key Agreement) to ensure your files remain private during transfer.

How does croc ensure security?

croc uses PAKE (Password-Authenticated Key Agreement) to establish a shared secret between sender and receiver. This shared secret is then used to encrypt the files with AES-256. The relay server only sees encrypted data and cannot access your files. No server ever sees your unencrypted files.

What systems does croc support?

croc works on Windows, Linux, macOS, Android, and even in Docker containers. It's cross-platform and designed to work anywhere you have a command line.

How do I install croc?

The easiest way is to run curl https://getcroc.schollz.com | bash on Linux/macOS. For Windows, use scoop install croc. For package managers: brew install croc (macOS), pacman -S croc (Arch Linux), dnf install croc (Fedora). Android users can download crocgui or croc-app from F-Droid.

How do I send a file?

Simply run croc send [file-or-folder]. croc will generate a code phrase that you share with the recipient. The recipient runs croc [code-phrase] to receive the file.

Can I send multiple files?

Yes! Just list all files and folders you want to send: croc send file1.txt folder1/ file2.pdf

How do I resume interrupted transfers?

If a transfer is interrupted, you can resume it by running the same commands again. croc will automatically detect partial transfers and continue where it left off.

Can I use a custom relay?

Yes! You can run your own relay with croc relay or use Docker: docker run -d -p 9009-9013:9009-9013 -e CROC_PASS='YOURPASSWORD' docker.io/schollz/croc. Then use --relay "myrelay.example.com:9009" when sending files.

How do I change the encryption curve?

You can specify a different elliptic curve using the --curve flag: croc --curve p521 [codephrase]. Available curves include p256, p384, p521, and ed25519.

Can I use croc with proxies?

Yes! Use the --socks5 flag: croc --socks5 "127.0.0.1:9050" send [file] to route transfers through Tor or other SOCKS5 proxies.

Project Statistics

37,869
Stars
1,496
Forks
253
Subscribers
12
Open Issues
Go
Language
MIT
License