PSiTransfer, which is a simple and open source file sharing utility. Using PSiTransfer, we can either share our files locally or globally. Unlike transfer.sh, it is not a website. It is actually a self-hosted file sharing platform. You can deploy it on 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 a web browser to access or share your stuffs.
Concerning about features, we can list the following:
- Upload single or multiple files at once
- Upload very big files
- Resume upload or download
- Set an expire-time for your upload bucket
- One-time downloads
- Password protected download list
- Free and Open Source
More yet to come. In this brief guide, I will show you how to deploy a local file sharing solution using PSiTransfer in Unix-like operating systems.
PSiTransfer requires Node >=7.4 or later version in order to function properly. To install Nodejs on your Linux box, refer the following section.
Install Nodejs from NodeSource
Even though, nodejs is available in the default repositories, it might be bit outdated. To use the most recent version, install the latest version from NodeSource as shown below.
On Debian, Ubuntu distributions:
For Nodejs 7.x:
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
Then, install Node.js using command:
sudo apt-get install nodejs npm
* if errors appear, you may simply discard ‘npm’ as it might be bundled with nodejs.
Install build tools (Optional)
To compile and install native addons from npm repository, you may also need to install build tools. To install build tools on Debian, Ubuntu distributions, run the following command:
sudo apt-get install -y build-essential
Once Nodejs, installed, go to PSiTransfer download page, and download the latest version:
Extract it using command:
tar zxvf psitransfer-1.0.0-rc.1.tar.gz
It will extract all contents in a folder called psitransfer-1.0.0-rc.1 in your current working directory. Go to the folder (assuming it is extracted to /root directory):
And, Install PSiTransfer using command:
NODE_ENV=production npm install
Finally, run the following command to start PSiTransfer:
firstname.lastname@example.org start /root/psitransfer-1.0.0-rc.1 > NODE_ENV=production node app.js PsiTransfer listening on http://0.0.0.0:3000
Allow port no 3000 via your firewall or router in order to access the PSiTransfer dashboard from a remote system.
Open your web browser and navigate to http://IP-address:3000 or http://domain-name:3000
It is installed.
Now configure this application Run in Background:
There are several ways to do this, you can either use nohup, or append & at the end of command – personally, I’ve found forever to do the job perfectly fine. Assuming you already have npm installed, if not, just do-
apt-get install npm
Then install forever
npm install forever --global
Now you can run it like this
forever start app.js
And it will take care of everything even if you leave your terminal or SSH session.