Skip to content

pn0ujen/Nalix

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2,272 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Icon Nalix

.NET

GitHub License NuGet Version NuGet Downloads

Issues PRs GitHub file size in bytes GitHub commit activity

πŸ“– About

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.

πŸ› οΈ Latest Builds

Environment Status
linux Nalix
win Nalix

✨ Features

  • πŸ–₯️ 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.

πŸ”§ Requirements

πŸ’» Technologies

  • C#

  • .Net 10

  • Console Debug Logging

  • XUnit Testing

  • BenchmarkDotNet

    Technologies

πŸ“ˆ Benchmarks

Note: All benchmarks are performed on .NET 10.0, Intel i7-13620H, Windows 11, using BenchmarkDotNet v0.15.8.

πŸ”’ Envelope Encryption

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

🏎️ X25519 ECC

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

πŸ”„ Serialization

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.Benchmarks folder in the repository for full data and additional test cases.


πŸ“¦ Available NuGet Packages

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.

πŸ“¦ Installation

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.Framework

All Nalix packages target .NET 10 with full support for C# 14 features.

πŸ› οΈ Contributing

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.

πŸ›‘οΈ Security

Please review our Security Policy for supported versions and vulnerability reporting procedures.

πŸ“œ License

Nalix is copyright Β© PhcNguyen - Provided under the Apache License, Version 2.0.

πŸ“¬ Contact

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!

About

Nalix is a real-time server solution designed to facilitate efficient communication and data sharing. It allows users to exchange messages and information quickly, providing a robust backend for various applications requiring live updates and instant data synchronization.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 99.8%
  • Other 0.2%