Sinatra/README.md
2024-05-28 16:46:39 +00:00

25 lines
1.3 KiB
Markdown
Executable File

# Sinatra
SImple Network Access Tool with RAdius
RADIUS-based network access is common in prosumer/office networks for requiring pre-registered MAC adddresses and/or selectively assigning VLANs to devices based on MAC address.
Typically, FreeRADIUS is used, however its flexibility and complexity is burdensome when only MAC-based authentication is required.
Such a setup _requires_ pre-registered MAC addresses, which can be difficult with IoT and consumer devices; and configuration of a default VLAN for unrecongnised MAC addresses is difficult.
Certain vendors' router hardware can provide simplistic RADIUS servers, e.g. a Ubiquiti Unifi Dream Machine, but they do not provide default VLAN assignment. It is also useful to be vendor agnostic.
Sinatra provides for this simple use case:
- A simple NodeJS-based RADIUS server that provides (MAC-based) authentication, in any format.
- A simple REST API to add/update/delete reqistered users (MAC addresses).
- A Dockerfile (and docker-compose) to encapsulate the server within a docker container.
- Optional default VLAN support to support unknown MAC addresses, e.g. into a guest network.
# Feature roadmap
- Mass-import from CSV
- Time-based authentication
- Time-limited access
- Connection accounting (with REST API endpoints for data access)