Modular rewriting reverse proxy
This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Benjamin Dauvergne 4bb08f8d7c fix use of isinstance 2016-04-23 17:04:01 +02:00
debian Add 'debian/' from commit '5c7c5e52511f0a4098a0e105067ec34311163563' 2015-04-03 10:12:44 +02:00
ldap ldap: add an example ldif and a very short README 2014-09-19 17:57:51 +02:00
mandaye fix use of isinstance 2016-04-23 17:04:01 +02:00
scripts Centralized into mandaye core 2014-10-10 15:50:13 +02:00
.gitignore Add gitignore file 2012-02-17 09:50:59 +01:00
COPYING Begin Mandaye true project based on 2011-08-04 19:28:16 +02:00 Centralized into mandaye core 2014-10-10 15:50:13 +02:00
README.rst Document the new configuration file usage 2014-10-31 11:12:31 +01:00
requirements.txt backends: complete rewrite of the interface 2014-09-10 18:51:54 +02:00 requirements.txt: simplify python-entrouvert dependency 2014-05-28 12:30:51 +02:00


Mandaye - modular reverse proxy to authenticate

Mandaye is a modular rewriting reverse proxy. Its main use is to add external
authentication systems to legacy application, i.e. SSO.
It dispatches HTTP requests to your applications and allow you to transform and
filter the request and the response.
Mandaye allows to couple your authentication provider with incompatible web


This software copyrighted by Entr'ouvert and is licensed under the GNU AGPL
version 3 for distribution.


 * Mappers / dispatching::
   With Mandaye you can define your own mapping files. This allows you to call your own filters
   on the right HTTP requests. See the config part for more details.
 * Filters::
   You can define your own filters with Mandaye. This filter have access to the WSGI environment and
   could modify the HTTP requests and / or responses.
 * Local authentification::
   Mandaye provide a sql local authentification but you can also implement your own
   local authentification.
 * Distant authentification::
   At the moment Mandaye only support SAML 2.0 with password replay but we will provide
   SAML 2.0, OAuth and CAS support.



The dependencies are in define into requirements.txt

Quick installation

Install at least Python >=2.6 and pip in your system.
For example with Debian or a Debian based distribution::

    sudo apt-get install python python-pip

Then install virtualenv ::

   pip install virtualenv

Create your virtualenv activate it::

    virtualenv mandaye
    source mandaye/bin/activate
    pip install -U pip

Install mandaye::

    $ tar xfvz mandaye-VERSION.tar.gz
    $ cd mandaye-VERSION
    $ pip install -r requirements.txt
    $ python install

If you want to develop use this command line::

    $ python develop

Quick Start

First step is to create a mandaye project::

    $ --newproject PROJECT_NAME

Install your Mandaye project::

    $ python install
    $ ./ --createdb

Launch mandaye server::

    $ ./

Use your own Mandaye configuration file::

    $ cp PROJECT_NAME/default-config.ini PROJECT_NAME/config.ini
    $ ./ --config=config.ini use gunicorn and gunicorn options (please read

You could also use (in the mandaye files)::

 $ ./ --config=config.ini -c PATH_TO_THE_FILE/


 $ ./ --config=config.ini -c PATH_TO_THE_FILE/ -b

Upgrade Mandaye

You need to upgrade the update the repository and upgrade database::

 ~/new_mandaye $ python install
 ~/new_mandaye $ alembic upgrade head