Skip to content

Commit

Permalink
Updated README.md and installation files (#184)
Browse files Browse the repository at this point in the history
* Updated README.md and installation files

* Updated links

* Corrected links to point to latest version

* Added more README fixes

* Added Google Play address

* Corrected grammar

* Small fix for link

* Editing

* Added some improvements

* Update README.md

Co-authored-by: El-Hassan Wanas <wanas@leastauthority.com>

* Adjusted height

Co-authored-by: meejah <meejah@meejah.ca>
Co-authored-by: El-Hassan Wanas <wanas@leastauthority.com>
  • Loading branch information
3 people committed Sep 29, 2022
1 parent 03842bd commit 4dca2e7
Show file tree
Hide file tree
Showing 2 changed files with 108 additions and 15 deletions.
66 changes: 51 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,52 @@
# Destiny - Cross-platform Magic Wormhole graphical client
<h1 align="center">
<img src="https://github.com/LeastAuthority/destiny/raw/readme-update/assets/images/intro-logo.png" height="150" alt="Destiny">
</h1>

⚠ This project is still a work in progress, use at your own risk ⚠
# Cross-platform Magic Wormhole graphical client

Easily send and receive files without signup or loss of privacy. Based on the
[wormhole-william](https://github.com/LeastAuthority/wormhole-william)
## 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](https://github.com/LeastAuthority/wormhole-william)
implementation of the [Magic Wormhole protocol](https://github.com/magic-wormhole/magic-wormhole).
This application relies on a plugin that wraps the wormhole-william client
with a Dart API. The plugin is implemented [here](https://github.com/LeastAuthority/dart_wormhole_william).
This application relies on [a plugin that wraps the wormhole-william client](https://github.com/LeastAuthority/dart_wormhole_william)
with a Dart API.

Supported platforms

- [x] Linux
- [x] Linux (amd64)
- [x] Windows
- [x] OSX
- [x] macOS
- [x] Android
- [ ] iOS

## Usage

### Installation

You can find detailed instructions on how to install applications on various [platforms](https://github.com/LeastAuthority/destiny/blob/main/doc/installation.md)

[Windows](https://github.com/LeastAuthority/destiny/releases/latest/download/destiny_windows.msix), [Linux](https://github.com/LeastAuthority/destiny/releases/latest/download/destiny_linux_amd64.AppImage), [macOS](https://github.com/LeastAuthority/destiny/releases/latest/download/destiny_macos.dmg) files can be downloaded from the latest [release](https://github.com/LeastAuthority/destiny/releases/latest).

Android will be available in (Google Play store)[https://play.google.com/store/apps/details?id=com.leastauthority.destiny]. Alternatively can be downloaded directly from release [assets](https://github.com/LeastAuthority/destiny/releases/latest/download/destiny_android.apk).


### Verification

We recommend to [verify every downloaded file](https://github.com/LeastAuthority/destiny/blob/main/doc/releases.md) against the corresponding signature.

### Please check our [**FAQ**](https://github.com/LeastAuthority/destiny/blob/main/FAQ.md), [**Privacy Policy**](https://github.com/LeastAuthority/destiny/blob/main/PRIVACY-POLICY.md) and [**Terms & Conditions**](https://github.com/LeastAuthority/destiny/blob/main/TERMS.md) to find more information before to using applications.


## Cloning

```bash
Expand All @@ -26,9 +57,9 @@ git clone --recurse-submodules git@github.com:LeastAuthority/destiny.git

### Dependencies

- Go >= 1.12
- Flutter >= 2.10.1
- Android SDK for Android builds
- Go >= 1.15
- Flutter >= 3.0.0
- Android SDK for Android builds (>= SDK 24)

### Unsigned release builds

Expand All @@ -44,22 +75,27 @@ flutter build macos
Builds for Least Authority servers:

```bash
flutter build linux lib/main_la.dart
flutter build linux -t lib/main_la.dart
```

Builds for local instances:

```bash
flutter build linux lib/main_local.dart
flutter build linux -t lib/main_local.dart
```

Checkout detail instructions how to [sign releases](https://github.com/LeastAuthority/destiny/blob/main/doc/releases.md).

### Starting the wormhole services locally

```bash
cd docker
docker-compose up -d
```

Known Issues:
Flutter currently [does not support x86 for android builds](https://github.com/flutter/flutter/issues/9253),
## Known Issues:
- Flutter currently [does not support x86 for android builds](https://github.com/flutter/flutter/issues/9253),
so x86 emulators or devices are not supported.
- MacOS M1 chip build is not supported.


57 changes: 57 additions & 0 deletions doc/installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Installation Instructions

## Android
### Via Google Play Store (*recommended*)
1. Open Play Store app
2. Search for an app with the name *Destiny*
or open a direct link to the [Play store](https://play.google.com/store/apps/details?id=com.leastauthority.destiny).
3. Press Install

### Manual APK file install
1. Download [**destiny_android.apk**](https://github.com/LeastAuthority/destiny/releases/latest/download/destiny_android.apk)
2. Open `destiny_android.apk` file
3. There might be a popup asking if you really want to install, press Install

**Note**: *installing directly is not recommended, also there won't be automatic updates*

## Windows
### MSIX (*recommended*)

1. Download [**destiny_windows.msix**](https://github.com/LeastAuthority/destiny/releases/latest/download/destiny_windows.msix)
2. Run the MSIX file
3. Press Install on Installer window
4. Search and run `destiny.exe`

### ZIP

1. Download [**destiny_windows.zip**](https://github.com/LeastAuthority/destiny/releases/latest/download/destiny_windows.zip)
2. Extract the zip
3. Run `destiny.exe`
**Note**: might require additional libraries


## macOS (M1 or Intel chip based)

1. Download [**destiny_macos.dmg**](https://github.com/LeastAuthority/destiny/releases/latest/download/destiny_macos.dmg)
2. Open downloaded DMG file
3. Drag and drop Destiny icon in Applications folder
4. Search and run `Destiny`

## Linux (x64)
### AppImage (*recommended*)

1. Download [**destiny_linux_amd64.AppImage**](https://github.com/LeastAuthority/destiny/releases/latest/download/destiny_linux_amd64.AppImage)
2. Run chmod u+x `destiny_linux_amd64.AppImage && ./destiny_linux_amd64.AppImage`
**Note**: If your system does not have FUSE you can [extract the appimage](https://github.com/AppImage/AppImageKit/wiki/FUSE#type-2-appimage):
```
./destiny_linux_amd64.AppImage --appimage-extract
./squashfs-root/AppRun
```

### Tarball

1. Download [**destiny_linux_amd64.tar.gz**](https://github.com/LeastAuthority/destiny/releases/latest/download/destiny_linux_amd64.tar.gz)
2. Extract `tar xzvf destiny_linux_amd64.tar.gz`
4. Go inside directory `destiny_linux`
5. Run `./destiny`

0 comments on commit 4dca2e7

Please sign in to comment.