PsiTransfer
Simple open source self-hosted file sharing solution with robust up-/download-resume and password protection.
Simple open source self-hosted file sharing solution with robust up-/download-resume and password protection.
# PsiTransfer [](https://github.com/psi-4ward/psitransfer/releases) [](https://david-dm.org/psi-4ward/psitransfer) [](https://snyk.io/test/github/psi-4ward/psitransfer) [](https://github.com/psi-4ward/psitransfer) [](https://hub.docker.com/r/psitrax/psitransfer/) [](https://microbadger.com/images/psitrax/psitransfer) [](https://hub.docker.com/r/psitrax/psitransfer/) [](https://hub.docker.com/r/psitrax/psitransfer/) [](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RTWDCH74TJN54&item_name=psitransfer) Simple open source self-hosted file sharing solution. It's an alternative to paid services like Dropbox, WeTransfer. * No accounts, no logins * Mobile friendly responsive interface * Supports many and very big files (Streams ftw) * Resumable up- and downloads ([tus.io](https://tus.io)) * Set an expire-time for your upload bucket * One-time downloads * Download all files as zip/tar.gz archive * Modal-style file preview * Requires Node >=7.4 or use `--harmony-async-await` flag * Password protected download list ([AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)) * `/admin` Page lists bucket information, [Screenshot](https://raw.githubusercontent.com/psi-4ward/psitransfer/master/docs/PsiTransfer-Admin.png) (_disabled until you set `adminPass` config value_) * Lightweight [Vue](https://vuejs.org) based frontend apps. Gzipped (on by default) less than 100k * Explicit named bucket IDs with query param `sid=<myBucketID>` **See the blog posts about PsiTransfer: https://psi.cx/tags/PsiTransfer/ and checkout the [Documentation](https://github.com/psi-4ward/psitransfer/tree/master/docs)**  ## Quickstart ### Docker ```bash $ docker run -p 0.0.0.0:3000:3000 -e PSITRANSFER_ADMIN_PASS=secret -v $PWD/data:/data psitrax/psitransfer # data volume needs UID 1000 $ sudo chown -R 1000 $PWD/data ``` Specify the version by using [image tags](https://hub.docker.com/r/psitrax/psitransfer/tags/) e.g.: * `latest`: corresponds to master branch * `2`: latest stable `2.x.x` * `1.1`: latest stable `1.1.x` * `1.0.0`: exact version ### Manual, precompiled ```bash # Be sure to have NodeJS >= 12 $ node -v v12.4.0 # Download and extract latest release package from # https://github.com/psi-4ward/psitransfer/releases # Install dependencies and start the app $ NODE_ENV=production npm install $ npm start ``` ### Manual, from source ```bash # Compile the frontend apps $ cd app $ npm install $ npm run build # Install dependencies $ cd .. $ npm install $ npm start ``` ### Configuration There are some configs in `config.js` like port and data-dir. You can: * Edit the `config.js` **(not recommend)** * Add a `config.production.js` where `production` is the value from `NODE_ENV` See `config.dev.js` * Define environment Variables like `PSITRANSFER_UPLOAD_DIR` to set the upload directory * To secure your PsiTransfer if exposed to the internet from unwanted, non authorized uploads use the `PSITRANSFER_UPLOAD_PASS` environment variable ### Customization `public/pug/upload.pug` and `download.pug` are kept simple. You can alter these files and add your logo and styles. Please keep a footnote like *Powered by PsiTransfer* :) ### Debug Psitransfer uses [debug](https://github.com/visionmedia/debug): ```bash DEBUG=psitransfer:* npm start ``` ## Side notes * **There is no (end-to-end) payload encryption (yet)**. * `Download all as ZIP` does not support resuming the download. :star2: Contribution is highly welcome :metal: Want to say thanks and buy me a beer? [](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RTWDCH74TJN54&item_name=psitransfer) ## License [BSD](LICENSE)
A self-hosted file sharing platform that combines lightness and beauty, perfect for seamless and efficient file sharing.
Simple, robust, BitTorrent tracker (client and server) implementation.
Record and share audio files (documentation in French).
Minimalistic web application designed for sending private and secure notes.