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 34d9bfad93 add better formatting of exceptions, use xtraceback package
* use xtraceback to format exceptions
 * log exceptions and environment
 *
2011-10-13 15:43:46 +02:00
init.d init.d/mandaye example, with gunicorn+gevent wsgi server 2011-10-12 15:19:38 +02:00
mandaye add better formatting of exceptions, use xtraceback package 2011-10-13 15:43:46 +02:00
pocs Mandaye now working for a basic reverse proxy 2011-08-10 18:15:26 +02:00
COPYING Begin Mandaye true project based on poc1.py 2011-08-04 19:28:16 +02:00
README.rst add better formatting of exceptions, use xtraceback package 2011-10-13 15:43:46 +02:00
TODO Add static management and improving multi account support 2011-10-05 15:51:24 +02:00
mandayectl Improve README and finish duonet support 2011-09-23 08:49:32 +02:00
pip-requirements.txt update pip requirements 2011-10-13 15:42:40 +02:00
setup.py Cleanning README.rst, setup.py and auth/authform.py 2011-10-07 22:56:41 +02:00

README.rst

===============================================
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
applications.

Copying
-------

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

Features
--------

TODO: improve this part

 * Filters: You can filter the request or the response with one or many filters.
   You can serve static response in a filter.
   There 3 types of filters:
    * on_request
    * on_response
    * reponse
 * Dispatcher: This will call the right filters
 * Authentification management
 * Sql and ldap authentification
 * Authentification through Authentic2 idp (SAML2 and CAS)


Installation
============

Dependencies
------------

You must install the following packages to use Mandaye

 * Gevent 0.13::

   From sources: http://pypi.python.org/pypi/gevent
   Debian based distribution: apt-get install python-gevent
 
 * Poster 0.8::

   From sources: http://pypi.python.org/pypi/poster/
   Debian based distribution: apt-get install python-poster

 * SQLAlchemy 0.7.2::

   From sources: http://pypi.python.org/pypi/SQLAlchemy

 * Beaker 1.5.4::

   From sources: http://pypi.python.org/pypi/Beaker

 * Mako 0.4.2::

   From sources: http://pypi.python.org/pypi/Mako

 * lxml 2.3.1::

    From sources: http://pypi.python.org/pypi/lxml

 * xtraceback 0.3::

    From sources: http://pypi.python.org/pypi/xtraceback

You can install all those dependencies quickly using pip::

   pip install gevent poster SQLAlchemy Beaker Mako lxml

or easy_install::

   easy_install gevent poster SQLAlchemy Beaker Mako lxml

Quick Start
-----------

Configure mandaye/config.py

Then launch the following commands::

  ./mandayectl --createdb
  ./mandayectl --start

You should see the following output::

    Database created
    Starting Mandaye x.x.x.x:xx ...