Skip to main content

ShareFest, Web based P2P file sharing

ShareFest logoPlenty of services exist to share files, the famous one like Dropbox, Google drive, etc… or some services to selfhost such as Pydio, Owncloud, (already covered in this blog).


But not many are using Peer to Peer and even less are web based. But it’s the case of ShareFest and thanks to HTML5 WebRTC, no need of additional plugins to share your files.

Indeed, ShareFest, javascript-based, allow you and your user to simply drag and drop a file into their web browser to get a URL to share to anyone. Then the file transfer will be in P2P. Obviously, as soon as you leave the page, the transfer/sharing stop. But then, the more people having your URL open, the more seeders.

A demo is available here.

Let’s see now how to install ShareFest on your own server.


1) Install nodejs and npm

– If you use Ubuntu, simple run (as root)

– If you are on Debian (Wheezy?) like me, you can install nodejs from wheezy-backports (modify your source.list accordingly) and run (in root):

and for npm, you can use the installer

2) Clone their latest release into your /var/www folder

If you don’t have git installed, simply run:

Then clone their repo

3) Install the required dependencies with npm

4) Start the service

and you should now be good to start!

Simply go to http://YourIP:13337

If you want to know more about ShareFest, you can check their growing FAQ.

Your next step could be to set up a virtualhost to have a more userfriendly URL like sf.domain.tld and even force SSL connection.


Virtualhost configuration

What you will need:

1) Create a A redirection in your DNS server/registrar with sf.domain.tld to your IP

2) Have SSL certificate ready. If not you can read this tutorial. (Optional)

3) Create your virtualhost as following:

In /etc/apache2/sites-enabled/, create a file called sharefest (In root):

and paste the following content:

Adapt the content (Servername, webmaster, SSL certificate and directory).

When done, save the file (CTRL+X then Yes) and reload apache: (In root)

Now your ShareFest instance should be fully working will SSL certificate and accessible through sf.domain.tld.

Simple file sharing, Droopy

I’ve written several posts on file sharing, like using Owncloud or Pydio to manage all your file on your server and provide download links, or more specific apps like OnionShare (Secure and anonymous file sharing). But never wrote on a simple file sharing that could easily start/stop when wanted.

And this where Droopy can be used.

Droopy is a mini Web server dedicated to let others upload files to your server.

Written in Python, Droopy works on Linux, BSD, MacOSX but also Windows.

As usual, I will only present how to run it on a Linux system.


1) Install Python

Simple run (as root)

2) Download the binary to the folder of your choice

You can create a dedicated folder called droopy on your home user for example:

Then download the binary

3) Create a dedicated folder for all the uploads (Optional)

4) Run the app

And the uploaded file will be saved under /home/user/droopy/upload.

Droopy screenshotFinally, when the file sharing is done, simply stop the python script by pressing CTRL+C


To see all options, you can view the help: