Skip to content

wormhole-app/wormhole

Repository files navigation

Wormhole

Latest Release Build Status

An open source Android, iOS, macOS, and Windows App for sending/receiveing files using the magic-wormhole protocol.

Get it on Google Play StoreGet it on IzzyOnDroid

Download on the App Store Join TestFlight Beta

Preview

Features

  • Open source: Lightweight, clean and secure.
  • Send/receive files via the magic-wormhole protocol
  • Generate QR code of receive code
  • Scan QR-Code of sender
  • Dark theme

Compatible Desktop Applications:

(feel free to add yours)

Translation

We use Codeberg Translate.

Translation Status

Development

Prerequisites

  • Flutter (>= 3.22.0)
  • Rust (MSRV >= 1.85.1)
  • Just

Android only:

  • Android NDK
  • Android SDK (>= 31)

Build app

Android

Add Rust Android targets:
rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android

Install cargo-ndk:
cargo install cargo-ndk

Build APK + App Bundle:
just apk

Linux

Dev build:
just linux

macOS

Dev build:
flutter build macos

Windows

Dev build:
flutter build windows

Format/Lint

Format source code:
just format

Lint source code:
just lint

Code generation

Generate translations:
just translation

Generate Flutter-Rust-Bridge code bindings:
just codegen

Cleanup

Clean build files:
just clean

Contribution

Every kind of contribution is welcome. :)

If you know other languages than English/German/Swedish feel free to add new translations in lib/l10n/. If you face any issues with the app you can gladly open an issue or fix it via a PR.

Used libraries

A great thanks to all the maintainers of the used libraries. Especially to magic-wormhole and flutter_rust_bridge.

Flutter

Rust

  • anyhow(MIT) - Error handling
  • magic-wormhole(EUPL-1.2) - magic-wormhole client
  • futures(MIT) - async/await async programming
  • async-std(MIT) - async std-lib
  • url(MIT) - url generation lib
  • zip(MIT) - ZIP file compression/decompression
  • fastrand(MIT) - fast random number generation
  • log(MIT) - logging facade for Rust
  • flutter_logger(MIT/Apache-2.0) - bridge Rust logs to Flutter

License

Copyright (C) 2025 Lukas Heiligenbrunner

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

About

With Wormhole, you can easily and securely share files of any size, with anyone, anywhere.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 10