Skip to content

Getting Started

Chizy edited this page May 9, 2025 · 2 revisions

Getting Started with QuietDrop

This guide will help you install, configure, and start using QuietDrop for secure messaging on desktop and mobile platforms.

Installation Options

QuietDrop offers multiple ways to use the application:

  1. Desktop Application: For Windows, macOS, and Linux
  2. Mobile Application: For Android and iOS
  3. Command Line Interface: For advanced users and server deployment

Desktop Application

Prerequisites

  • None! Just download and install the application

Installation Steps

  1. Download the installer from the Releases page
  2. Run the installer appropriate for your platform:
    • Windows: Run the .msi installer or .exe setup file
    • macOS: Mount the .dmg and drag the app to Applications
    • Linux: Use the .AppImage, .deb, or other available package format

Running the Desktop Application

  1. Launch QuietDrop from your applications menu or desktop shortcut
  2. On first run, you'll be prompted to create or sign in to an account
  3. Enter the server address you wish to connect to (or use a default public server)
  4. Start sending secure messages!

Mobile Application

Prerequisites

  • Android 8.0+ or iOS 13.0+

Installation Steps

Android:

  1. Download the .apk file from the Releases page
  2. Enable installation from unknown sources in your device settings if needed
  3. Open the downloaded file to install

iOS: iOS installation requires building from source (App Store release coming soon).

Running the Mobile Application

  1. Launch QuietDrop from your device's home screen
  2. On first run, you'll be prompted to create or sign in to an account
  3. Grant necessary permissions when prompted
  4. Enter the server address you wish to connect to
  5. Start sending secure messages!

Command Line Interface

Prerequisites

Steps

  1. Clone the repository

    git clone https://github.com/chizy7/QuietDrop.git
    cd QuietDrop
  2. Build the CLI project

    cargo build --release -p quietdrop-cli

    This will create an executable in the target/release directory.

Running the Command-Line Version

The CLI version of QuietDrop consists of both server and client components. You'll need to run the server first, then connect with clients.

Starting the Server

cargo run -p quietdrop-cli -- server

This command:

  • Generates encryption keys for the server if they don't exist
  • Saves these keys to your local directory
  • Starts listening for connections on 127.0.0.1:8080

Starting a Client

In a new terminal window:

cargo run -p quietdrop-cli -- client

Follow the prompts to:

  1. Enter your name
  2. Type your message
  3. The message will be encrypted and sent to the server

Building from Source

If you prefer to build everything from source, including the desktop and mobile applications:

Prerequisites

Building the Desktop Application

# Clone the repository
git clone https://github.com/chizy7/QuietDrop.git
cd QuietDrop

# Build the desktop application
cd quietdrop-tauri
cargo tauri build

Building for Android

cd quietdrop-tauri
cargo tauri android build

Building for iOS

cd quietdrop-tauri
cargo tauri ios build

Setting Up Signed Commits

QuietDrop requires all commits to the master branch to be cryptographically signed. This helps ensure the authenticity of contributions and is an important security measure for a cryptographic application.

Setting up GPG signing

  1. Generate a GPG key (if you don't already have one):

    gpg --full-generate-key
  2. List your GPG keys to get the key ID:

    gpg --list-secret-keys --keyid-format=long

    Look for a line like sec rsa4096/ABCDEF1234567890

  3. Configure Git to use your GPG key:

    git config --global user.signingkey ABCDEF1234567890
    git config --global commit.gpgsign true
  4. Add your GPG key to GitHub:

    • Export your GPG public key: gpg --armor --export ABCDEF1234567890
    • Go to GitHub → Settings → SSH and GPG keys → New GPG key
    • Paste your key and click "Add GPG key"

Signing commits

With the above configuration, your commits will be signed automatically. When creating commits, you'll see a prompt to enter your GPG key passphrase.

For more information, see:

Basic Usage

Using the Desktop/Mobile Application

  1. Login or Account Creation:

    • Create a new account or sign in to an existing one
    • Your encryption keys will be generated and stored securely
  2. Server Connection:

    • Enter the address of the QuietDrop server you wish to connect to
    • You can run your own server or use a public server
  3. Sending Messages:

    • Select a recipient from your contacts or enter a recipient ID
    • Type your message in the text field
    • Click/tap "Send" to encrypt and transmit your message
  4. Receiving Messages:

    • Messages will appear in your conversation view
    • All messages are automatically decrypted
    • Message status indicators show delivery/read status (when available)

Using the Command-Line Interface

When running the client, you'll be prompted to enter:

  • Your name: This identifies you to other users
  • Recipient name: Who should receive the message
  • Message content: What you want to send

Understanding Encryption

All messages in QuietDrop are automatically encrypted:

  • Messages are encrypted on your device before being sent
  • Only the intended recipient can decrypt the message
  • The server cannot read the content of your messages

Troubleshooting

Desktop/Mobile Application Issues

  1. App won't start:

    • Check that your device meets the minimum requirements
    • Try reinstalling the application
    • For desktop, ensure WebView2 (Windows) or WebKit (Linux) is installed
  2. Can't connect to server:

    • Verify the server address is correct
    • Check your network connection
    • Ensure the server is running and accessible
  3. UI display issues:

    • Ensure your device's display scaling settings are appropriate
    • Try resizing the window (desktop) or rotating the device (mobile)

Command-Line Interface Issues

  1. "Cannot connect to server":

    • Ensure the server is running
    • Check that you're using the correct address (default is 127.0.0.1:8080)
  2. "Error reading key file":

    • Make sure you've run the server at least once to generate keys
    • Check that key files haven't been deleted or corrupted
  3. "Decryption failed":

    • This usually indicates a mismatch in encryption keys
    • Try restarting both client and server

Getting Help

If you encounter issues not covered here:

  • Check the FAQ for common questions
  • Look for similar issues in the GitHub Issues
  • Create a new issue with details about your problem

Next Steps

Clone this wiki locally