]> git.p6c8.net - jirafeau_mojo42.git/blobdiff - README.md
[FEATURE] Enable custom favicons
[jirafeau_mojo42.git] / README.md
index e03c4dfe782fd9be64a65673ce73ac9a17b4d8c5..de1a54c678c609e120beca0d3e5404f50d1ccc4d 100644 (file)
--- a/README.md
+++ b/README.md
@@ -8,6 +8,11 @@ A demonstration of the latest version is available on [jirafeau.net](http://jira
 
 ![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
@@ -38,46 +43,67 @@ Jirafeau project won't evolve to a file manager and will focus to keep a very fe
 
 ## Screenshots
 
-- [Installation part 1](http://i.imgur.com/hmpT1eN.jpg)
-- [Installation part 2](http://i.imgur.com/2e0UGKE.jpg)
-- [Installation part 3](http://i.imgur.com/ofAjLXh.jpg)
-- [Installation part 4](http://i.imgur.com/WXqnfqJ.jpg)
-- [Upload 1](http://i.imgur.com/SBmSwzJ.jpg)
-- [Upload 2](http://i.imgur.com/wzPkb1Z.jpg)
-- [Upload 3](http://i.imgur.com/i6n95kv.jpg)
-- [Upload 4](http://i.imgur.com/P2oS1MY.jpg)
+- [Installation - Step 1](http://i.imgur.com/hmpT1eN.jpg)
+- [Installation - Step 2](http://i.imgur.com/2e0UGKE.jpg)
+- [Installation - Step 3](http://i.imgur.com/ofAjLXh.jpg)
+- [Installation - Step 4](http://i.imgur.com/WXqnfqJ.jpg)
+- [Upload - Step 1](http://i.imgur.com/SBmSwzJ.jpg)
+- [Upload - Step 2](http://i.imgur.com/wzPkb1Z.jpg)
+- [Upload - Progress](http://i.imgur.com/i6n95kv.jpg)
+- [Upload - Confirmation page](http://i.imgur.com/P2oS1MY.jpg)
+- [Admin Interface](http://i.imgur.com/nTdsVzn.png)
 
 ## Installation
 
--  [Download](https://gitlab.com/mojo42/Jirafeau/repository/archive.zip) the last version of Jirafeau from GitLab
--  Upload files on your web server
--  Don't forget to set owner of uploaded files if you need to
--  Get your web browser and go to you install location (e.g. ```http://your-web-site.org/jirafeau/```) and follow instructions
--  Some options are not configured from the minimal installation wizard, you may take a look at option documentation in ```lib/config.original.php``` and customize your ```lib/config.local.php```
-
-Note that ```lib/config.local.php``` is auto-generated during the installation.
+System requirements:
+- PHP >= 5.6
+- Optional, but recommended: Git >= 2.7
+- No database required, no mail required
 
-If you don't want to go through the installation wizard, you can just copy ```config.original.php``` to ```config.local.php``` and customize it.
+Installation steps:
+- Clone the [repository](https://gitlab.com/mojo42/Jirafeau/) or download the latest ([release](https://gitlab.com/mojo42/Jirafeau/tags) from GitLab onto your webserver
+- Set owner & group according to your webserver
+- A) Setup with the installation wizard (web):
+  - Open your browser and go to your installed location, eg. ```https://example.com/jirafeau/```
+  - The script will redirect to you to a minimal installation wizard to set up all required options
+  - All optional parameters may be set in ```lib/config.local.php```, take a look at ```lib/config.original.php``` to see all default values
+- B) Setup without the installation wizard (cli):
+  - Just copy ```config.original.php``` to ```config.local.php``` and customize it
 
-## Update
+## Upgrade
 
-### General
+### General procedure for all versions
 
-1. Backup you Jirafeau installation
+1. Backup your Jirafeau installation!
 2. Block access to Jirafeau
-3. Checkout new version using the [tagged release](https://gitlab.com/mojo42/Jirafeau/tags)
+3. Checkout the new version with Git using the [tagged release](https://gitlab.com/mojo42/Jirafeau/tags)
+   * If you have installed Jirafeau just by uploading files on your server, you can download the desired version, overwrite/remove all files and chown/chmod files if needed. Keep a backup of your local configuration file tough.
 4. With you browser, go to your Jirafeau root page
-5. Follow installation wizard, it should propose you the same data folder
-7. Go in you lib/config.local.php and lib/config.original.php to check new options
+5. Follow the installation wizard, it should propose you the same data folder or even update automatically
+7. Check your ```/lib/config.local.php``` and compare it with the ```/lib/config.original.php``` to see if new configuration items are available
 
 ### From version 1.0 to 1.1
 
-1. Add a rewrite rule in your web server configuration to rename file.php to f.php to make old url work again
-2. Eventually change skin in »lib/config.local.php« to 'courgette'
+1. The download URL changed
+   * Add a rewrite rule in your web server configuration to rename ```file.php``` to ```f.php``` to make older, still existing links work again
+1. The default skin changed
+   * Optionally change the skin in ```lib/config.local.php``` to »courgette«
+
+### From version 1.2.0 to 2.0.0
+
+1. The "Terms of Service" text file changed
+   * To reuse previous changes to the ToS, move the old ```/tos_text.php``` file to ```/lib/tos.local.txt``` and remove all HTML und PHP Tags, leaving a regular text file
 
-### From version 1.1 to 1.2.0
+### From version 2.0.0 to 3.0.0
 
-Nothing particular
+1. No special change to upgrade to 3.0.0
+
+### Troubleshooting
+
+If you have some troubles, consider the following cases
+
+- Check your ```/lib/config.local.php``` file and compare it with ```/lib/config.original.php```, the configuration syntax or a parameter may have changed
+- Check owner & permissions of your files
 
 ## Security
 
@@ -119,6 +145,29 @@ By activating this feature, you have to be aware of few things:
 
 In a next step, encryption will be made by the client (in javascript), see issue #10.
 
+## License
+
+GNU Affero General Public License v3 (AGPL-3.0).
+
+The GNU Affero General Public License can be found at https://www.gnu.org/licenses/agpl.html.
+
+Please note: If you decide do make adaptions to the source code and run a service with these changes incorporated, 
+you are required to provide a link to the source code of your version in order to obey the AGPL-3.0 license.
+To do so please add a link to the source (eg. a public Git repository or a download link) to the Terms of Service page.
+Take a look at the FAQ to find out about how to change the ToS.
+
+PS: If you have fixed errors or added features, then please contribute to the project and send a merge request with these changes.
+## Contribution
+
+If you want to contribute to project, then take a look at the git repository:
+
+- https://gitlab.com/mojo42/Jirafeau
+
+and the Contribution Guidelines
+
+- https://gitlab.com/mojo42/Jirafeau/blob/master/CONTRIBUTING.md
+
 ## FAQ
 
 ### Can I add a new language in Jirafeau?
@@ -133,17 +182,7 @@ We would like to thank all anonymous contributors on weblate. :)
 
 ### How do I upgrade my Jirafeau?
 
-If you have installed Jirafeau using git, it's pretty simple: just make a git pull and chown/chmod files who have the owner changed.
-
-If you have installed Jirafeau just by uploading files on your server, you can take the [last version](https://gitlab.com/mojo42/Jirafeau/repository/archive.zip), overwrite files and chown/chmod files if needed.
-
-After upgrading, you can compare your ```lib/config.local.php``` and ```lib/config.original.php``` to see if new configuration items are available.
-
-If you have some troubles:
-- It should probably come from your ```lib/config.local.php``` (configuration syntax may have changed). Just compare it with ```lib/config.original.php```
-- Check owner/permissions of your files.
-
-Anyway you should off-course make a backup of your current installation before doing anything. :)
+See upgrade instructions above.
 
 ### How can I limit upload access?
 
@@ -188,6 +227,14 @@ If you don't want to allow unlimited upload size, you can still setup a maximal
 Documentation of all default options are located in [lib/config.original.php](https://gitlab.com/mojo42/Jirafeau/blob/master/lib/config.original.php).
 If you want to change an option, just edit your ```lib/config.local.php```.
 
+### How can I change the Terms of Service?
+
+The license text on the "Terms of Service" page, which is shipped with the default installation, is based on the »[Open Source Initiative Terms of Service](https://opensource.org/ToS)«.
+
+To change this text simply copy the file [/lib/tos.original.txt](https://gitlab.com/mojo42/Jirafeau/blob/master/lib/tos.original.txt), rename it to ```/lib/tos.local.txt``` and adapt it to your own needs.
+
+If you update the installation, then only the ```tos.original.txt``` file may change eventually, not your ```tos.local.txt``` file.
+
 ### How can I access the admin interface?
 
 Just go to ```/admin.php```.
@@ -224,14 +271,6 @@ The original project seems not to be continued anymore and I prefer to add more
 
 Check [issues](https://gitlab.com/mojo42/Jirafeau/issues) to check open bugs and incoming new stuff. :)
 
-### What is the Jirafeau's license?
-
-Jirafeau is licensed under [AGPLv3](https://gitlab.com/mojo42/Jirafeau/blob/master/COPYING).
-
-### How do I modify the TOS (terms of use)?
-
-Just edit ```tos.php``` and configure ```$org``` and ```$contact``` variables.
-
 ### What about this file deduplication thing?
 
 Jirafeau uses a very simple file level deduplication for storage optimization.
@@ -289,10 +328,37 @@ The very first version of Jirafeau after the fork of Jyraphe.
 
 ## Version 1.2.0
 
-- Change versioning semantic
+- Link on API page to generate bash script
+- More informative error codes for API
+- Security Fix: Prevent authentication bypass for admin interface
+- CLI script to remove expired files automatically with a cronjob
+- SHA-256 hash the admin password
+- New theme "elegantish"
+- Fix for JavaScript MIME-Type, prevents blocking the resource on some servers
+- Show download link for a file in admin interface
+- Default time for expiration (set to 'month' by default)
+- New expiration time: 'quarter'
 - A lof of translation contributions
-- Fix javascript MIME type
-- Show download in admin panel
-- Default expiration date set to 'month'
-- New expiration date: 'quarter'
-- Small other fixes
+- Code cleanups
+
+## Version 2.0.0
+
+- Various documentation improvements
+- Simplify automatic generation of local configuration file
+- Set a custom title
+- Bash Script: Enhanced help, show version, return link to web view as well
+- »Terms of Service« refactored - Enable admin to overwrite the ToS, without changing existing source code → breaking, see upgrade notes
+
+## Version 3.0.0
+
+- Remove XHTML doctype, support HTML5 only → breaking change for older browsers
+- Remove redundant code
+- Remove baseurl usage and set absolute links instead, which for example fixes SSL issues
+- Extend contribution guide
+- Switch to PSR-2 code style (fix line endings, indentations, whitespaces, etc)
+- Declare system requirements
+- Catch API errors in upload form
+- Allow clients to upload files depending on IP or password
+- Set UTC as timezone to prevent date/time issues
+- Show readable date & time information
+- Fix UI glitches in admin panel and upload form

patrick-canterino.de