# 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).
-Jirafeau allows your to "one-click-filesharing". It makes possible to upload a file in a simple way and give an unique link to it.
+Jirafeau is a "one-click-filesharing": Select your file, upload, share a link. That's it.
-A demonstration of the latest version is available on [jirafeau.net](https://jirafeau.net/).
+See [jirafeau.net](https://jirafeau.net/) for a demo.
![Screenshot1](http://i.imgur.com/TPjh48P.png)
-Latest CI Status:
-Master [![Build Status Master](https://gitlab.com/mojo42/Jirafeau/badges/master/build.svg)](https://gitlab.com/mojo42/Jirafeau/commits/master)
-Next Release [![Build Status Next Release](https://gitlab.com/mojo42/Jirafeau/badges/test/build.svg)](https://gitlab.com/mojo42/Jirafeau/commits/master)
-[All Branch Builds](https://gitlab.com/mojo42/Jirafeau/pipelines?scope=branches)
-
## Main features
- One upload → One download link & one delete link
- Shows progression: speed, percentage and remaining upload time
- Preview content in browser (if possible)
- Optional password protection (for uploading or downloading)
+- LDAP authentication for uploaders
- Set expiration time for downloads
- Option to self-destruct after first download
- Shortened URLs using base 64 encoding
- B) Setup without the installation wizard (cli):
- Just copy ```lib/config.original.php``` to ```lib/config.local.php``` and customize it
+💡 Hint: How to
+[install & configure Jirafeau](https://www.howtoforge.com/how-to-setup-a-file-sharing-website-with-jirafeau-on-debian-10/)
+on Debian 10 from scratch, with Nginx and PHP-FPM.
+
### Troubleshooting
If you have some troubles, consider the following cases
### I found a bug, what should I do?
Feel free to open a bug in the [GitLab's issues](https://gitlab.com/mojo42/Jirafeau/issues).
+If you can, please copy-paste informations related to bug opening provided in admin interface.
+Admin interface can be reached by accessing `/admin.php`.
### How to set maximum file size?
### 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.
+### How can I setup LDAP authentication?
+
+LDAP authentication is disabled by default. To use it, you will need to install [PHP LDAP extension](https://www.php.net/manual/en/book.ldap.php) and edit your `lib/config.local.php` to set those options:
+- `upload_ldap_auth`: set it to `true`
+- `upload_ldap_host`: set it to your ldap host
+- `upload_ldap_base_dn`: set it to your base DN
+
+More details in [config.original.php](lib/config.original.php)'s documentation.
+
+Note that you can test around LDAP with [docker-compose example](./docker/docker-compose-examples/ldap/).
+
### How to contact someone from Jirafeau?
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.