34 Repos
Layered architectures that decouple transport and proxy modules for flexible security stacking.
Distinguishing note: Focuses on the modularity of the protocol stack rather than specific transport implementations.
Explore 34 awesome GitHub repositories matching networking & communication · Protocol Abstraction Layers. Refine with filters or upvote what's useful.
Xray-core is a high-performance, cross-platform networking engine designed to manage secure data transmission and traffic routing. At its core, the project utilizes an asynchronous, event-driven runtime model capable of handling thousands of concurrent connections through non-blocking input and output. It functions as a central traffic controller, employing a sophisticated routing engine that dynamically matches incoming network requests to specific outbound proxies based on user-defined criteria. The project distinguishes itself through a modular architecture that decouples proxy and transpo
Uses a modular architecture to decouple transport and proxy layers for flexible security stacking.
JumpServer is a privileged access management platform designed to manage and audit secure access to SSH, RDP, Kubernetes, and database endpoints. It functions as a centralized gateway that brokers remote terminal and graphical sessions to isolate users from critical infrastructure. The system utilizes a web-based protocol gateway to translate remote connections into browser-compatible streams and a protocol-based proxy layer to isolate end-user devices from target assets. It incorporates security watermarking to deter unauthorized screen captures and provides a Kubernetes access gateway for c
Routes traffic through dedicated connectors to isolate user devices from target infrastructure endpoints.
Wechaty is a cross-platform chatbot framework designed to build and manage automated messaging agents. It provides a unified programming interface that abstracts diverse instant messaging protocols, allowing developers to create bots that function consistently across multiple communication services. By utilizing a modular architecture, the framework enables the development of conversational agents capable of handling complex messaging workflows, contact management, and group room interactions. The framework distinguishes itself through a puppet-based protocol abstraction and a language-agnost
Uses pluggable drivers to support multiple messaging protocols, allowing bots to operate across different platforms without changing core logic.
SoftEtherVPN is a multi-protocol virtual private network server that provides secure remote access and site-to-site connectivity. It functions as a virtual network gateway, enabling encrypted communication across public internet connections while supporting both Layer 2 Ethernet bridging and Layer 3 IP routing to manage traffic between connected devices. The platform is designed to maintain connectivity in restrictive network environments by bypassing firewalls and NAT devices through techniques such as HTTPS, ICMP, and DNS-based tunneling. It eliminates the requirement for static public IP a
Normalizes diverse tunneling standards into a unified internal data stream to maintain consistent traffic handling.
Nuclei-templates is a security automation framework and vulnerability scanning library designed for the continuous assessment of distributed infrastructure. It functions as a collection of structured configuration files that define how to identify security flaws and misconfigurations across web applications and network services. The project utilizes a declarative domain-specific language to decouple detection logic from the underlying execution engine. This approach allows for the creation of modular, protocol-agnostic scanning rules that can be updated independently of the core software. By
Decouples transport and protocol modules to enable modular security scanning across diverse network services.
Thrift ist ein sprachübergreifendes Remote-Procedure-Call-Framework (RPC) und Datenserialisierungsprotokoll. Es bietet eine Interface-Definition-Sprache (IDL), um Datentypen und Service-Interfaces in einem neutralen Format zu spezifizieren, was die automatisierte Generierung von Client- und Server-Code über mehrere Programmiersprachen hinweg ermöglicht. Das Projekt fungiert als polyglotter Service-Kommunikator, der einen geschichteten Software-Stack verwendet, um eine interoperable Kommunikation zu gewährleisten. Es konzentriert sich auf die Implementierung sprachübergreifender RPCs und die Transformation komplexer Datenstrukturen in standardisierte Formate für einen effizienten Netzwerktransport. Das Framework enthält Funktionen für das Management der API-Versionskompatibilität, um nicht-atomare Updates zwischen Clients und Servern zu unterstützen. Es bietet zudem Mechanismen zur Verifizierung der Datenintegrität und zur Validierung, dass sich Services über verschiedene Sprachimplementierungen hinweg identisch verhalten.
Implements a layered architecture that decouples data transport from protocol serialization and service processing.
This project is a Go DNS library used for implementing DNS clients and servers. It provides a toolkit for packet exchange, record parsing, and the development of custom nameservers. The library includes a DNS server framework and a zone manager for parsing standard zone files and synchronizing data via zone transfers. It features a dedicated DNSSEC implementation library for generating cryptographic keys and validating signatures, as well as a TLS transport for encrypted connections between clients and servers. The system covers a broad range of capabilities including DNS resolver functional
Decouples core DNS logic from transport layers to support UDP, TCP, and TLS connections.
libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP, WebSocket, and MQTT clients and servers. It provides a non-blocking event loop for managing network sockets, timers, and system signals across multiple threads. The project is distinguished by its integrated support for specialized network roles, including a full HTTP web server with RESTful routing and middleware, an MQTT messaging client for IoT communication, and the ability to implement SOCKS5 and HTTP proxies. It also features a reliable UDP implementation to ensure ordered
Implements a layered architecture that supports high-level protocols like HTTP and MQTT on common transport layers.
gopacket is a Go library for live packet capture and multi-layer protocol decoding. It provides a framework for parsing raw network bytes into structured protocol layers, enabling inspection and analysis of network traffic directly from interfaces or packet capture files. The library distinguishes itself through a layered protocol stack that organizes decoders as independent, composable layers, and an interface-based decoder registry that supports extensible custom protocol development. It offers zero-copy packet decoding for high-throughput parsing, stream-based TCP reassembly to reconstruct
Organises protocol decoders as a stack of independent layers for flexible packet header traversal.
This is a demonstration and template project that applies Clean Architecture principles to SwiftUI application development. It implements a layered architecture that separates presentation, business logic, and data access into independent layers, with unidirectional data flow managed through a single immutable app store that serves as the sole source of truth for all screens. The project distinguishes itself through its implementation of interactor-driven business logic, where all domain rules and workflows live in stateless objects that receive requests and update the central store. Dependen
Hides data access behind repository protocols so business logic never depends on concrete implementations.
This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query Responsibility Segregation (CQRS) patterns using the Go programming language. It serves as a sample application to demonstrate how to decouple core domain rules from infrastructure and delivery mechanisms. The system is built as a gRPC microservices architecture, utilizing type-safe communication and service contracts. It implements an event-driven architecture to manage eventual consistency and asynchronous processing, specifically employing the Outbox pattern to ensure reliable messagin
Decouples core business logic from specific storage technologies using the repository pattern.
This is a Go backend template that structures a web service into domain, usecase, controller, and repository layers with strict dependency inversion. It provides a foundation for building maintainable and testable REST APIs by separating business logic from transport and data access concerns. The project implements JWT-based authentication, issuing access and refresh tokens for user signup, login, and protected endpoint access. It uses the Gin HTTP framework to build a Docker-packaged REST API with public and private route groups, request validation, and middleware-based authentication. Depen
Abstracts MongoDB interactions behind a repository interface for testable data access.
Swift-AI is an on-device library for training and running fully-connected neural networks on Apple platforms. It is designed to enable machine learning workflows directly on mobile hardware without requiring cloud connectivity, supporting both training and inference for tasks such as image classification and handwriting recognition. The library distinguishes itself through deep integration with Apple's ecosystem, leveraging Metal for GPU-accelerated matrix operations and using Swift's compiler infrastructure to parse a domain-specific language for neural network definitions. It implements rev
Defines neural network layers as Swift protocols for type-safe composition.
Dieses Projekt ist eine Referenzimplementierung von Domain-Driven-Design-Mustern, funktionaler Domänenmodellierung und ereignisgesteuerter Zustands-Koordination. Es demonstriert die Anwendung strategischer und taktischer Entwurfsmuster zur Verwaltung komplexer Geschäftsanforderungen. Die Implementierung nutzt ein funktionales Domänenmodell mit reinen Funktionen und unveränderlichen Objekten zur Verwaltung von Zustandsübergängen und Seiteneffekten. Sie bietet eine Command-Query-Responsibility-Segregation-Architektur zur Trennung von Lese- und Schreibmodellen, neben ereignisgesteuerter Koordination zur Wahrung der Konsistenz über autonome Geschäftsgrenzen hinweg. Die Codebasis integriert eine modulare Monolithen-Architektur unter Verwendung von Bounded Contexts und hexagonalem Layering, um Kernlogik von der Infrastruktur zu isolieren. Die Qualitätssicherung erfolgt durch eine Suite für verhaltensgesteuerte Entwicklung (BDD), die die Ubiquitous Language widerspiegelt, um Geschäftsszenarien zu verifizieren, sowie automatisierte Tests, die architektonische Constraints durchsetzen. Das Projekt wendet diese Muster auf eine Bibliotheksverwaltungsdomäne an und deckt Katalogpflege, Ausleih-Workflows, Reservierungsvalidierungen und die Nachverfolgung überfälliger Rückgaben ab.
Decouples the domain model from the persistence layer using interfaces that treat data storage as in-memory collections.
SpringSide 4 is an enterprise Java reference architecture and utility library built on the Spring Framework. It provides a pragmatic, best-practice application stack for building RESTful web services, web applications, and data access layers, along with a curated collection of high-performance utility classes for common operations like text, date, collection, reflection, concurrency, and I/O handling. The project distinguishes itself by combining a complete reference application scaffold with production-oriented infrastructure. It includes a JPA-based data access layer that automatically tran
Automatically generates data access implementations from repository interface method names.
phpseclib is a pure-PHP cryptographic library that provides a comprehensive suite of cryptographic operations entirely without requiring compiled C extensions. At its core, it implements arbitrary-precision integer arithmetic for big-number math, ASN.1 DER encoding and decoding for working with cryptographic data structures, and a full set of pure-PHP cryptographic primitives. The library is designed to operate on PHP 5.6 and above, automatically detecting and using native extensions like GMP or BCMath when available, but falling back to its own pure-PHP implementations when they are not. The
Separates transport, authentication, and channel logic into distinct layers for SSH and TLS.
Dieses Projekt ist eine Referenzimplementierung, die eine Sammlung praktischer Beispiele für Datenzugriffsmuster und Repository-Abstraktionen innerhalb des Spring-Data-Ökosystems bereitstellt. Es dient als umfassendes Showcase für die Implementierung konsistenter Datenschichten über verschiedene relationale und nicht-relationale Datenbanken hinweg. Das Repository demonstriert spezifisch Multi-Store-Persistenz durch die Integration relationaler, Dokumenten- und Vektordatenbanken innerhalb einer einzigen Anwendung. Es enthält Implementierungen für Vektorsuche zur Verwaltung hochdimensionaler Embeddings und Ähnlichkeitssuchen über verschiedene Datenbanktechnologien hinweg. Zusätzliche abgedeckte Funktionen umfassen reaktiven Datenzugriff für nicht-blockierende Operationen und asynchrone Datenströme. Das Projekt bietet zudem Anleitungen zur Optimierung nativer Images, um die Start-Performance und den Speicherverbrauch durch Ahead-of-Time-Kompilierung zu verbessern. Die Beispiele illustrieren darüber hinaus Multi-Tenant-Datenisolierung, das Design von Daten-Repository-APIs sowie die Integration von Geodaten- und Volltextsuche.
Standardizes database access by mapping domain entities to common repository interfaces for multiple store types.
tbox is a multi-platform C standard library and toolkit designed for portable software development. It provides a core foundation for low-level system programming through a collection of system primitives, data structures, and memory management tools. The project includes a coroutine framework for cooperative multitasking and asynchronous logic, a data structure library featuring generic containers with a consistent iterator interface, and a memory management toolkit for pool allocation and debugging of heap overflows and leaks. It also provides a network and serialization toolset for handlin
Implements a layered network abstraction to unify DNS resolution and encrypted transfers across multiple protocol versions.
LoopBack Next is a Node.js API framework used for building REST and multi-protocol APIs. It functions as an OpenAPI server implementation that can either generate machine-readable specifications from code or produce implementation controllers and models from existing specifications. The framework distinguishes itself through a central dependency injection container and a repository-pattern data access layer. This architecture decouples application logic from component construction and persistent storage, allowing for a pluggable system where data sources and business logic are isolated throug
Abstracts data access logic into repository interfaces to decouple the domain from persistence details.
Dieses Projekt ist eine Kotlin-Android-Referenzanwendung und eine Reihe von Beispielimplementierungen, die Prinzipien der Clean Architecture demonstrieren. Es bietet ein strukturelles Design, das Kern-Geschäftsregeln von der Benutzeroberfläche und den Datenquellen in distinkte, geschichtete Module isoliert. Die Implementierung konzentriert sich auf das Model-View-ViewModel-Muster (MVVM), um UI-Logik von Datenmodellen zu entkoppeln. Sie nutzt ein Dependency-Injection-Framework, um die Objekterstellung zu automatisieren und Komponenten-Lebenszyklen zu verwalten, während sie ein Repository-Muster verwendet, um Datenanfragen über Speicher-, Festplatten- und Cloud-Quellen hinweg zu abstrahieren. Die Architektur integriert eine funktionsbasierte Paketorganisation und modulare Build-Konfigurationen, um Konsistenz über das Projekt hinweg zu wahren. Sie enthält zudem eine umfassende Teststrategie, die Unit-Tests für Geschäftslogik mit Instrumentierung für die UI und Mock-Module für die Validierung der Datenebene kombiniert.
Implements the repository pattern to abstract data access and decouple the domain from specific persistence details.