linx-server is my media sharing web project that has been undergoing continuous improvement since 2009.
It started as a way for me to share photos, videos with my friends by copying them from the internet to make sure they wouldn’t disappear, and to keep track of things I decided to keep over the years.
It was originally written in PHP, went through a Ruby on Rails phase and now is written in Python, using the Django framework.
The concept is that of simplicity and of a clutter-free experience for the user: you upload (a) file(s) by dragging or by picking them, once it uploads, you’re returned an unique url (can be the filename, if available, or a randomized one).
When accessing that url, Linx will match the filetype to a specific way of (pre)viewing your file (image tag for images, HTML5 player for video/audio, etc).
Recently, I have added features such as:
- Pastebin functionality: Paste text, get it syntax-highlighted depending on extension, able to edit in-place and save as new file
- File Expiry: You can now choose to expire a file for any given time
- API: Upload files through curl, or any client that supports HTTP POST or PUT, also get information about any file in json (size, md5sum, etc)
- Delete key: When you use the API you’ll get a delete key that you can later use to delete your file at any time
- Upload through Email: Send any attachment to firstname.lastname@example.org and you will be replied with links to your files
- Download via torrent: Generate a torrent for any file with a guaranteed webseed.