One of the most used online services are those allowing you to upload large files and share them with someone. May services exists, either dedicated like wesendit, etc… or with a larger set of features, like Dropbox, allowing you to sync your files accross devices for example.
Each of them have similar alternatives, some very advanced and robust like Pydio, Owncloud, or Seafile and some with unique features like OnionShare that goes through TOR, ShareFest that is a web based P2P sharing service or Droopy, one of the lighest and simplest one.
But many remember Jyraphe, a popular file sharing web application, very simple with good enough features. However this project has not been updated for years and this is where Jirafeau enters.
Easy to install and with no database, Jirafeau allows you to upload large files (Thank you HTML5) and will provide you a unique link. With progression stats (Speed, percentage and remaining upload time), password protection (Upload or Download), Time limitation, self-destruction after reading and file deduplication, Jirafeau is a powerful yet simple service to share your files.
With Jirafeau, you can also preview content in your browser, shorten URLs and even encrypt the data.
Great service, that you can use and try on jirafeau.net. Or follow the below tutorial to install it on your server. (Assuming you are on Ubuntu / Debian style of distribution)
The installation is pretty straightforward. Here is what you need to do:
1) Install Git
If you don’t have git installed, simply run as root (or with sudo):
apt-get install git-core
2) Clone their Git repository
Still in root, run:
cd /var/www git clone https://gitlab.com/mojo42/Jirafeau.git
3) Change ownership of the Jirafeau folder to your Apache user (www-data)
To avoid permission issues, run:
chown -R www-data:www-data /var/www/Jirafeau
4) Create a dedicated virtualhost
To get your URL “pretty” like file.domain.tld, I recommend you to set up a dedicated virtualhost. You could also at the same time, force HTTPS and restrict access to the var folder created by Jirafeau to ensure no one can get access except through Jirafeau.
Here is mine that you could reuse.
To do so, you will need:
1) Create a A redirection in your DNS server/registrar with something like file.domain.tld to your IP
2) Have SSL certificate ready. If not you can read this tutorial. (Optional)
3) Create your virtualhost as following:
In /etc/apache2/sites-enabled/, create a file called ninja (or reuse one of yours), In root:
and paste the following content:
<VirtualHost *:80> ServerAdmin firstname.lastname@example.org ServerName file.domain.tld Redirect / https://file.domain.tld </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/ssl/certs/myblog.pem SSLCertificateKeyFile /etc/ssl/private/myblog.key ServerAdmin email@example.com ServerName file.domain.tld DocumentRoot /var/www/Jirafeau <Directory /var/www/Jirafeau> AllowOverride All </Directory> <Directory /var/www/Jirafeau/var-xxxxxxxxx" > Order Deny,Allow Deny from all </Directory> </VirtualHost> </IfModule>
Adapt the content (Servername, webmaster email, SSL certificate, directory,…). If you don’t want to use SSL, you will need to tweak a bit this virtualhost.
Also make sure to replace the var folder by the correct one.
When done, save the file (CTRL+X then Yes) and reload apache: (In root)
5) Launch the web installer
Simply go to http://file.domain.tld to access the web installer.
You will need to select:
– Admin Password
– Base Address (The URL where Jirafeau is available, like file.domain.tld)
– Where to store all the files.
And that’s it! Jirafeau should be now perfectly working.
This is a pretty basic configuration but you can tweak most of the settings in lib/config.original.php (Theme, upload size, upload password, etc…)
I recommend you to have a look to Jirafeau’s wiki for more info.