My File Sharing Setup (Linux)
Update: I have written a multi-purpose Ruby script to work with S3, Cloudapp and Imgur, and that’s what I use right now. Be sure to check it out.
There’s been a buzz around file-sharing sites for a while now- YCombinator’s KickSend receiving some funding, while Dropbox is growing as always. Somehow, I still feel the ideal file-sharing platform is missing. The closest app that has come to perfection is Cloudapp, but that’s only for Mac. However, they have an API and there are a couple of scripts to get it to work on Linux as well.
So, without further ado, here is my file sharing setup based on the scenario:
1. For small files (under 25 MB)
I use Cloudapp (free account) for this. Its a no-nonsense application that makes it really easy to share files. The native Mac client has this cool drag-and-drop interface on the desktop, and that is replicated for Linux to an extent by py-cloudapp. However, I spend most of my time in the command line, and I use my (forked) script cloudapp-rb. I’ve integrated a way to (g)mail the link of the uploaded file to someone, and it really takes the pain away from doing it in GMail’s web interface. So, to upload a file to cloudapp, and to send it to someone, I just have to press a few keystrokes:
ul file.txt [email protected]
2. For securely transferring files (P2P)
Sendoid is the clear winner here. It has pretty generous filesize limit (I’ve successfully tested files of ~1 GB), 128-bit AES encryption, and you can even password protect your end-point URL. Also, it is P2P and the file is never stored on ther servers : it goes directly the sender’s machine to receiver’s.
The web interface is decent, but the AIR app is what makes this product awesome. The app is very clean, as you can see here:
3. For transferring big files
On more than one occasion, when not on my laptop, I’ve had to share source code with my classmates, which is usually an archive of size ~500MB. The Dropbox web-application fails here, as it has a 250 MB upload limit (if I’m not mistaken). That’s where Ge.tt comes to the rescue. It has no file-size upload limits that I am aware of. A free account gets you 2 GB of upload space, (3 GB if you were with them before the introduction of the pricing tiers). Get this: you can share the file permalink even before the file has finished uploading, and this is a great way to temporarily share files. You can group files into collections/folders of sorts and I wholeheartedly recommend this app!
4. Pseudo-Permanent File Sharing
Of course, there’s Dropbox, and I previously used it for sharing. But, I find it extremely inconvenient to copy the file in question to my Dropbox Public folder, and then copy the Public link. Hence, I shifted to cloudapp for sharing small files. However, there are some files that need to be shared for long time spans (and I need a backup of these files for personal use): That’s where Dropbox comes in. After putting the file in my Public folder, I can distribute the link and be sure that everybody can access it even months after it has been uploaded. Also, I can be sure it is synced across all my devices.
5. Expiring URLs and Command Line uploads
How can you forget the big-daddy of cloud storage: Amazon S3. I fail to understand why S3 has intimidated non-technical people. It’s web interface is super-easy to use, and the AWS free tier provides 5 GB of S3 storage - which is a steal even if you don’t use the plethora of other cloud services provided.
I use mishare, a script I wrote, which makes it really easy to upload files from the command line to S3.
# Upload file to S3 and email it to [email protected] , and the link should expire after 30 minutes mishare ul -f file.txt -e [email protected] -t 1800