Linx

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
  • Download via torrent: Generate a torrent for any file with a guaranteed webseed.