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.
JavaScript HTML CSS Other
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"