Protect your WIFI access with a username and password by a credential provider you already use!
Authentication tested with Windows, Linux, Android and Apple devices.
This app provides a radius server to authenticate against an authentication service. To get this running you need:
var config = {
// ....
authentication: 'GoogleLDAPAuth',
authenticationOptions: {
base: 'dc=hokify,dc=com'
}
};
For authentication see Authentication Details. For general config options run with --help or see see config.js in root.
npm install
npm run build
Ensure you have installed latest node version (>= 13.10.1) and run:
npm run start
npm install radius-server
This allows this module to be used in other node projects:
import { RadiusServer } from 'radius-server';
const radiusServer = new RadiusServer({
logger: this.logger,
secret: this.secret,
port: this.port,
address: this.hostname,
tlsOptions: this.tlsOptions,
authentication: this
});
await radiusServer.start();
Support for this has landed in node 13.10.1, therefore ensure you have installed at least this node version.
CONTRIBUTIONS WELCOME! If you are willing to help, just open a PR or contact me via bug system or simon.tretter@hokify.com.
There are several reasons why I started implementing this radius server in node js. We are using freeradius right now, but have several issues which are hard to tackle due to the reason that freeradius is a complex software and supports many uses cases. It is also written in C++ and uses threads behind the scene. Therefore it's not easy to extend or modify it, or even bring new feature in. The idea of this project is to make a super simple node radius server, which is async by default. No complex thread handling, no other fancy thing. The basic goal is to make WPA2 authenticiation easy again.
Another motivation is that it is very exciting to see how wireless protocols have evolved, and see how a implementation like TTLS works.
Furthermore there are few alternatives out there, e.g. jumpcloud is non-free and I couldn't find many others.
As soon as I understood the TTLS PAP Tunnel approach, I had this vision of making Wlan Authentification easy for everyone. Why limit it to something "complex" like LDAP and co. This library aims to make it easy for everyone to implement either their own authentication mechanismus (e.g. against a database), or provides some mechansimns out of the box (e.g. imap, static, ldap,..).