FileTea, low friction anonymous file sharing


Let me present you FileTea, a project enabling anonymous file sharing for the Web. It is designed to be simple and easy to use, to run in (modern) browsers without additional plugins, and to avoid the hassle of user registration.

Works like this:

  • Mary wants to share a file with Jane. She opens a browser and navigates to a FileTea service.
  • Mary drag-and-drops the file (or files) she wants to send into the page and copies the short url generated for each file.
  • Mary sends the url to Jane by instant messaging, e-mail, SMS or just posts it somewhere.
  • Jane receives the url, opens it in her browser and downloads the file.

A reference deployment is running at http://filetea.me. It is alpha version and is kindly hosted by Igalia (thanks!). Please, feel free to try it (and provide feedback!).

FileTea is free software and released under the terms of the GNU AGPL license. That means that you can install it in your own server and host it yourself for your organization, your business or your friends. The source code is hosted at Gitorious.

We are not alone

There are similar services running out there like http://min.us, http://ge.tt, http://imm.io, and maybe others I’m not aware of. But FileTea is different in three important aspects:

  • FileTea is free software (including server side), meaning development is open to the community, and you can run your own instance and make it better.
  • FileTea does not store any file in the server. It just synchronizes and bridges an upload from the seeder with a download to the leacher.
  • FileTea sets no limit to the size of shared files.

Features, my friend

Currently, FileTea has the bare minimum features to allow file-sharing, but I have a long list of possibly cool stuff to add as I find free time to work on them. Some hot topics are:

  • Global and per-transfer bandwidth limitation (up and down).
  • Proper thumbnails for the shared files.
  • Bulk sharing: the ability to share a group of files under a single url and download a zip or tar ball with all files together.

If you have more ideas, I would be happy to hear them.

So that’s it, happy sharing!

10 thoughts on “FileTea, low friction anonymous file sharing”

  1. Congrats dude! I love filetea

    Just a feature request:

    I definitively would love to have a filetea.me CLI (console tool) to share files between boxes without a browser using filetea !! That would be a killer feature

    Also as a bonus paranoid people could add encryption on the fly easily piping through openssl:

    sender ~# cat data.tar.gz | openssl enc -aes-256-cbc -e | filetea.me

    receiver ~# wget -qO- http://filetea.me/12345 | openssl enc -d -aes-256-cbc -out file.tar.gz

  2. OS = Debian squeeze 64 bit
    Browser = Google Chrome version 15.0.874.15 dev > does not work, spinning wheel forever.
    Other browsers are ok, like :
    SRWare Iron 13.0.800.0 (Developer Build 95650 Linux)
    Firefox 9.0a1

  3. Can we have progress bars on both sides, indicating the transfer? That way it will look more as a skype/gtalk/IM file sharing, and you will not have to explain to everyone that both sides need to be open fot the transfer to happen. Every time I drop a file, it can show 0% uploaded, so I know I have to wait for the other side to download. When transfer is done, and upload is 100%, the file and its link are not needed anymore.

    If you want to have batch uploads, then you can have a pair of URLs for a session, which are the both sides of a pipe. User 1 drops file at one end, User 2 gets notification on the other end. Pipe can be bi-directional. User 1 opens a new pipe, gets redirected to url1, and receives url2 (the other end of the pipe). User 1 sends url2 to User2, and both of them can transmit files via anonymous pipe. User1 can open another pipe with another user.

  4. On 2011/09/23 at 8:32am Suncho wrote:
    > Can we have progress bars on both sides, indicating the transfer?

    Yes, we need transfer progress indication on both sides. Several users have asked that and it was really in the roadmap since the beginning. My idea is to add a ‘Transfers’ tab where the list of uploads and downloads are shown with progress bar, button to cancel it, slider to limit bandwidth, etc.

    > If you want to have batch uploads, then you can have a pair of URLs for a session, which are the both sides of a pipe.

    About the session pipe you propose, it is actually a clever idea. FileTea could open a tunnel between two users if they plan to transfer more than one file. Implementation-wise is not complicated, but we will have to think carefully how to present that feature to the user keeping it simple and intuitive (simplicity must remain a key feature). This is now in the TODO list, thanks a lot for the idea!

  5. On 2011/09/25 at 7:39pm Doubt wrote:
    > What is anonymous about this? What prevents a leecher to know the IP address of the seeder?

    The seeder and the leecher have no direct communication. Transfers occur through the FileTea server and it does not reveal any information to the sides other than file name, size and mime-type. The transfer is presented as an anonymous upload from the seeder to the server, and as an anonymous dowload from the server to the leecher.

    I hope your doubt is clarified now :).

  6. Could you run the web server in the browser? That way the leecher could contact the seeder directly, without the network overhead and involvement of a third party bridge. Ahh, it’s been done, sort of: “Opera Unite allows you to easily turn your desktop into a web server and run a number of web services like photo-sharing, file-sharing, a web server, and an online media player right from your machine and access all of these services from anywhere.”

    Browsers should be web servers, as Tim Berners-Lee’s NeXT computer was back in 1990.

  7. This is a great project, and I have 2 questions about that:

    1. Why not use a general web server and cgi scripts to build the web server?

    2. All the stream must be relayed by web server, and the bandwidth cost much. So is there any way to transfer files directly between any users to make browser like a p2p client.

    Thanks.

Comments are closed.