A small security shield to protect small web applications.
Go to file
2020-11-12 13:15:50 -05:00
static bugfix logo width 2020-10-05 11:02:00 -04:00
templates change user permissions works 2019-10-17 20:58:20 -04:00
.gitignore initial commit 2019-09-14 18:36:23 -04:00
auth.py make cookies cross-domain compatible 2020-11-12 13:15:50 -05:00
buckler_aiohttp.py make cookies cross-domain compatible 2020-11-12 13:15:50 -05:00
buckler_flask.py make cookies cross-domain compatible 2020-11-12 13:15:50 -05:00
buckler.py make cookies cross-domain compatible 2020-11-12 13:15:50 -05:00
buckler.sql implement /set_session 2019-09-25 19:46:57 -04:00
config.py.template make cookies cross-domain compatible 2020-11-12 13:15:50 -05:00
forms.py misc bugfix 2020-04-09 07:58:38 -04:00
LICENSE add license 2019-09-28 14:46:46 -04:00
README.md readme 2020-08-15 01:35:06 -04:00
tools.py bugfix 2019-09-29 15:28:44 -04:00

Buckler

A security shield for protecting a number of small web applications.

Requirements

Python 3.7+
PostgreSQL 11.5+
Debian System packages: build-essential python3-dev
Python packages: wheel gunicorn aiohttp aiohttp_jinja2 asyncpg passlib argon2_cffi uvloop fido2

Install

$ psql
postgres=# CREATE DATABASE "buckler";
postgres=# CREATE USER "buckler" WITH PASSWORD 'password';
postgres=# ALTER ROLE "buckler" SET client_encoding TO 'utf8';
postgres=# ALTER ROLE "buckler" SET default_transaction_isolation TO 'read committed';
postgres=# ALTER ROLE "buckler" SET timezone TO 'UTC';
postgres=# GRANT ALL PRIVILEGES ON DATABASE "buckler" TO "buckler";
postgres=# \q
  1. Get on the floor
  2. Walk the dinosaur

Usage

gunicorn buckler:init_app --bind localhost:5400 --worker-class aiohttp.GunicornWebWorker