- Notifications
You must be signed in to change notification settings - Fork221
Simple open source self-hosted file sharing solution.
License
NotificationsYou must be signed in to change notification settings
psi-4ward/psitransfer
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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)
- 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)
/admin
Page lists bucket information,Screenshot (disabled until you setadminPass
config value)- LightweightVue 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 theDocumentation
$ 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 usingimage tags e.g.:
latest
: corresponds to master branch2
: latest stable2.x.x
1.1
: latest stable1.1.x
1.0.0
: exact version
# Be sure to have NodeJS >= 12$ node -vv12.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
# Compile the frontend apps$cd app$ npm install$ npm run build# Install dependencies$cd ..$ npm install$ npm start
There are some configs inconfig.js
like port and data-dir.You can:
- Edit the
config.js
(not recommend) - Add a
config.production.js
whereproduction
is the value fromNODE_ENV
Seeconfig.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
public/pug/upload.pug
anddownload.pug
are kept simple.You can alter these files and add your logo and styles.Please keep a footnote likePowered by PsiTransfer :)
Psitransfer usesdebug:
DEBUG=psitransfer:* npm start
- There is no (end-to-end) payload encryption (yet).
Download all as ZIP
does not support resuming the download.
🌟 Contribution is highly welcome 🤘
About
Simple open source self-hosted file sharing solution.