Go to file
Stefan Midjich 4d54fb9944 some more info here. 2016-04-15 19:27:44 +02:00
plugins changed plugin management to simple rq jobs instead of using pkg_resources. 2016-04-15 19:22:16 +02:00
static changed plugin management to simple rq jobs instead of using pkg_resources. 2016-04-15 19:22:16 +02:00
views changed plugin management to simple rq jobs instead of using pkg_resources. 2016-04-15 19:22:16 +02:00
.gitignore changed plugin management to simple rq jobs instead of using pkg_resources. 2016-04-15 19:22:16 +02:00
README.md some more info here. 2016-04-15 19:27:44 +02:00
plugins.cfg changed plugin management to simple rq jobs instead of using pkg_resources. 2016-04-15 19:22:16 +02:00
portal.cfg changed plugin management to simple rq jobs instead of using pkg_resources. 2016-04-15 19:22:16 +02:00
portal.py changed plugin management to simple rq jobs instead of using pkg_resources. 2016-04-15 19:22:16 +02:00
requirements.txt changed plugin management to simple rq jobs instead of using pkg_resources. 2016-04-15 19:22:16 +02:00
setup.py changed plugin management to simple rq jobs instead of using pkg_resources. 2016-04-15 19:22:16 +02:00

README.md

Captive Portal

Work in progress right now.

Captive portal webpage written with simplicity in mind.

  • Present a webpage to the user
  • Users submits a form
  • Plugins are executed with form data
  • User is granted access to whatever treasure the portal is guarding

This is a commonly seen setup in public Wifi networks or hotspots.

This app was specifically written for such a hotspot and as such requires a lot of other configuration around it. This is an ongoing documentation project here.

Plugins

Plugins are executed when the user clicks through the captive portal form, whether they submit data or just approve an EULA these plugins are executed.

Plugins accept data from the request of the user, as of writing this is only wsgi environ data.

There is a sample plugin called logging.py. Plugins are merely rq jobs that are executed by an rq worker. As such they can only be so complex.

RQ worker

rq worker -u redis://127.0.0.1:6379/