Home
Softono

Croc App

Open source MIT Kotlin
61
Stars
4
Forks
3
Issues
4
Watchers
2 months
Last Commit

 About Croc App

croc-app is an Android client for croc with a modern, mobile-first UI built in Kotlin and Jetpack Compose.

Platforms

Web Self-hosted Android

Languages

Kotlin

Links

Need Help Installing Croc App?

We provide expert installation service for this software. Our team will install, configure, and secure Croc App on your server. plans start at just $30.

Croc app icon

croc-app


croc-app is an Android client for croc with a modern, mobile-first UI built in Kotlin and Jetpack Compose.

It is designed to make file and text sharing feel much more natural on Android: quick send, quick receive, QR-assisted flows, saved codes, transfer history, and better handling for the small details that matter on phones.

Download Now

F-Droid GitHub Release Obtainium
Get it on F-Droid Download from GitHub Download from Obtainium

Why this project exists

This project was inspired by croc-gui, which showed that a mobile-friendly croc experience could work.

But croc-gui is older, written in Go, and lacks a number of features and UX improvements we wanted in a modern Android app. croc-app is our attempt to build a more polished, more maintainable, and more feature-complete Android experience around croc.


Screenshots

Send screen Quick screen Recieve screen Send Mutliple Files Quick Send - Clipboard Quick Recieve

Features

  • Quick send and quick receive flows
  • Send files or clipboard text
  • QR code generation for fast pairing
  • QR scanning for receive
  • Saved send and receive codes
  • Transfer history and favorites
  • Android share-sheet support
  • Received files published to Downloads/croc-received
  • Material 3 UI designed specifically for Android

Current version

  • Version name: 4.1.0

Project status

croc-app is under active development.

How I use croc-app

My primary use case is simple: quick clipboard transfer between phone and desktop — notes, code snippets, links, anything.

On my desktop, I use a small PowerShell helper (ccs) that:

  • starts croc in sending mode with my saved code
  • automatically sends text from the clipboard

Desktop -> Phone workflow

  1. Run ccs in the desktop terminal
  2. Open croc-app and tap Receive
  3. The text appears on the phone, ready to copy or open

A similar flow works in reverse for sending text from my phone to my desktop.

Project structure

  • app/ - main Android application module
  • gradle/ - Gradle configuration used by the Android project

Building

Standard build (quick)

If you just want to build and run the app locally:

./gradlew assembleRelease

Or open the project in Android Studio and run the app configuration.

This produces a working APK, but it may not be reproducible.


Reproducible build

For deterministic builds (matching CI / F-Droid), use the scripts in:

reproducible-build/

This setup uses Docker to ensure:

  • consistent environment
  • reproducible dependency resolution
  • deterministic signing

Steps (Linux/macOS)

cd reproducible-build

docker build -t croc-app-build .
docker run --rm \
  -e REPO_BRANCH=main \
  -e KEYSTORE_PASS=your_keystore_password \
  -e KEY_ALIAS=your_key_alias \
  -e KEY_PASS=your_key_password \
  -v $(pwd)/key.jks:/secrets/release.jks:ro \
  -v $(pwd)/output:/output \
  croc-app-builder \
  bash /build/build.sh

Output:

output/croc-app-release.apk

Reproducible build (Windows)

You can use the provided batch script:

reproducible-build/run-build.bat

Before running, edit the script and configure:

set "KEYSTORE_FILE=%~dp0key.jks"
set "KEY_ALIAS=ALIAS"
set /p KEYSTORE_PASS=<kspass.txt
set /p KEY_PASS=<kpass.txt

Then:

  1. Place your keystore:
reproducible-build/key.jks
  1. Add passwords in:
reproducible-build/kspass.txt
reproducible-build/kpass.txt
  1. Run:
run-build.bat

The signed APK will be generated in the output/ directory.


Contributing

Contributions are welcome, checkout CONTRIBUTING.md.

Design goals

The app tries to stay true to croc while feeling native on Android:

  • fast to use
  • easy to understand
  • polished enough for daily use

Related project

  • croc-gui - earlier mobile-oriented GUI work around croc
  • croc - croc