Thesis & Telekinesis

Today Emanuele and I defended our thesis (but the graduation ceremony will be on Friday)! :D

The topic of the thesis was the Telekinesis project, a system to easily transfer files on a LAN without having to configure a Samba share or something similar. The project is based on the Telepathy framework, Empathy and telepathy-salut, a connection manager for serverless instant messaging in local networks which discovers automatically available contacts using Avahi. Despite being based on instant messaging programs you don’t have to rely on the chat to send/receive files thanks to nautilus-sendto and to the modularity of Telepathy.

Sending a file with nautilus-sendto
Sending a file with nautilus-sendto

An important requirement for the thesis was to develop a secure system: other users should not be able to intercept the files you are sending and they should not be able to pretend to be someone else. This is hard to achieve without relying on a certification authority or something similar, so we decided to use an SSH-like system where it is the user’s responsibility to decide whether to trust or not the other contact.

This means that contacts that support secure chats and file transfers will be considered untrusted and identified in the user interface with the “security-medium” icon. When the user decide that a contact’s identity can be trusted (by chatting online or directly as you are in a local area network and maybe you’re both sitting in the same room) he marks him as trusted and, from that moment on, the system will check the contact’s credentials (i.e. auto-generated X.509 certificates) to verify they didn’t change. This is not the best level of security you can reach but it’s the best you can have without something like a certification authority and without requiring any extra efforts for users.

Contact list with trust levels
Contact list with trust levels

Chat window with trust level button
Chat window with trust level button

Accept file transfer dialog with trust level button
Accept file transfer dialog with trust level button

Untusted contact  Trusted contact
Credentials dialog

Note that the file transfer part of the thesis will be merged soon with upstream programs but the security part is a proof of concept and cannot be merged as-is, so don’t criticise the user interface too much! ;)

Telekinesis video thumbnail
Telekinesis screencast (Ogg Theora video, 946 kB)

Both the thesis and the slides used during the defence are available on my web site (but they are in Italian).

We would like to thank all the Collabora guys who worked with us, in particular Sjoerd and Xavier. And, of course, our supervisors fog and gg! ;)

Information and Links

Join the fray by commenting, tracking what others have to say, or linking to it from your blog.

Other Posts

Reader Comments

Great work ;-) Congratulation.


Bravissimo ! What a nice thesis !


I’m sure I would love Empathy :) .

I’ve been trying to get somone from the empathy/telepathy projects to help integrate use of Seahorse’s DBus interface for secure chats. If you’d be interested, let me know.

Cheers and congrats on the sucessful thesis!

Complimenti a tutti e due, bellissima tesi! :-)

Imbocca al lupo per la proclamazione!

Complimenti Barix! Molto minimalista la gui, mi piace un sacco! Molto macosx ;-)

looks great!

Is there a tar.gz available? or even a .deb package?

and what do you think of Giver: ?

The file transfer functionalities will be merged with the main stream programs. The security functionalities will not be merged as-is and are available only as source code. See the source code page on the wiki and the jhbuild page.