initial commit
This commit is contained in:
commit
f709f78bcf
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
__pycache__/
|
||||
*.swp
|
||||
*.swo
|
||||
config.py
|
14
README.md
Normal file
14
README.md
Normal file
|
@ -0,0 +1,14 @@
|
|||
# Buckler
|
||||
A security shield for protecting a number of small web applications.
|
||||
|
||||
## Requirements
|
||||
Python 3.7+
|
||||
PostgreSQL 11.5+
|
||||
Python packages: `gunicorn aiohttp aiohttp_jinja2 psycopg2 passlib argon2_cffi`
|
||||
|
||||
## Install
|
||||
1. Get on the floor
|
||||
2. Walk the dinosaur
|
||||
|
||||
## Usage
|
||||
`gunicorn buckler:app --bind localhost:5400 --worker-class aiohttp.GunicornWebWorker`
|
25
buckler.py
Normal file
25
buckler.py
Normal file
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/env python3
|
||||
"""
|
||||
A security shield for protecting a number of small web applications.
|
||||
"""
|
||||
from aiohttp import web
|
||||
import jinja2
|
||||
import aiohttp_jinja2
|
||||
from aiohttp_jinja2 import render_template
|
||||
|
||||
import config
|
||||
|
||||
app = web.Application()
|
||||
aiohttp_jinja2.setup(app, loader=jinja2.FileSystemLoader('templates'))
|
||||
|
||||
routes = web.RouteTableDef()
|
||||
|
||||
@routes.get(config.url_prefix + "/", name='index')
|
||||
async def index(request):
|
||||
"""The index page."""
|
||||
return render_template("index.html", request, locals())
|
||||
|
||||
app.router.add_routes(routes)
|
||||
|
||||
if __name__ == "__main__":
|
||||
web.run_app(app, host='0.0.0.0', port=5400)
|
7
config.py.template
Normal file
7
config.py.template
Normal file
|
@ -0,0 +1,7 @@
|
|||
#!/usr/bin/env python3
|
||||
"""
|
||||
Configuration settings for Buckler.
|
||||
url_prefix` is the root path you wish app to reside at
|
||||
eg. https://example.com/buckler
|
||||
"""
|
||||
url_prefix = '/buckler'
|
10
templates/index.html
Normal file
10
templates/index.html
Normal file
|
@ -0,0 +1,10 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Buckler</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Buckler</h1>
|
||||
Secret page.
|
||||
</body>
|
||||
</html>
|
17
templates/login.html
Normal file
17
templates/login.html
Normal file
|
@ -0,0 +1,17 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Buckler - Login</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Buckler Login</h1>
|
||||
<form action="/login" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<label for="username">Username</label>
|
||||
<input id="username" name="password" type="text">
|
||||
<label for="password">Password</label>
|
||||
<input id="password" name="password" type="password">
|
||||
<input type="submit" value="Login">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
Loading…
Reference in New Issue
Block a user