Filesender

Introduction

Who never got angry against Instant Messenger's file sharing system ? I did a few years ago, and then I started looking for a way to exchange data faster in order to really use the bandwidth given by my internet provider. I wanted something simple, as fast as drag and drop the file into my IM system, easy to use and that would not annoy people who'll be given the file. This is why I've chosen to use a third party server in order to store data and allow anyone to access it via an http link.

The concept

The concept was to add an entry in the contextual menu of files in the hard disk drive explorer that would allow to set up the transfert. Then a windows would open and show the progression of the transfert and, in the end, notify the user that the file has been uploaded and copy the http path into the clipboard.

So, it requires :

  • An http server (apache or something else)
  • An FTP Account on it with a writing access (FTP-on-ssh is not currently supported)

The first version

The first version has been developed for Windows NT only (what a shame), it has been done as an educational purpose in C using WIN32 and Winsock to implement the FTP's protocol. After implementing this, I decided to create a way to transfert file using a P2P approach. I created a new protocol that would allow error-free fast transferts between 2 peers.

You'll find this version here: CppFrance . This version is no longer supported and I'm not proud of it anymore.

The second version

The second version is supposed to be fully portable. To achieve this goal, I've decided to use Qt that is a powerful C++ library because of its native portability and the fact that there are already functionalities like http/socks proxy, Ftp support, clipboard, etc... This is my second project in Qt, the first one was a software for researchers of the University of Central Lancashire (UCLAN, Nothern England).

This a personal project but I want to offer it to the open source community. The concept will evolve, I'm already using FS daily and I will consider every proposition to make it grow :)

How to install it

POSIX OSs

Installation instructions are available : Install Guide (will be written soon)

Windows

Installation instructions are available : Install Guide (will be written soon)