SkillAgentSearch skills...

Flexinets.Radius.RadiusServer

Radius server for .Net. Packets handled in pluggable IPacketHandlers

Install / Use

/learn @vforteli/Flexinets.Radius.RadiusServer
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Radius server library for .NET Standard

This project can be used to create a Radius server in for example a Windows Service.

Packets are handled in multiple threads without running several instances. This can be useful when packet handlers do something slow, like lookups from external dependencies.

Pluggable packet handlers for different remote IPs. Conditionally compliant with RFCs
https://tools.ietf.org/html/rfc2865
https://tools.ietf.org/html/rfc2866
https://tools.ietf.org/html/rfc5997

Build status

RadiusServer usage

See https://github.com/vforteli/RadiusServerService/tree/Base for an example implementation
Create a project or appropriate type and add a reference to Flexinets.Radius.RadiusServer

var path = Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory) + "/Content/radius.dictionary";
var dictionary = new RadiusDictionary(path, NullLogger<RadiusDictionary>.Instance);
var radiusPacketParser = new RadiusPacketParser(NullLogger<RadiusPacketParser>.Instance, dictionary);
var packetHandler = new TestPacketHandler();
var repository = new PacketHandlerRepository();
repository.AddPacketHandler(IPAddress.Any, packetHandler, "secret");

var server = new RadiusServer(
    new UdpClientFactory(),
    new IPEndPoint(IPAddress.Any, 1812),
    radiusPacketParser,
    RadiusServerType.Authentication,
    repository,
    NullLogger<RadiusServer>.Instance);

server.Start();

The packet handler should implement IPacketHandler

https://www.nuget.org/packages/Flexinets.Radius.RadiusServer/

View on GitHub
GitHub Stars44
CategoryDevelopment
Updated8mo ago
Forks23

Languages

C#

Security Score

87/100

Audited on Jul 30, 2025

No findings