Nalix is a real-time server solution designed for efficient communication and data sharing. It enables instant messaging, data synchronization, and secure networking, making it ideal for applications requiring live updates.
| Environment | Status |
|---|---|
- π₯οΈ Cross-Platform β Runs on Windows, Linux, and macOS with .NET 10+.
- π Real-time communication β Supports instant messaging and state synchronization.
- π Pluggable Protocols β Easily add and swap network, serialization, or security protocols without modifying core logic.
- π€οΈ Custom Middleware β Define middleware to control authentication, validation, transformation, throttling, and more.
- β‘ High performance β Designed to handle thousands of concurrent connections.
- π Security-focused β Implements encryption (ChaCha20-Poly1305, Salsa20-Poly1305) to protect data.
- π οΈ Extensible β Easily customizable with your own protocols and handlers.
- π‘ Live Updates β Stay up to date with real-time updates, ensuring dynamic and responsive experiences.
- π» Modern C# Implementation β Leveraging cutting-edge C# features for clean, efficient, and maintainable code.
- π§© SOLID & DDD Principles β Adhering to SOLID principles and Domain-Driven Design for a robust and scalable architecture.
- .NET 10 and C# 14 support
- Install .NET SDK 10 from dotnet.microsoft.com
Visual Studio 2026Download Visual Studio
Note: All benchmarks are performed on .NET 10.0, Intel i7-13620H, Windows 11, using BenchmarkDotNet v0.15.8.
| Method | Payload | Algorithm | Mean | Allocated |
|---|---|---|---|---|
| Encrypt | 128 | SALSA20 | 356 ns | - |
| Decrypt | 128 | SALSA20 | 281 ns | 48 B |
| Encrypt | 8192 | CHACHA20_POLY1305 | 48,649 ns | - |
| Decrypt | 8192 | CHACHA20_POLY1305 | 26,153 ns | 48 B |
| Method | KeyPairCount | Mean | Allocated |
|---|---|---|---|
| X25519.GenerateKeyPair (CSPRNG + scalar mult) | 1 | 65.36 ΞΌs | 112 B |
| X25519.GenerateKeyFromPrivateKey (scalar only) | 1 | 67.35 ΞΌs | 112 B |
| X25519.Agreement (shared secret) | 1 | 66.59 ΞΌs | 56 B |
| Method | ArrayLength | Mean (ns) | Allocated |
|---|---|---|---|
Serialize<int[]> β byte[] |
256 | 0.0476 | - |
Deserialize<int> <- ReadOnlySpan<byte> (ref) |
256 | 0.1097 | - |
Serialize<LargeStruct> β existing byte[] buffer |
2048 | 0.0396 | - |
Deserialize<LargeStruct> <- ReadOnlySpan<byte> (ref) |
2048 | 0.2274 | 1 B |
... See more in the detailed benchmark report file.
More details: See the
docs/Nalix.Benchmarksfolder in the repository for full data and additional test cases.
| Package ID | Description |
|---|---|
| Nalix.SDK | Client-side SDK offering controllers, time sync, and localization utilities for connecting to Nalix.Network. |
| Nalix.Common | Core abstractions, enums, and shared contracts for the Nalix ecosystem. |
| Nalix.Logging | Asynchronous and high-performance logging subsystem with batching and multiple sinks. |
| Nalix.Network | Core networking runtime providing TCP/UDP connections, protocol pipelines, and throttling. |
| Nalix.Framework | High-level framework providing identity, injection, randomization, and task orchestration. |
You can install Nalix packages individually via NuGet:
dotnet add package Nalix.SDK
dotnet add package Nalix.Common
dotnet add package Nalix.Logging
dotnet add package Nalix.Network
dotnet add package Nalix.FrameworkAll Nalix packages target .NET 10 with full support for C# 14 features.
When contributing, please read CONTRIBUTING.md for the development workflow, commit convention, and pull request guidelines. Please also follow our Code of Conduct and submit PRs with proper documentation and tests.
Please review our Security Policy for supported versions and vulnerability reporting procedures.
Nalix is copyright Β© PhcNguyen - Provided under the Apache License, Version 2.0.
For questions, suggestions, or support, open an issue on GitHub or contact the maintainers at ppn.system@gmail.com.
Give a βοΈ if this project helped you!