{"id":30196291,"url":"https://github.com/ppn-systems/nalix","last_synced_at":"2026-05-24T06:03:18.800Z","repository":{"id":269773385,"uuid":"908419327","full_name":"ppn-systems/nalix","owner":"ppn-systems","description":"High-performance TCP networking framework for .NET, low-latency messaging.","archived":false,"fork":false,"pushed_at":"2026-05-20T18:03:58.000Z","size":50470,"stargazers_count":37,"open_issues_count":0,"forks_count":12,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-05-20T22:36:20.871Z","etag":null,"topics":["csharp","dotnet","dotnetcore","framework","logging","lz4","nalix","network","open-source","packet","protocol","sdk","serialization","socket","tcp","udp","websocket"],"latest_commit_sha":null,"homepage":"https://ppn-system.me/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ppn-systems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":".github/AGENTS.md","dco":null,"cla":null},"funding":{"github":["ppn-systems"]}},"created_at":"2024-12-26T03:14:17.000Z","updated_at":"2026-05-20T18:04:00.000Z","dependencies_parsed_at":"2026-05-20T19:02:42.030Z","dependency_job_id":null,"html_url":"https://github.com/ppn-systems/nalix","commit_stats":null,"previous_names":["phcnguyen/notio","phcnguyen/nalix","ppn-systems/nalix"],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/ppn-systems/nalix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppn-systems%2Fnalix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppn-systems%2Fnalix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppn-systems%2Fnalix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppn-systems%2Fnalix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ppn-systems","download_url":"https://codeload.github.com/ppn-systems/nalix/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppn-systems%2Fnalix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33423286,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"online","status_checked_at":"2026-05-24T02:00:06.296Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","dotnet","dotnetcore","framework","logging","lz4","nalix","network","open-source","packet","protocol","sdk","serialization","socket","tcp","udp","websocket"],"created_at":"2025-08-13T05:17:39.291Z","updated_at":"2026-05-24T06:03:18.794Z","avatar_url":"https://github.com/ppn-systems.png","language":"C#","funding_links":["https://github.com/sponsors/ppn-systems"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/assets/!/banner.svg\" alt=\"nalix Banner\" width=\"100%\"\u003e\n  \u003cimg src=\"docs/assets/!/claude.svg\" alt=\"Claude Code mascot jumping\" width=\"120\" height=\"100\"\u003e\u003cbr\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://dotnet.microsoft.com/\"\u003e\u003cimg src=\"https://img.shields.io/badge/.NET-10.0-blueviolet?logo=dotnet\u0026logoColor=white\" alt=\".NET\"\u003e\u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/ppn-systems/nalix?style=flat-square\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.nuget.org/packages/Nalix.Network\"\u003e\u003cimg src=\"https://img.shields.io/nuget/v/Nalix.Network?style=flat-square\u0026logo=nuget\u0026label=NuGet\" alt=\"NuGet\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.nuget.org/packages/Nalix.Network\"\u003e\u003cimg src=\"https://img.shields.io/nuget/dt/Nalix.Network?style=flat-square\u0026logo=nuget\u0026label=Downloads\" alt=\"Downloads\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/ppn-systems/nalix/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/ppn-systems/nalix?style=flat-square\" alt=\"Issues\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/ppn-systems/nalix/pulls\"\u003e\u003cimg src=\"https://img.shields.io/github/issues-pr/ppn-systems/nalix?style=flat-square\" alt=\"PRs\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/ppn-systems/nalix\"\u003e\u003cimg src=\"https://img.shields.io/github/repo-size/ppn-systems/nalix?style=flat-square\" alt=\"Repo Size\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/ppn-systems/nalix/commits/master\"\u003e\u003cimg src=\"https://img.shields.io/github/commit-activity/m/ppn-systems/nalix?style=flat-square\u0026logo=github\" alt=\"Commit Activity\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003e\u003ca href=\"DOCUMENTATION.md\"\u003eDocumentation\u003c/a\u003e\u003c/b\u003e · \u003cb\u003e\u003ca href=\"example/\"\u003eExamples\u003c/a\u003e\u003c/b\u003e · \u003cb\u003e\u003ca href=\"#-benchmarks\"\u003eBenchmarks\u003c/a\u003e\u003c/b\u003e · \u003cb\u003e\u003ca href=\"CONTRIBUTING.md\"\u003eContributing\u003c/a\u003e\u003c/b\u003e\n\u003c/p\u003e\n\n---\n\n## 📖 About\n\n**Nalix** is a modular, high-performance networking framework for .NET 10. It provides a complete stack for building real-time server applications — from low-level transport (TCP/UDP) to middleware pipelines, packet routing, and client SDKs — with a focus on zero-allocation hot paths, pluggable protocols, and enterprise-grade security.\n\n---\n\n## 🛠️ Build Status\n\n| Platform | Status |\n| :--- | :--- |\n| ![Linux](https://badgen.net/badge/icon/Ubuntu%20Linux%2022.04%20x64?icon=terminal\u0026label\u0026color=orange) | [![CI](https://github.com/ppn-systems/nalix/actions/workflows/ci-linux.yml/badge.svg?event=push)](https://github.com/ppn-systems/nalix/actions/workflows/ci-linux.yml) |\n| ![Windows](https://badgen.net/badge/icon/Windows,.NET%2010?icon=windows\u0026label\u0026list=1) | [![CI](https://github.com/ppn-systems/nalix/actions/workflows/ci-windows.yml/badge.svg?event=push)](https://github.com/ppn-systems/nalix/actions/workflows/ci-windows.yml) |\n\n---\n\n## ✨ Features\n\n| Category | Highlights |\n| :--- | :--- |\n| 🖥️ **Cross-Platform** | Runs on Windows, Linux, and macOS with .NET 10+. |\n| ⚡ **High Performance** | Zero-allocation serialization, shard-aware dispatch, and buffer pooling for thousands of concurrent connections. |\n| 🔐 **Security-First** | AEAD encryption (ChaCha20-Poly1305), Static-Ephemeral X25519 (Noise Protocol) with server identity pinning, and zero-RTT session resumption. |\n| 🔌 **Pluggable Protocols** | Swap network, serialization, or security protocols without modifying core logic. |\n| 🛤️ **Middleware Pipeline** | Built-in authentication, rate limiting, traffic shaping, and audit logging — or write your own. |\n| 📡 **Real-Time Updates** | Instant messaging, state synchronization, and live event broadcasting. |\n| 🛠️ **Extensible** | Attribute-based packet routing, auto-discovered controllers, and fluent builder APIs. |\n| 🧩 **SOLID \u0026 DDD** | Clean architecture following SOLID principles and Domain-Driven Design patterns. |\n| 💻 **Modern C#** | Leverages C# 14 features — `Span\u003cT\u003e`, `ref struct`, pattern matching, and more. |\n\n---\n\n## 🔧 Requirements\n\n| Requirement | Version |\n| :--- | :--- |\n| .NET SDK | [10.0+](https://dotnet.microsoft.com/download/dotnet/10.0) |\n| C# Language | 14+ |\n| IDE | [Visual Studio 2026](https://visualstudio.microsoft.com/downloads/) / [VS Code](https://code.visualstudio.com/) / [Rider](https://www.jetbrains.com/rider/) |\n\n---\n\n## 💻 Technologies\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://skillicons.dev\"\u003e\u003cimg src=\"https://skillicons.dev/icons?i=dotnet,cs,docker,git\" alt=\"Technologies\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n- **Language**: C# 14 on .NET 10\n- **Testing**: xUnit + BenchmarkDotNet\n- **CI/CD**: GitHub Actions (Linux \u0026 Windows)\n- **Packaging**: NuGet\n\n---\n\n## 📈 Benchmarks\n\n\u003e All benchmarks run on **.NET 10.0**, **Windows 11**, using **BenchmarkDotNet v0.15.8**.\n\n### Environment\n\n- CPU: 13th Gen Intel Core i7-13620H (10C/16T)\n- Runtime: .NET `10.0.5` (X64 RyuJIT, Server GC)\n- SDK: .NET SDK `10.0.201`\n- Job config: `IterationCount=20`, `LaunchCount=3`, `WarmupCount=10`, `RunStrategy=Throughput`\n\n### 🔄 Serialization (128 items, DTO payload)\n\n| Serializer | Serialize | Deserialize | Allocated |\n| :--- | ---: | ---: | ---: |\n| LiteSerializer | 149.9 ns | 142.9 ns | 664–856 B |\n| MemoryPack | 121.6 ns | 145.0 ns | 664–888 B |\n| MessagePack | 422.5 ns | 1,095.2 ns | 504–888 B |\n| System.Text.Json | 897.7 ns | 2,548.2 ns | 1,976–7,200 B |\n\n\u003e **More details:** See the [`docs/benchmarks`](docs/benchmarks/) folder for full data and additional test cases.\n\n---\n\n## 📦 NuGet Packages\n\nNalix is composed of several modular packages — install only what you need.\n\n### 🏗️ Foundation\n\n| Package | Description |\n| :--- | :--- |\n| **[Nalix.Abstractions](src/Nalix.Abstractions)** | Base abstractions, enums, and shared contracts for the Nalix ecosystem. |\n| **[Nalix.Codec](src/Nalix.Codec)** | High-performance framing, cryptography, and serialization. |\n| **[Nalix.Environment](src/Nalix.Environment)** | Low-level IO primitives, buffer leasing, and configuration loading. |\n| **[Nalix.Framework](src/Nalix.Framework)** | High-performance core: cryptography, identity, DI, serialization, and task orchestration. |\n| **[Nalix.Runtime](src/Nalix.Runtime)** | Packet dispatching, middleware pipelines, protection primitives, and throttling. |\n\n### 📡 Networking \u0026 Hosting\n\n| Package | Description |\n| :--- | :--- |\n| **[Nalix.Network](src/Nalix.Network)** | High-performance TCP/UDP transport, connection management, and session persistence. |\n| **[Nalix.Hosting](src/Nalix.Network.Hosting)** | Microsoft-style host and builder APIs for quick bootstrapping. |\n\n### 🛠️ Utilities \u0026 Tooling\n\n| Package | Description |\n| :--- | :--- |\n| **[Nalix.Logging](src/Nalix.Logging)** | Lightweight asynchronous logging for debugging and diagnostics. |\n| **[Nalix.SDK](src/Nalix.SDK)** | Client-side SDK: transport sessions, request/response patterns, and encryption. |\n| **[Nalix.Analyzers](src/Nalix.Analyzers)** | Roslyn analyzers and code fixes to enforce Nalix best practices. |\n| **[Nalix.Analyzers.Generators](src/Nalix.Analyzers.Generators)** | Source generators and analyzers. |\n\n---\n\n## 🚀 Quick Start\n\nBuild a high-performance network application in minutes:\n\n```csharp\nusing Nalix.Hosting;\nusing Nalix.Network.Options;\n\n// Initialize and configure the application host\nusing var host = NetworkApplication.CreateBuilder()\n    .BindTcp\u003cDefaultProtocol\u003e().OnPort(8080).Bind()\n    .ScanHandlers\u003cProgram\u003e() // Auto-discovers all custom PacketController types in the assembly\n    .Configure\u003cNetworkSocketOptions\u003e(opt =\u003e opt.NoDelay = true)\n    .Build();\n\n// Run the server\nawait host.RunAsync();\n```\n\n\u003e See the [examples](example/) directory for complete implementation details.\n\n---\n\n## 📦 Installation\n\n```bash\n# Core server setup\ndotnet add package Nalix.Network.Hosting\n\n# Optional: structured logging\ndotnet add package Nalix.Logging\n\n# Optional: client SDK\ndotnet add package Nalix.SDK\n\n# Optional: Roslyn analyzers\n# Optional: Roslyn analyzers generators\ndotnet add package Nalix.Abstractions \n```\n\n---\n\n## 🛠️ Contributing\n\nPlease read [CONTRIBUTING.md](CONTRIBUTING.md) for the development workflow, commit conventions, and pull request guidelines. Follow our [Code of Conduct](CODE_OF_CONDUCT.md) and submit PRs with proper documentation and tests.\n\n## 🛡️ Security\n\nPlease review our [Security Policy](SECURITY.md) for supported versions and vulnerability reporting procedures.\n\n## 📜 License\n\nNalix is copyright \u0026copy; PhcNguyen — provided under the [Apache License, Version 2.0](http://apache.org/licenses/LICENSE-2.0.html).\n\n## 📬 Contact\n\nFor questions, suggestions, or support, open an issue on [GitHub](https://github.com/ppn-systems/Nalix/issues) or contact the maintainers at [ppn.system@gmail.com](mailto:ppn.system@gmail.com).\n\n---\n\n\u003cp align=\"center\"\u003e\n  Give a ⭐️ if this project helped you!\n  \u003cimg src=\"docs/assets/!/footer.svg\" alt=\"Footer\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n\u003cimg src=\"docs/assets/!/divider.svg\" alt=\"Nalix divider\" width=\"100%\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fppn-systems%2Fnalix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fppn-systems%2Fnalix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fppn-systems%2Fnalix/lists"}