TrendWhat rose on GitHub, every day at 07:30 KST · 한국어

GitHub · as of November 8, 2026 · View on GitHub →

schollz/croc

Peer-to-peer file transfer tool

Transfer files between two computers without server configuration

Send a file from one computer and enter a short code on the other. You can exchange data from anywhere with an internet connection without setting up a local server or configuring port forwarding. croc is a command-line tool that goes beyond file transfer to include sharing encrypted terminal sessions.

Browser client without installation

You can run croc in a browser at getcroc.com, allowing you to exchange files without a separate installation process. This browser version is fully compatible with the command-line interface, so it works even if one side is a web browser and the other is a desktop app. Since the method for entering codes is the same, you can also scan a QR code on a mobile device to receive files. This flexibility is particularly useful in situations with limited network environments.

Encryption and connection methods

croc uses PAKE (Password-Authenticated Key Exchange) to generate a secret key between the sender and receiver, ensuring end-to-end encrypted transmission. Data first attempts a direct connection and, if that is not possible, goes through a relay server. It prioritizes IPv6 and falls back to IPv4, and can also be transmitted through proxies like Tor. Thanks to this structure, computers behind firewalls can establish connections relatively easily.

Terminal session sharing

In Linux, macOS, FreeBSD, and OpenBSD environments, you can share a terminal session using the croc ssh command. The host generates a six-word invitation code for participants with read/write permissions and another for those with read-only permissions. This method provides encrypted terminal access through a temporary WireGuard path without exposing an SSH daemon or creating accounts. People with the invitation code can use the terminal within the specified permissions, while remote command execution and file transfer (SFTP) are disabled.

File storage and temporary sharing

If immediate transfer is difficult, you can encrypt files on the client side and upload them to the server using the croc store command. This method generates a browser link and a CLI token, with the configured expiration date or download count limit applied. The hash part of the link contains the decryption key, so the server only stores encrypted data and cannot know the original content. The sender can delete a valid transfer at any time using the cancellation receipt stored locally.

Pre-use considerations

croc is written in Go, and building from source requires Go 1.27 or higher. It can be easily installed on most operating systems via package managers or installation scripts, but for Alpine Linux, you must enable the community repository. When using the stored transfer feature, server policies may affect download counts and expiration dates, so you should check them. Additionally, the terminal sharing feature is only supported on specific Unix-like operating systems, and invitation codes should be treated as secret.

Written by AI from this repository's README on October 15, 2026. For the facts, the original on GitHub is the reference.

By the numbers

GitHub trending history
2 days between Jun 19, when Trend began recording, and Nov 8, 2026 · first on Jul 21 · best daily rank #18 (Jul 21)

Read from GitHub, as of November 2, 2026. None were read on November 8, 2026.

Language
Go
Topics
data-transfer · file-sharing · golang · pake · peer-to-peer · tcp · transfer
Stars
40,836
Contributors
170
Forks
1,644
Latest release
v11.6.3 · November 2, 2026
Commits
2,569
Last commit
November 2, 2026
Open issues
1
Open pull requests
0

View on GitHub → · Homepage

README badge

trend.ondo.sh · GitHub daily trending #18 · July 21, 2026

The badge above shows the highest this repository has ranked on GitHub's daily trending since June 19, 2026, and the day it did. Paste the Markdown below into your README. The badge opens this page, and it updates by itself when the repository climbs higher.

[![trend.ondo.sh](https://trend.ondo.sh/github/r/schollz--croc/badge.en.svg)](https://trend.ondo.sh/github/r/schollz--croc/en.html)