Skip to content
Snippets Groups Projects
Select Git revision
  • 7e1130b3fdfad4cd32a9c89828171359a00d225e
  • master default
  • bramble-config
  • rebase-intro-iii
  • tester
  • implement-mailbox-contact-sessions-testing
  • implement-mailbox-contact-sessions
  • mailbox-introduction
  • ux-pairing
  • add-mailbox-unpaired-screen-to-briar
  • refactor-mailbox-sessions
  • implement-incoming-sync-session-reuse-for-mailbox
  • implement-mailbox-pairing-error-fragment
  • rebase-ui
  • mailbox_introduction_client
  • fix-history
  • ui_mockup
  • mailbox
  • mailbox-updated
  • mailbox_rebase
  • 2018-Jul-bontric-refactor-exchangeTask
21 results

README.md

Blame
  • user avatar
    goapunk authored
    dd00ab38
    History
    To learn more about this project, read the wiki.

    Briar Mailbox

    This project aims to develop an easy way for Briar users to increase their reachability and lower the battery drain of their phone.

    In Briar messages are exchanged directly between contacts (peer-to-peer). This kind of synchronous message exchange requires contacts to be online and connected to each other.
    While this is great for privacy (no central server which can log things or be censored) it's bad for reachability, especially in mobile networks where connectivity can be limited.

    graph LR
     A[Alice]
     B[Bob]
     A1[Alice]
     B1[Bob]
     style B fill:#8db600
     style A1 fill:#8db600
     subgraph Alice offline
     B-. can't send message .-> A
     end
     subgraph Bob offline
     B1-. can't send message .-> A1
     end

    Message delivery could be delayed for an arbitrary time (or even indefinitely) until both Bob and Alice are online at the same time.
    The repeater solves this problem by providing mailbox-like message buffer where contacts can leave messages for the owner of the repeater and which is connected to a stable internet connection (e.g. the wifi at home, cable internet) and a power source.

    graph LR
      A[Alice]
      A1[Alice]
      B[Bob]
      B1[Bob]
      RA["Mailbox (always online)"]
      style B fill:#8db600
      style RA fill:#8db600
      style A1 fill:#8db600
      subgraph Alice offline
      B-. can't send message .-> A
      end
      subgraph Alices' Mailbox
      B-- send message --> RA
      end
      subgraph Alice online
      B1-. can't send message .-> A1
      A1-- get message --> RA
      end

    Hardware

    We want the repeater to be as easy to deploy as possible. The first version will come as Android application since it will be easy to setup and besides a spare phone no special hardware is required. Once this is done support for any hardware supporting Java (e.g. unix server, raspberry pi) will be added.

    Features

    Core features

    • Allow contacts to store messages for the owner of the repeater
    • Allow the owner to store messages for her contacts. Contacts can pick them up when syncing with the repeater.
    • Owner and contacts connect to the repeater via Tor.

    Extended features/components

    • The repeater can sync group messages (from groups the owner is part of) with other group members (increases message circulation)
    • Contacts and the owner can connect to the repeater via other transports (Bluetooth, Wifi-Direct, Lan)
    • Push-like message notification for the owner to decrease battery drain