Simple user-to-user file transfer without configuration in a LAN


There are many solutions to share one or more files, from setting up a Samba share, to a personal directory in a HTTP or FTP server, they have one big common flaw: they do not “just work”. As a consequence people often use services relying on an external server (such as email and chat), or removable devices. In some cases it is not even reasonable to do server-based communication, as is the case of meshed networks.

An ideal system should automatically discover other users in the neighborhood, list them and let the user choose who to send files. The system should also work without any configuration, without the need to tell one’s IP address, and without requiring any operation from the administrator, such as setting up a server or configuring a service.

For my dissertation I’m going to develop a program to satisfy those needs enabling users to easily send and share files over a LAN and I want to propose it as a Summer of Code project for GNOME. Detailed proposal here. Anyone want to mentor me?

Update: The project has been accepted and it’s now called Telekinesis.

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

Hi,
there is already a very easy to “setup” and use tool, but it could be extended to offer auto-discovery, encryption and a GUI – like you proposed. Please have a look at Woof.

article
http://enterprise.linux.com/article.pl?sid=07/02/07/2118208&from=rss
project site
http://www.home.unix-ag.org/simon/woof.html

Do you think your proposal is enough for a summer of code project?

Hey,
just propose it I am pretty sure we will find a mentor. ;-)

Cheers,
Christian

I use OBEX (http://en.wikipedia.org/wiki/OBEX) over bluetooth extensively between a couple of workstations (one windows), a laptop, my phone and nokia 770 that are all on different IP networks. Its reasonably well supported on lots of mobile devices and as far as I can see there is no reason it couldn’t work over TCP/IP using zeroconf/avahi using PCs on the same network without config. Its already reasonably well supported on Linux (although it could be much better, and support is improving). There is a gnome-vfs-obex module, the obex server could be easier to configure, but IP/zeroconf support would be awesome. Your extending an existing standard and improving the support which means it would work well out of the box as part of an open standard with hundreds of devices.

What you want already exists! Gajim (jabber-client) works in a local network without any configuration due to avahi!

Samba works fine. Don’t you think it would be better to fix what would be broken instead of running away ? Stop NIH.

And what happened to Novell folders ?

I agree that this is a needed system.. And I don’t think any of the tools out there hit the nail on the head.

A user should be able to right click a file and go “send to> network user> (list of network machines)”

Yes, if you write such a thing, please do it in context of Telepathy. Fix up Salut and Gossip to work right. The solution is already nearly done.

The problem with auto-discovery is you have to install the application on both machines, with woof you only need it in one machine… It’s all about pros/cons.

@Nikolaus:
woof is just a simple web server, it has advantages but it’s not what I want. Adding needed features to it is more difficult than writing what I want using telepathy, telepathy-salut, etc.

@Christian Kellner:
Probably sjoerd, the author of telepathy-salut, will be my mentor.

@steve:
Gajim is using the iChat protocol, the same protocol I want to use through telepathy-salut.

@Benoit DEJEAN:
I’m not inventing anything, I’m using known protocols: basic XMPP, the iChat protocol for link-local messages (XEP-0174), standard XMPP file transfer (XEP-0096).

Moreover Samba shares folders, I want something to send files as you usually do with email and chat.

@nick podges:
nautilus-send-to uses plugins so it should easy to integrate it with my program.

@Jerome Haltom:
Yes, it’s what I want to do.

@Jesus:
But with woof you have to communicate your ip address, the port, etc.

How about the GShare project?

http://yimports.com/%7Ecpinto/projects/gnome/gshare/

Looks exactly like what you are talking about…

Link-local XMPP and Jingle would be supreme for this.

Making this compatible with at least iChat sounds like an excellent idea.

Please make sure to support multiple simulateneous logins on the same machine and on different machines properly!

waste.sourceforge.net

Personally I think that file sharing (making a folder public on the network, to all or to a group) is more useful and simpler than file sending (sending a file once, to one person).

I wish that gnome-user-share or even SMB file sharing worked for me in Ubuntu.

I seem to recall the OLPC project having some form of mesh network chat. Probably the same protocol and software, but a different GUI and with file sharing added would be a good start. I’m sure it’s all Telepathy goodness too!

[…] Reading some comments on my SOC proposal I have the impression that someone didn’t understand what I’m going to work on, I don’t want to write yet another Samba-like program but an application to send files over a LAN without the need to share folders. […]

[…] My SOC application has been accepted! […]

[…] As said in previous posts, I’m working on a SOC project, called Telekinesis, to make easy to transfer files over a LAN. […]