Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vforteli/flexinets.radius.radiusserver
Radius server for .Net. Packets handled in pluggable IPacketHandlers
https://github.com/vforteli/flexinets.radius.radiusserver
multithreaded netstandard radius radius-dictionary radius-server rfc2865 rfc2866
Last synced: about 13 hours ago
JSON representation
Radius server for .Net. Packets handled in pluggable IPacketHandlers
- Host: GitHub
- URL: https://github.com/vforteli/flexinets.radius.radiusserver
- Owner: vforteli
- License: mit
- Created: 2016-03-08T18:57:28.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-02-08T18:52:39.000Z (almost 5 years ago)
- Last Synced: 2024-11-11T21:56:39.909Z (7 days ago)
- Topics: multithreaded, netstandard, radius, radius-dictionary, radius-server, rfc2865, rfc2866
- Language: C#
- Homepage:
- Size: 528 KB
- Stars: 45
- Watchers: 8
- Forks: 22
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
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](https://ci.appveyor.com/api/projects/status/dbc6ua1ypa9eas3p?svg=true)](https://ci.appveyor.com/project/vforteli/radiusserver)# 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.Instance);
var radiusPacketParser = new RadiusPacketParser(NullLogger.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.Instance);server.Start();
```The packet handler should implement IPacketHandler
https://www.nuget.org/packages/Flexinets.Radius.RadiusServer/