A while ago, we have described an easy and fast way to transfer and share files over Internet using Trasnfer.sh web service. Today, we are going to discuss a similar tool called PSiTransfer. It is a simple and open source file sharing utility used to share our files locally or globally from Linux. It's an alternative to paid services like Dropbox and WeTransfer. Unlike transfer.sh, it is not a website. It is actually a self-hosted file sharing platform. You can deploy it on your home system to share files over local area network. Or, you can deploy it on a VPS or Cloud, so that you can access or share your files from anywhere, using any Internet-enabled device. Since it comes with built-in web server, you don't need to deploy any other extra software. All you need is just a web browser to access or share your stuffs.
Concerning about features, we can list the following:
- No account or login required.
- Upload single or multiple files at once.
- Upload very big files.
- Resume upload or download.
- Download files as zip/tar.gz archive.
- Set an expire-time for your upload bucket.
- One-time downloads.
- Password protected download list.
- Mobile friendly responsive interface.
- Free and Open Source.
- And more.
Now let me show you how to deploy a local file sharing solution using PSiTransfer in Unix-like operating systems.
Install PSiTransfer On Linux
PSiTransfer requires Node >=7.4 or later version in order to function properly. To install Nodejs on your Linux box, refer the following guide.
Once Nodejs, installed, go to PSiTransfer download page, and download the latest version. As of writing this, the latest version was 1.2.0.
$ wget https://github.com/psi-4ward/psitransfer/releases/download/1.2.0/psitransfer-1.2.0.tar.gz
Extract it using command:
$ tar zxvf psitransfer-1.2.0.tar.gz
It will extract all contents in a folder called "psitransfer-1" in your current working directory. Go to the folder:
$ cd psitransfer-1/
And, Install PSiTransfer using command:
$ NODE_ENV=production npm install
Finally, run the following command to start PSiTransfer:
$ npm start
> email@example.com start /home/sk/psitransfer-1 > NODE_ENV=production node app.js PsiTransfer listening on http://0.0.0.0:3000
Allow the port 3000 via your firewall or router in order to access the PSiTransfer dashboard from a remote system.
On RPM based systems, use the following command to allow port 3000.
$ sudo firewall-cmd --permanent --add-port=3000/tcp
Restart firewalld to apply the changes.
$ sudo firewall-cmd --reload
If you use UFW firewall, then run the following command as sudo user to allow the port 3000.
$ sudo ufw allow 3000
How To use PSiTransfer file sharing solution in Linux
Open your web browser and navigate to http://IP-address:3000 or http://domain-name:3000.
This is how PSiTransfer web dashboard looks like.
As you can see, PSiTransfer web interface is fairly simple to use. Click on the + (plus) sign to upload the files of your choice. Alternatively, you can simply drag and drop the files over the Files section to upload them. PSiTransfer allows us to upload single or multiple files at once. Also, you can upload files of any size.
Once the files has been selected, choose the retention period in the Settings section.
Retention period has many options, such as,
- 1 hour
- 6 hours
- 1 day
- 3 days
- 1 week
- 2 weeks
- 4 weeks
- 8 weeks
- one time download
The uploaded files will be kept in the Server depending upon the retention period you chose.
Also, you can set the password to the uploaded files. It will add a bit security to the shared files. The users should enter the password to unlock and download the shared files.
Finally, click Upload button to upload your files to your server.
Once the file upload is completed, you will get the download link of the uploaded files. Just pass this URL to your friends, colleagues or whoever wants to download and use your stuff.
You can also mail the download link from the PSiTransfer dashboard itself or just copy/paste it to your mail ID or any other preferred medium (Whatsapp, messenger) and send it to your recipients.
When the recipients click the Download link, they will be asked to enter the password to unlock the download link.
If they entered the correct password, they can have the download links for all shared files.
Very simple, isn't it? You don't need to be a Linux ninja to deploy a moderate secure file sharing server for your home network. Any one can setup a simple file sharing environment within few minutes using PSiTransfer.