Skip to content
bakirgdevPublic

About

Unofficial native SwiftUI app for croc: send and receive files between iPhone, iPad and Mac. Free and open source.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

1 watching

Forks

Repository files navigation

CrocApp

Send a file to any device, anywhere, with a code phrase.
A free, open-source native SwiftUI app for iPhone, iPad, and Mac.

CI Latest release Platforms MIT License Website

What it is

CrocApp sends files, folders, and text between two devices anywhere in the world, encrypted end to end, using a short code phrase like apple-house-car. No account, no cloud upload, no shared network needed.

It is a graphical front end for croc, the command-line file-transfer tool by Zack Scholl. CrocApp embeds croc's Go library rather than shelling out to the binary, so a code phrase from the croc CLI works in the app, and the reverse.

Note

CrocApp is unofficial and not affiliated with or endorsed by croc's author.

Download

Platform Where
iPhone, iPad, Mac (App Store) Not listed yet; once live links will be posted
Mac (Apple silicon only) CrocApp-<version>-arm64.dmg from GitHub Releases
Mac (Homebrew cask) Not available yet. Homebrew accepts a cask once the repo shows enough public interest: 225 stars, 90 watchers, or 90 forks. Starring the repo helps

The disk image is Developer ID signed, notarized, and updates itself through Sparkle (Check for Updates… in the app menu). Verify it with gh attestation verify <file> --repo bakirgdev/CrocApp (SECURITY.md). Install guide: crocapp.dev/docs/getting-started/install. Or build from source.

How it works

flowchart LR
    S["Sender<br/>CrocApp or croc CLI"]
    R["Receiver<br/>CrocApp or croc CLI"]
    L(["Direct path<br/>same network"])
    X(["Relay<br/>ciphertext only"])

    S -- "code phrase, spoken or scanned" --> R
    S -- "preferred" --> L
    L --> R
    S -. "fallback" .-> X
    X -. "fallback" .-> R
Loading
  1. The sender picks files, a folder, or text.
  2. CrocApp shows a code phrase. Say it, message it, or show it as a QR code.
  3. The receiver enters the phrase, previews the file list, and accepts.

Both sides run PAKE over the code phrase to derive a session key, so the phrase never crosses the network in the clear and the relay never learns the key. CrocApp tries the local network and the relay at once; on the same network the transfer goes direct.

Screenshots

CrocApp on macOS, ready to send: the code phrase, a QR code, and an end-to-end encrypted badge.
macOS: send, with code phrase and QR
CrocApp on iOS showing an incoming transfer of three files with Decline and Accept buttons.
iOS: receive, preview then accept
CrocApp Settings on macOS showing the receive folder and the relay address fields.
macOS: settings, with your own relay, local-only, compression

Security and privacy

Transfers are end-to-end encrypted, the code phrase authenticates both sides, and the relay only ever sees ciphertext.

Warning

Neither croc nor CrocApp has had a formal third-party security audit.

  • No telemetry, analytics, ads, or accounts. The privacy policy lists every server the app can contact.
  • Transfer history stays on the device.
  • You can use your own croc relay instead of the default public ones.
  • Report vulnerabilities privately through GitHub Security Advisories, never in a public issue. See SECURITY.md.

Features

Core transfer
Feature croc equivalent
Send files, multiple at once, drag-drop or picker positional args
Send folders positional args
Send text and clipboard contents --text
Receive by code phrase positional args
Custom code phrase --code
Show QR on send, scan QR on receive --qrcode
Choose output folder; Files-visible by default on iOS --out
Keep Both or Replace when a file already exists; resume with Replace --rename, --overwrite
Preview the incoming file list, then accept or decline interactive prompt
Live progress, speed, cancel; Live Activity on iOS
LAN and relay raced automatically croc default
Local transfer history
Power options
Feature croc equivalent
Custom relay, password, IPv6 --relay --relay6 --pass
Force local-only transfers --local
Disable compression --no-compress
Zip a folder before sending --zip
Exclude patterns, respect .gitignore --exclude --git
Auto-accept incoming, off by default --yes
Require confirmation on both sides --ask
Connection: Automatic or Relay only --transport auto|relay
Advanced settings
Feature croc equivalent
SOCKS5 proxy --socks5
HTTP proxy --connect
Upload speed limit --throttleUpload
Encryption curve --curve
File hash algorithm --hash
Sender IP, direct connect --ip
Multicast address (macOS) --multicast
Base port, parallel connections, multiplexing --port --transfers --no-multi
Built-in DNS resolver --internal-dns
Native to the app
Feature
Share extension: send from any app (iOS)
Menu bar quick send and Open at login (macOS)
Receive links: crocapp://, crocapp.dev/r/ and getcroc.com/?code= open Receive with the code filled in
Shortcuts and Siri actions: Send Files, Send Text, Receive
Trust UI: end-to-end badge, "how it works", active-relay indicator
Share Link and a QR code that opens CrocApp or a page that explains how to receive
Send as link: encrypted upload for a receiver who is not online, with expiry and revoke
iPad File menu: Show Receive Folder in Files

FAQ

How is this different from AirDrop?

AirDrop needs two Apple devices close to each other. CrocApp works between any two devices running croc or CrocApp, on any network, at any distance, for example from an iPhone to a Linux server on another continent.

Does it work with the croc CLI?

Yes, in both directions. CrocApp embeds croc, so croc send on a laptop can be received in the app on a phone, and the reverse. The CLI must be croc 11 or newer.

Why iOS 26 and macOS 26 (or newer) only?

It lets the app use current SwiftUI APIs and Liquid Glass without availability checks everywhere. The minimum is 26.0, so every 26.x (or newer) release works.

Is it free? Will it ever have a paid tier?

Free and MIT-licensed, and it stays that way. Donations are welcome but optional, see Support the project.

Will there be a Windows, Linux, or Android version?

Not plannet, yet. If you really want to se CrocApp be born on other platforms, you can show your interest via issues

Contributing

Pull requests are welcome: bugs, features, docs, design, landing page. Start with CONTRIBUTING.md for setup, commit conventions, design rules, etc. Questions and ideas go to Discussions. Everyone follows the Code of Conduct.

Support the project

CrocApp does not depend on donations: it has no paid tier and no features behind a paywall. If it saves you time and you want to give back, donations are welcome:

Starring the repo, reporting bugs, and telling others about CrocApp help just as much.

Credits and license

About

Unofficial native SwiftUI app for croc: send and receive files between iPhone, iPad and Mac. Free and open source.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages