2026-06-17 16:28:37 +00:00
2026-06-17 16:10:59 +00:00
2026-06-17 16:10:59 +00:00
2026-06-17 16:10:59 +00:00
2026-06-17 16:10:59 +00:00
2026-06-17 16:10:59 +00:00
2026-06-17 16:10:59 +00:00

Device Manager

Device Manager is a device registration and access management portal for laboratory, research, and institutional networks. It enables users to register and manage devices, supports RADIUS-based authentication workflows, and facilitates secure network access through WPA3-Enterprise authorization policies and credential management.

FreeRADIUS module

Device Manager includes an rlm_python bridge at device_manager.freeradius. FreeRADIUS stays responsible for EAP/password authentication; this module evaluates registered device identity, records the RADIUS request, creates an auditable access decision, and returns VLAN or reply attributes for allow, quarantine, or reject outcomes.

Set these environment variables for the FreeRADIUS service:

DEVICE_MANAGER_BENCH_PATH=/home/frappe/frappe-bench
DEVICE_MANAGER_SITE=your-site-name

Example mods-available/python3 module stanza:

python3 device_manager {
    module = device_manager.freeradius
    instantiate = ${.module}
    authorize = ${.module}
    post_auth = ${.module}
}

Then call the module from the relevant virtual server:

authorize {
    device_manager
}

post-auth {
    device_manager
}

The module reads common request attributes such as Calling-Station-Id, User-Name, NAS-Identifier, NAS-IP-Address, and SSID attributes, then writes DM Radius Auth Event, DM Access Decision, and DM Device Audit Event records.

Installation

You can install this app using the bench CLI:

cd $PATH_TO_YOUR_BENCH
bench get-app $URL_OF_THIS_REPO --branch version-16
bench install-app device_manager

Contributing

This app uses pre-commit for code formatting and linting. Please install pre-commit and enable it for this repository:

cd apps/device_manager
pre-commit install

Pre-commit is configured to use the following tools for checking and formatting your code:

  • ruff
  • eslint
  • prettier
  • pyupgrade

License

apache-2.0

S
Description
Device Manager is a device registration and access management portal for laboratory, research, and institutional networks. It enables users to register and manage devices, supports RADIUS-based authentication workflows, and facilitates secure network access through WPA3-Enterprise authorization policies and credential management.
Readme 121 KiB
Languages
Python 90.6%
JavaScript 6.5%
Shell 2.9%