Destiny is a secure file transfer application that allows people to transfer files without needing to reveal their identities to each other or the service provider. All files are end-to-end encrypted, meaning no one except the sender and the receiver can decrypt the contents. Users select a file on their device and then share the generated code with the intended recipient for safe delivery. No sign-up is needed.
Key security features:
- Identity-less: no need to disclose identity information (such as name, email address, or phone number) to be able to transfer files.
- End-to-end encryption: files are end-to-end encrypted and only the sender and recipient can read them.
- Peer-to-peer file sharing: Destiny attempts to make a direct network connection to the other party. If both parties are on the same local network they should connect without any traffic leaving that network, for example. When this isn’t possible (e.g. if neither party has a public IP address) then our relay server is used (however, that server sees only encrypted packets).
- Full-strength keys: although our codes are short and human-memorable, they are part of an online “Password Authenticated Key Exchange” (PAKE) which only allows a single guess – and yields a 256-bit full-strength symmetric key.
Based on the wormhole-william implementation of the Magic Wormhole protocol. This application relies on a plugin that wraps the wormhole-william client with a Dart API.
Supported platforms
- Linux (amd64)
- Windows
- macOS
- Android (Google Play & F-Droid)
- iOS
You can find detailed instructions on how to install applications on various platforms
Windows, Linux, macOS files can be downloaded from the latest release.
Available on external stores:
Alternatively, apps can be downloaded directly from GitHub release assets and installed manually.
We recommend verifying every downloaded file against the corresponding signature.
Please check our FAQ, Privacy Policy and Terms & Conditions to find more information before using applications.
git clone --recurse-submodules [email protected]:LeastAuthority/destiny.git
- Go >= 1.19
- Flutter >= 3.0.0
- Android SDK for Android builds (>= SDK 24)
Builds for magic-wormhole.io by default:
flutter build linux
flutter build apk
flutter build appbundle
flutter build macos
flutter build ipa
Builds for Least Authority servers:
flutter build linux -t lib/main_la.dart
Builds for local instances:
flutter build linux -t lib/main_local.dart
Checkout detailed instructions for building.
If flutter is not used for web application, worth to set to avoid additional files generation and static analysis warnings:
flutter config --no-enable-web
Checkout detailed instructions on how to sign releases](https://github.com/LeastAuthority/destiny/blob/main/docs/releases.md).
cd docker
docker-compose up -d
- Flutter currently does not support x86 for android builds, so x86 emulators or devices are not supported.
- MacOS M1/M2 (arm64) chip build is not supported yet.
-
To disable debug label on the app in the emulator, set debugShowCheckedModeBanner: false (two places)
-
iOS downloaded files are stored in the app/Documents folder, which is displayed in Files App as a dedicated application folder. If Files doesn't display the application folder, try restarting the phone. Note, that if the App is deleted, all downloaded files in the same App folder will be deleted too.
-
Delete default settings:
- for macOS:
defaults delete com.leastauthority.destiny
- for macOS: