There are lots of services that allow you to share files with other people, but they all have various costs associated with them. Sometimes the costs are financial. Sometimes it’s simply the time and energy required to execute an upload. Many of these services are commercial in nature (if even just through advertising revenue), and so their interfaces reflect that nature.
Recently, someone wanted to share a simple photo with me. It wasn’t something that was worth uploading to Flickr. It wasn’t something that was intended to live forever. It was just a quick “Here, this is what I was talking about”. The effort of making that photo available for viewing took much longer than it did for me to look at the photo and gain the information provided by it.
This struck me as a silly problem, and one I had it in my power to resolve in some modest way. Many of the folks with whom I interact have their own websites running on their own servers. Why bother using something like Dropbox or Google Drive or even Imgur when we have perfectly good web servers at our disposal?
So I wrote share.sh, a simple little shell script to take an input file, send it to a server of my choice, and return back the URL of the uploaded file. It has almost no features, and I’m sure it will break spectacularly in any number of use cases. But in my testing it does the job of taking a file and making it available to someone else.
It’s released under an MIT license. Feel free to use it. If it makes your life just a tiny bit better, that’ll make me very happy!