There is no easy way to send files from one computer to another one without performing some configuration before. The idea is to include this into the Send to menu of Nautilus.


Currently, if you want to send a file over a local network from one computer to another one, some custom configuration is necessary. Either one has to set up a samba, nfs, ftp or sftp server, or (as some people really do) send an e-mail or an instant message which takes the unnecessary route over the internet. Another very useful method is to start netcat, but one nearly has to be a geek for knowing how to use it.

Use Cases

  • Michael has a desktop pc at home and a laptop that he uses when he is abroad. He just downloaded the Gusty Gibbon iso file to his desktop pc and wants to copy it to the laptop in order to give it away to members of his LUG. At home, he sends the file from the desktop pc to the laptop. When he meets with the people from the LUG, he simply connects to the WLAN they have installed and sends the file to a friend's laptop.


There need to be a sender and a receipient part. It makes sense to use existing protocols like zeroconf and obex in order to easily provide platform independency. That way it should be possible to send and receive files from and to other operating systems.

Openobex already provides the possibility to send and receive files over a tcp connection, but this is currently fixed to tcp port 650. There is already a patch for this problem that can be found on the mailing lists archive of OpenOBEX.

Sender part

The sender can be implemented as an option in the Send to dialog of Nautilus. The dialog shall simply list any computers providing a zeroconf-announced obex server on the network. It is only necessary to choose the target computer and click on the send button.

Receipient part

There needs to be an obex server that is listening for incoming connections. This server has to be announced with zeroconf over avahi, so that other computers can see it in the list. When somebody wants to send a file to the server, there needs to appear a small dialog that asks the user if he really wants to receive it, quite similar to gnome-obex-server. If the user chooses yes, a file chooser pops up where the save path can be selected. Then the file is transfered and stored there.



Don't know if this is the right maner to comment, but I though I'd let you know that some of the Mono/Novell guys wrote something pretty much like this called giver: http://code.google.com/p/giver/


EasyNetworkFilesending (last edited 2008-08-06 16:19:26 by localhost)