[tor-dev] GSoC 2017 - unMessage: a privacy enhanced instant messenger
dawuud at riseup.net
Tue Mar 28 21:43:12 UTC 2017
Yes... write unit tests with pytest. Sounds good but I would
suggest writing tests earlier in the development process next time.
Does your project have a specification for this software?
Otherwise I have to read the code to learn how it works.
Using automat for the fsm sounds like a great idea. You probably
will end up making several finite state machines and connecting them
together in a graph. If you end up doing that you should probably first
draw a picture... it helps to clarify.
I've recently started to experiment with automat myself and I've heard
good things about it from my associates.
also you could add :
- hypothesis tests (fuzzing/property based tests)
- changes to setup.py and add a requirements.txt
- use python attrs to eliminate boiler plate code in your classes
as an example here's my fork of sphinx, a mixnet crypto library with
100% unit test coverage, hypothesis fuzzing, usage of attrs and a
proper setup.py and requirements.txt file:
I'd be interested in collaborating with you and mentoring this project.
I'm not sure how much time I'll have in the coming months... we'll see.
On Tue, Mar 28, 2017 at 07:23:16PM +0000, Felipe Dau wrote:
> I am a Computer Engineering student at the Federal Technological
> University of Parana in Brazil and I would like to present you a
> peer-to-peer privacy enhanced instant messenger called unMessage .
> I have been working on it for a while with David Andersen  (my
> advisor) and we have recently released an alpha version which should
> be easy for developers to install and test.
> It uses the Double Ratchet Algorithm  for encryption, Onion
> Services for transport metadata minimization, its own protocol for
> application metadata minimization, and as a result, provides private
> and anonymous conversations. It currently has basic features such as
> message exchange, user authentication and we very recently enabled
> voice chat using the Opus codec  for constant bitrate encoding.
> unMessage is a Python application that mainly uses pyaxo's 
> implementation of Double Ratchet Algorithm and txtorcon's 
> implementation of the Tor Control Protocol.
> Since its current (alpha) release, we have been discussing it with
> Patrick Schleizer  and HulaHoop  from Whonix , who are making
> great contributions to help us test it, as well as suggesting new
> features and improvements. We are also working to run it on Whonix
> (which will also allow it to be run on Tails) with help from
> meejah  by adding a new feature to txtorcon to make unMessage (and
> all the apps that use txtorcon) "Control Port Filter friendly".
> As we believe unMessage has potential to become a great privacy
> enhancing app with a code that is simple, readable and therefore easy
> to maintain, Patrick suggested that I submitted a proposal to have
> unMessage as one of the GSoC projects. We expect to implement fixes,
> improvements and features from our discussions in order to turn it
> into a maintainable, feature-rich and useful app which the community
> can benefit from.
> There are currently some "developer centered" tasks I can work on
> such as:
> - Create a test suite (with pytest)
> - Make unMessage's own functions/methods behave like a Twisted API
> - Use automat for its finite-state machines
> - Make use of a logging tool
> - Improve comments/document the code
> As well as some "user centered" tasks:
> - Whonix/Tails support
> - Improve the GUI and CLI
> - File transfer
> - Use a friendlier approach for users to handle keys instead of
> the current base32/64 encodings
> - Connect/launch Tor automatically depending on what is available
> - Offline messages
> (All the other ones can be found in the issue tracker )
> My intention with this post is not only to present unMessage to
> tor-dev but also see if someone is interested in mentoring me as it
> is not one of the official ideas but hopefully sounds like a good
> project. If someone gets interested, please let me know so that we can
> discuss which tasks would be interesting for this project and I am
> able to write a proposal.
> : https://github.com/AnemoneLabs/unmessage
> : https://github.com/rxcomm
> : https://whispersystems.org/docs/specifications/doubleratchet
> : https://opus-codec.org
> : https://github.com/anemonelabs/pyaxo
> : https://github.com/meejah/txtorcon
> : https://github.com/adrelanos
> : https://github.com/HulaHoopWhonix
> : https://whonix.org
> : https://github.com/meejah
> : https://github.com/AnemoneLabs/unmessage/issues
> tor-dev mailing list
> tor-dev at lists.torproject.org
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 833 bytes
Desc: not available
More information about the tor-dev