PsiTransfer: An open source self hosted file sharing solution powered by Vue.js

PsiTransfer

An open source, file sharing solution powered by Vue and Docker amongst other technologies listed below. It's an alternative to paid services like Dropbox, WeTransfer.

You can choose any file to upload, add a comment about it, upload additional files, set retention (hours or one-time download) and password, and share the uploaded files via link or email. Please note that this demo is for test purposes only! Do not upload any sensitive data.

Live app

Features

  • Support for big files, >1 Gigabyte (Streams)
  • Resumable and Robust downloads, especially on bad network conditions (tus.io)
  • Download all files as zip/tar.gz archive
  • Modal-style file preview
  • Set an expire-time for your upload bucket
  • Ability to brand the layout with a company logo and colors
  • Retention settings to delete the files after some time
  • Easy handling and no login required
  • Self-hosted due to privacy guidelines
  • Password protection / Encryption
  • No accounts, no logins
  • Mobile friendly responsive interface
  • Lightweight Vue based frontend apps. Gzipped (on by default) less than 65k

Implementation

The Server is, written in NodeJS. It uses Express.js to provide some REST - like endpoints and delivers the frontend applications for up - and downloading the files.

Customization

public/upload.html and download.html are kept simple. You can alter these files and add your logo and styles. The following elements are mandatory: common.js and respectively upload.js, download.js as well as <div id="upload">, <div id="download"> Please keep a footnote like Powered by PsiTransfer :)

Side notes

  • Requires Node >=7.4 or use --harmony-async-await flag
  • Password protected download list (AES)
  • /admin Page lists bucket information, Screenshot (disabled until you set adminPass config value)
  • There is no (end-to-end) payload encryption (yet).
  • Download all as ZIP does not support resuming the download.

    If you are interested in how things work, check the source code available at GitHub. If you would like to see some posts regarding the idea about PsiTransfer and different methods how to deploy and run the application, head to https://psi.cx/tags/PsiTransfer/ and checkout the Documentation.

PsiTransfer is Open Source and licensed under BSD which means it’s free as in free speech, not free as in free beer.

Created and submitted by @PsiTrax.