Lufi means Let's Upload that FIle.
It stores files and allows you to download them.
Is that all? No. All the files are encrypted by the browser! It means that your files never leave your computer unencrypted. The administrator of the Lufi instance you use will not be able to see what is in your file, neither will your network administrator, or your ISP.
The encryption key part of the URL is a anchor (Cf. Fragment Identifier), that means this part is only processed client-side and does not reach the server. :-)
Lufi is licensed under the terms of the AGPL. See the LICENSE file.
There is a demonstration site, available at https://demo.lufi.io, with strong limitations on time and file size.
To really use Lufi, you can go to https://framadrop.org, provided by the Framasoft association (you can help them to keep providing free services at https://soutenir.framasoft.org).
Because Lufi is quite similar to Luffy, like in "Monkey D. Luffy" from One Piece manga, the logo is a straw hat, made with pain, love and Inkscape.
The official wiki will contain all you need to know about Lufi (installation, configuration, etc.). Go to https://framagit.org/luc/lufi/wikis/home or clone it:
git clone https://framagit.org/luc/lufi.wiki.git
All the encryption/decryption processes take place in your browser. The encryption key is never sent over the network.
However please note that some metadata are sent unencrypted:
- the file name
- its size
- its mimetype
Lufi comes with English and French languages. It will choose the language to display from the browser's settings.
If you want to add a language, merge-requests are welcome.
See AUTHORS.md file.
Please consider contributing, either by reporting issues or by helping the internationalization. And of course, code contributions are welcome!
The details on how to contribute are on the wiki.
You can make a donation to the author on Tipeee or on Liberapay.
Lufi is written in Perl with the Mojolicious framework.
It uses:
- Materialize framework to look not too ugly
- jQuery
- Stanford Javascript Crypto Library
- Moment.js for displaying real dates instead of unix timestamps.
- Filesize.js for displaying file sizes