Rob White df705bbd79 PreAuth and BinAuth: Add simple customisation of log file location.
The log file location is now determined by simply setting the variables
mountpoint, logdir and logname in the PreAuth and BinAuth examples.

The default is to use mountpoint /tmp with /run suggested for Raspbian.
These default locations are both tmpfs so protect system flash from wear
but will not survive a reboot.

More suitable storage can be chosen for a production system (eg usb stick)

The log file size is limited by a simple algorithm that takes into account
other useage of the storage:
F=available space
L=logsize
R=Ratio of available to log size
C=capacity, storage size less other non log usage
This gives two equations.
R=F/L
C=F+L
Solving for L:
L=C/(R+1)
If the minimum value of R is 10
then L(max)=(F(current)+L(current))/11

Signed-off-by: Rob White <rob@blue-wave.net>
2020-02-05 19:41:50 +00:00
2020-01-09 09:34:27 +00:00
2020-01-22 09:39:26 +00:00
2019-10-19 14:16:15 +01:00
2016-11-21 15:00:33 +01:00
2018-08-29 17:57:02 +01:00
2018-01-02 14:39:29 +01:00
2020-01-09 09:34:27 +00:00
2012-06-14 01:21:21 +02:00

0. The Nodogsplash project

Nodogsplash is a Captive Portal that offers a simple way to provide restricted access to the Internet by showing a splash page to the user before Internet access is granted.

It also incorporates an API that allows the creation of sophisticated authentication applications.

It was derived originally from the codebase of the Wifi Guard Dog project.

Nodogsplash is released under the GNU General Public License.

The following describes what Nodogsplash does, how to get it and run it, and how to customize its behaviour for your application.

1. Overview

Nodogsplash (NDS) is a high performance, small footprint Captive Portal, offering by default a simple splash page restricted Internet connection, yet incorporates an API that allows the creation of sophisticated authentication applications.

Captive Portal Detection (CPD)

All modern mobile devices, most desktop operating systems and most browsers now have a CPD process that automatically issues a port 80 request on connection to a network. NDS detects this and serves a special "splash" web page to the connecting client device.

Provide simple and immediate public Internet access

NDS provides two pre-installed methods.

  • Click to Continue. A simple static web page with template variables (default). This provides basic notification and a simple click/tap to continue button.
  • Username/email-address login. A simple dynamic set of web pages that provide username/email-address login, a welcome page and logs access by client users. (Installed by default and enabled by un-commenting a line in the configuration file)

Customising the page seen by users is a simple matter of editing the respective html or script files.

Write Your Own Captive Portal.

NDS can be used as the "Engine" behind the most sophisticated Captive Portal systems using the tools provided.

  • Forward Authentication Service (FAS). FAS provides pre-authentication user validation in the form of a set of dynamic web pages, typically served by a web service independent of NDS, located remotely on the Internet, on the local area network or on the NDS router.
  • PreAuth. A special case of FAS that runs locally on the NDS router with dynamic html served by NDS itself. This requires none of the overheads of a full FAS implementation and is ideal for NDS routers with limited RAM and Flash memory.
  • BinAuth. A method of running a post authentication script or extension program.

2. Documentation

For full documentation please look at https://nodogsplashdocs.rtfd.io/

You can select either Stable or Latest documentation.


Email contact: nodogsplash (at) ml.ninux.org

Description
No description provided
Readme 18 MiB
Languages
C 47.3%
Shell 34.4%
PHP 16.2%
Makefile 1.4%
HTML 0.4%
Other 0.2%