# croc

> Secure file transfer tool that enables any two computers to transfer files using end-to-end encryption and relay servers

Stars: 40.8k · Language: Go · License: MIT · Categories: File Management

- Repository: https://github.com/schollz/croc
- Website: https://getcroc.com
- Page: https://www.trmn.sh/tools/croc

## Install

- Homebrew: `brew install croc`
- Curl script: `curl https://getcroc.schollz.com | bash`
- Go install: `go install github.com/schollz/croc/v10@latest`

## Overview

croc is a command-line file transfer tool that enables secure file sharing between any two computers without requiring local servers or port forwarding. It uses password-authenticated key agreement (PAKE) to establish end-to-end encryption and relay servers to connect devices across different networks.

The tool supports cross-platform transfers between Windows, Linux, and Mac systems. Key capabilities include transferring multiple files and folders, resuming interrupted transfers, IPv6-first connectivity with IPv4 fallback, and proxy support including Tor. Files are sent using a generated code phrase that recipients use to retrieve the transfer.

croc targets users who need to transfer files between computers across different networks securely. It handles various use cases including piping data through stdin/stdout, sending text snippets, displaying QR codes for mobile devices, and custom relay server deployment. The tool can be used in automation scenarios with quiet mode and supports configuration options like custom encryption curves and hash algorithms.

### Installation

```bash
# via Homebrew
brew install croc
```

```bash
# via Curl script
curl https://getcroc.schollz.com | bash
```

```bash
# via Go install
go install github.com/schollz/croc/v10@latest
```

![croc file transfer example](https://media.trmn.sh/cached/22f3002e34bfddde5eb45d74de82b921ab06d25b81509ab55094fbae4048031f.gif)

## Alternatives

- [superfile](https://www.trmn.sh/tools/superfile.md): Terminal-based file manager with dual-pane interface, written in Go (Go, 24.0k stars)
- [rclone](https://www.trmn.sh/tools/rclone.md): Command-line program to sync files and directories to and from 70+ cloud storage providers (Go, 60.7k stars)
- [lf](https://www.trmn.sh/tools/lf.md): Terminal file manager written in Go inspired by ranger with vi-style keybindings and shell integration (Go, 9.6k stars)
- [pdfcpu](https://www.trmn.sh/tools/pdfcpu.md): PDF processing library and CLI written in Go for validating, merging, splitting, encrypting, stamping, signing and extracting content from PDFs. (Go, 8.9k stars)
- [syncthing](https://www.trmn.sh/tools/syncthing.md): Continuous file synchronization program that syncs files between multiple computers using peer-to-peer connections (Go, 90.0k stars)

## Guides

- [Best CLI File Transfer Tools](https://www.trmn.sh/best/file-transfer-tools): Compare croc, qrcp, rclone: workflows, strengths and tradeoffs.

---

Canonical: https://www.trmn.sh/tools/croc
