Plumbings to share files with your friends.
JavaScript Erlang CSS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Fipes, plumbings to share files

Fipes provides you a simple way to share files with your friends.


  • Provides a small web application.
  • Easy to install, easy to launch, easy to use.
  • Doesn't keep any data about you or your files.
  • Free as in freedom.

Getting Started


Install the project

$ git clone
$ cd fipes
$ git checkout -b stable v0.1.0 # last stable version
$ make

These commands should pull the Erlang dependencies.

Configure Nginx

Here is a sample configuration for nginx (you will need nginx 1.4 or later to have WebSocket proxying):

# /etc/nginx/sites-available/
server {
    listen 80;
    # Or the line below if you want https
    # listen 443 ssl;

    root /path/to/fipes/public;
    index index.html index.htm;

    server_name_in_redirect off;

    # Uncomment the lines below if you want https
    # ssl_certificate     /path/to/fipes.crt;
    # ssl_certificate_key /path/to/fipes.key;
    # ssl_protocols       SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    # ssl_ciphers         HIGH;

    location / {
        proxy_read_timeout 900;

    # We need to turn off the buffering for Server-Sent Events
    location /stats {
        proxy_buffering off;

    # WebSocket proxying (requires nginx 1.4 or later)
    location ~ /fipes/([^/]+)$ {
        proxy_read_timeout 900;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;

    # Uncomment the lines below if you want to launch the js tests
    # location /tests/ {
    #     proxy_pass;
    # }

# You may want to uncomment the lines below to always redirect
# http to https
# server {
#     listen 80;
#     server_name;
#     # Redirect http to https
#     rewrite ^ https://$server_name$request_uri? permanent;
# }

Enable your site:

$ sudo ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled/
$ sudo /etc/init.d/nginx reload

Start the server

$ cd fipes
$ make start # start the server as a daemon on port 3473

Then open a browser to (where is your domain).

If you just want to test the application on your machine, just edit your /etc/hosts:

# /etc/hosts

and launch the server with:

$ make dev


  • Fipes is not p2p. However no data is stored on the server ever. The data just pass through the server, that's all.

  • Reloading the page while you're in a Fipe will stops the browser from serving your files. This is normal as the JavaScript File objects are lost while refreshing the page. You'll have to offers these files again.

  • For now, anyone can enter a Fipe.


See in this repository for the contributing guidelines.

What about the name

Fipes is a Portmanteau word combined from the two words file and pipes. In other words, Fipes can be seen as a pipe for files.


Fipes is released under the terms of the GNU Affero General Public License v3 or later.