FlowingMail is composed by several sub-projects.
Some sub-projects are also released as individual open source projects.
Sub projects
EverywhereDHT
This is the distributed hash table used by FlowingMail. It derives from the Kademlia protocol.
The project doesn’t include the transport protocol, but supplies base classes that define the interface for the classes that will implement the transport.
Source code: https://bitbucket.org/flowingmail/everywheredht
Status: in progress and released (by Paolo)
Goingthere
This is the transport protocol for the DHT.
It includes nodes authentication & communication encryption between the nodes. This doesn’t include the mail encryption & transport, only the transmission of the DHT commands.
It includes the UPNP protocol to open external ports on home routers.
Source code: not yet released
Status: just started (by Paolo)
Alsohere
Persistent storage for the DHT. Uses sqlite as database.
Source code: not yet released
Status: in progress (by Mike)
Risk analysis tool
This is the tool we used internally to manage the risks and requirements.
Source code: https://bitbucket.org/flowingmail/riskanalysis/overview
Status: in progress (by Paolo)
Onlyhere
Persistent storage for the mail, contacts, cached public keys of most contacted people
Source code: not yet released
Status: not started (by Mike)
FlowingMail SDK
FlowingMail library that uses the other sub-projects to send/receive emails
Source code: not yet released
Status: planning (by Paolo)
FlowingMail desktop client
Qt based application that uses the FlowingMail SDK to send/receive emails.
Source code: not yet released
Status: in progress (by Mike)
FlowingMail Android client
Java application that uses the FlowingMail SDK (via JNI) to send/receive emails.
Source code: not yet released
Status: not started