Hey
I am playing around Tox in my spare time these days -
https://tox.im/
It aims to replace Skype by providing a DHT that will let you find back
a given user's IP with its Tox ID - and securely interact whit her/him.
See
https://github.com/Tox/Docs/blob/master/core_concepts.rst
The lib has specific APIs to add friends, makes groups etc. It has
text/voice/video capabilities, I am not sure how mature is voice and
video though.
It's based on NaCL and uses crypto_box(), and does all the heavy lifting
there.
Whatever the use case is, I think Tox is a fantastic playground to build
communication tools of all kinds.
Tox does not provide any kind of distributed storage, so if Bob wants to
send Alice a file, he has to be sure Alice is online, registered as a
Tox node when he sends a file.
What would be great would be to be able to send a message or a file to
Alice when she's offline,
--
I've started to play with the idea of building a mail transfert agent
based on Tox, which provides an SMTP gateway that sends regular e-mail
over Tox and maintains a Maildir.
The idea is that instead of going through all the SMTP relays, divulging
your mails metadata and content if you don't use OpenPGP, you send the
mail to the person's Maildir directly - through Tox.
The benefit of this decentralized (here we go) approach is that you can
use existing tools like Thunderbird to send and receive mails securely.
The caveat is that you have to run your own server to send and receive
your mails, but I was thinking that could be a Raspbery-PI you just plug
at home :)
And yes, I do have a working prototype at
https://github.com/tarekziade/toxmail-smtp and a simple pop3 server at
https://github.com/tarekziade/toxmail-pop3 that let you interact with a
regular maildir. I am planning to provide a package that runs both
dameons + a web dashboard to manage things.
If you like the idea and want to play on this with me, ping me - I am
looking for people that are willing to run this server and communicate
with me through that to dogfood. All you need is a desktop client and a
bit of Python-fu/Command lin fu to deploy that thing
Cheers
Tarek