Deuxdrop is a secure messaging system designed for mobile phones and desktops. The messaging protocol is distributed similar to email but built with real security/identity and contact addressing similar to chat systems like jabber.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

⚠️ This project is not actively maintained ⚠️

Proceed at own risk 🙅


Secure messaging with the distributed federation and deliver model of email but with the contact list model of chat systems like jabber.

Raindrop 2 => Raindrop Deux => Deuxdrop

Checking it out

note the --recursive option

git clone --recursive git://

Directory structure

  • clients/: Clients and client-specific JS code
  • common/: JS code shared between client, server
  • deploy/: cobbler/puppet automation for setting up servers / dev machines
  • servers/: Servers and server-specific JS code

System deps

See the install instructsions for help


note: make sure you checked us out with git clone --recursive. If not, do git submodule init and then git submodule update

cd servers

note: make sure you have npm and node.js installed, see instructsions

npm install

Problems installing? Checkout our Build FAQ


The cmdline tool will help you get things running. Use ./cmdline --help for more.

./cmdline run-server


See the deuxdrop wiki for more documentation


Try the built-in loggest displays:

  • The client daemon's logs are available at "about:loggest"
  • The server's logs are available at "about:loggest-server" if the server is run with "--loggest-web-debug".

Have Firefox display websocket connection details by enabling PRLogging for it:

  • "export NSPR_LOG_MODULES=nsWebSocket:5" then run, to get on stdout
  • "export NSPR_LOG_FILE=/tmp/firefox.log" if you don't want it on stdout
  • On windows, use "set NSPR_LOG_MODULES=nsWebSocket:5" and "set NSPR_LOG_FILE=%TEMP%\log.txt"