搜索插件、代码仓与 APP 分类

GitHub 代码仓LeastAuthority/destiny

命运

命运 – 跨平台魔法隧道图形客户端

命运 项目封面
星标
318
复刻
18
最近推送(UTC)
2025年2月7日
项目状态
未归档

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

Destiny

Cross-platform Magic Wormhole graphical client

An end-to-end encrypted app to share files without revealing your identity

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

  • [x] Linux (amd64)
  • [x] Windows
  • [x] macOS
  • [x] Android (Google Play & F-Droid)
  • [x] iOS

Usage

Installation

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:

Google Play store F-Droid  store App store

Alternatively, apps can be downloaded directly from GitHub release assets and installed manually.

Verification

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.

Cloning

git clone --recurse-submodules git@github.com:LeastAuthority/destiny.git

Building

Dependencies
  • Go >= 1.19
  • Flutter >= 3.0.0
  • Android SDK for Android builds (>= SDK 24)
Unsigned release builds

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).

Starting the wormhole services locally
cd docker
docker-compose up -d

Known Issues:

Other configuration/ notes
  • 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
Least Authority GitHub avatar
GitHub 作者

Least Authority ↗

语言DartC++CMakeKotlinPythonHTMLRubySwiftCShellMakefileDockerfileTypeScriptObjective-C

分类

依赖Flutter组件

使用的依赖

依赖清单 29 项

App 分类

如何选择适合项目的代码仓?

先按使用场景筛选,再比较项目活跃情况,最后到原始仓库核对使用要求。

  1. 通过仓库名、作者或描述搜索,再按技术分类缩小范围。
  2. 结合星标、复刻与最近推送比较项目;星标反映社区关注,不代表质量保证。
  3. 使用前在 GitHub 核对 README、许可证与 Issues。

来源与维护

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗