+# DISCLAMER
+
+This project is a fork of the [discontinued project](https://gitlab.com/mojo42/Jirafeau/) by [Jérôme Jutteau](https://gitlab.com/mojo42/Jirafeau/).
+
+If you are forking the original project, feel free to mention it in [comments](https://gitlab.com/mojo42/Jirafeau/-/issues/360). Jérôme will add it there.
+
+Other forks:
+
+- @Blackstareye [fork](https://gitlab.com/shared1270023/Jirafeau)
+
# Jirafeau
-![Build Status](https://img.shields.io/gitlab/pipeline/mojo42/Jirafeau/master.svg)
![Made With](https://img.shields.io/badge/made_with-php-blue.svg)
![License](https://img.shields.io/badge/license-agpl--3.0-blue.svg)
-![Contribution](https://img.shields.io/badge/contributions_welcome-brightgreen.svg?labelColor=brightgreen)
Welcome to the official Jirafeau project, an [Open-Source software](https://en.wikipedia.org/wiki/Open-source_software).
- Shows progression: speed, percentage and remaining upload time
- Preview content in browser (if possible)
- Optional password protection (for uploading or downloading)
+- option to require, check or generate file download passwords
- Set expiration time for downloads
- Option to self-destruct after first download
- Shortened URLs using base 64 encoding
Data encryption can be activated in options. This feature makes the server encrypt data and send the decryt key to the user (inside download URL).
The decrypt key is not stored on the server so if you loose an url, you won't be able to retrieve file content.
-Encryption is configured to use AES256 in OFB mode.
+Encryption is configured to use [XChaCha20-Poly1305](https://en.wikipedia.org/wiki/ChaCha20-Poly1305).
In case of security troubles on the server, attacker won't be able to access files.
By activating this feature, you have to be aware of few things:
- Data encryption has a cost (cpu) and it takes more time for downloads to complete once file sent.
- During the download, the server will decrypt on the fly (and use resource).
-- This feature needs to have the mcrypt php module.
+- This feature needs to have the Sodium php module.
- File de-duplication will stop to work (as we can't compare two encrypted files).
- Be sure your server do not log client's requests.
- Don't forget to enable https.
### What about this file deduplication thing?
-Jirafeau uses a very simple file level deduplication for storage optimization.
+Jirafeau can use a very simple file level deduplication for storage optimization.
This mean that if some people upload several times the same file, this will only store one time the file and increment a counter.
In order to know if a newly uploaded file already exist, Jirafeau will hash the file using md5 by default but other methods are available (see `file_hash` documentation in `lib/config.original.php`).
+This feature is disabled by default and can be enabled through the `file_hash` option.
+
### What is the difference between "delete link" and "delete file and links" in admin interface?
-As explained in the previous question, files with the same hash are not duplicated and a reference counter stores the number of links pointing to a single file.
+When file deduplication feature is enabled, files with the same hash are not duplicated and a reference counter stores the number of links pointing to a single file.
So:
- The button "delete link" will delete the reference to the file but might not destroy the file.
- The button "delete file and links" will delete all references pointing to the file and will destroy the file.
Feel free to create an issue if you found a bug.
+Also, you can come have a chat on [libera.chat](https://web.libera.chat/) in `#jirafeau` channel.
+
### Can I buy you a coffee?
You can [drop few bucks](https://www.paypal.com/paypalme/jeromejutteau) to help the [demo web site](https://jirafeau.net) to stay alive.