34 repository-uri
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 este un framework de apeluri de proceduri la distanță (RPC) și un protocol de serializare a datelor cross-language. Acesta oferă un limbaj de definire a interfeței (IDL) pentru a specifica tipurile de date și interfețele de servicii într-un format neutru, permițând generarea automată a codului de client și server în mai multe limbaje de programare. Proiectul funcționează ca un comunicator de servicii poliglot, utilizând un stack software stratificat pentru a asigura o comunicare interoperabilă. Se concentrează pe implementarea apelurilor de proceduri la distanță cross-language și transformarea structurilor de date complexe în formate standardizate pentru un transport eficient în rețea. Framework-ul include capabilități pentru gestionarea compatibilității versiunilor API pentru a suporta actualizări non-atomice între clienți și servere. De asemenea, oferă mecanisme pentru verificarea integrității datelor și validarea faptului că serviciile se comportă identic în diferite implementări de limbaje.
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.
Acest proiect este o implementare de referință a design pattern-urilor Domain-Driven Design, modelarea domeniului funcțional și coordonarea stării bazată pe evenimente. Demonstrează aplicarea design pattern-urilor strategice și tactice pentru a gestiona cerințe de business complexe. Implementarea utilizează un model de domeniu funcțional cu funcții pure și obiecte imutabile pentru a gestiona tranzițiile de stare și efectele secundare. Dispune de o arhitectură Command Query Responsibility Segregation pentru a separa modelele de citire și scriere, alături de coordonarea bazată pe evenimente pentru a menține consistența între limitele de business autonome. Codul sursă încorporează o arhitectură modulară de tip monolit folosind bounded contexts și stratificare hexagonală pentru a izola logica de bază de infrastructură. Asigurarea calității este gestionată printr-o suită de dezvoltare bazată pe comportament (BDD) care oglindește limbajul ubicuu pentru a verifica scenariile de business și testele automate care impun constrângeri arhitecturale. Proiectul aplică aceste tipare unui domeniu de gestionare a bibliotecii, acoperind întreținerea catalogului de cărți, fluxurile de lucru de circulație, validările de reținere și urmărirea împrumuturilor întârziate.
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.
Acest proiect este o implementare de referință care oferă o colecție de exemple practice pentru tiparele de acces la date și abstractizările de repository în ecosistemul Spring Data. Acesta servește drept vitrină cuprinzătoare pentru implementarea straturilor de date consistente în diverse baze de date relaționale și non-relaționale. Repository-ul demonstrează în mod specific persistența multi-store prin integrarea bazelor de date relaționale, document și vectoriale într-o singură aplicație. Include implementări pentru căutarea vectorială pentru a gestiona embedding-uri de înaltă dimensiune și căutări de similaritate între diferite tehnologii de baze de date. Capabilitățile suplimentare acoperite includ accesul reactiv la date pentru operațiuni non-blocking și fluxuri de date asincrone. Proiectul oferă, de asemenea, îndrumări privind optimizarea imaginilor native pentru a îmbunătăți performanța de pornire și utilizarea memoriei prin compilare ahead-of-time. Exemplele ilustrează în continuare izolarea datelor multi-tenant, designul API-urilor de repository de date și integrarea căutării geospațiale și full-text.
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 este un framework API Node.js utilizat pentru construirea de API-uri REST și multi-protocol. Funcționează ca o implementare de server OpenAPI care poate fie să genereze specificații lizibile de către mașină din cod, fie să producă controllere și modele de implementare din specificații existente. Framework-ul se remarcă printr-un container central de injecție a dependențelor și un strat de acces la date bazat pe modelul repository. Această arhitectură decuplează logica aplicației de construcția componentelor și stocarea persistentă, permițând un sistem pluggable unde sursele de date și logica de business sunt izolate printr-un sistem standardizat de conectori. Proiectul acoperă o gamă largă de capabilități, inclusiv controlul accesului bazat pe roluri cu strategii de autentificare pluggable și orchestrarea serviciilor externe REST și SOAP. De asemenea, oferă instrumente pentru comunicarea în timp real prin endpoint-uri WebSocket, validarea schemelor JSON și scaffolding-ul automatizat al proiectelor printr-o interfață de linie de comandă. Dezvoltarea este susținută de un set de instrumente CLI pentru bootstrapping-ul aplicațiilor, generarea componentelor API și gestionarea dependențelor proiectului.
Abstracts data access logic into repository interfaces to decouple the domain from persistence details.
Acest proiect este un șablon de referință pentru o aplicație Android în Kotlin și un set de implementări demonstrative ale principiilor Clean Architecture. Oferă un design structural care izolează regulile de business de bază de interfața utilizator și sursele de date în module distincte, stratificate. Implementarea se concentrează pe pattern-ul Model-View-ViewModel (MVVM) pentru a decupla logica UI de modelele de date. Utilizează un framework de dependency injection pentru a automatiza crearea obiectelor și a gestiona ciclurile de viață ale componentelor, folosind în același timp un pattern de tip repository pentru a abstractiza cererile de date din memorie, disc și surse cloud. Arhitectura încorporează organizarea pachetelor bazată pe funcționalități și configurații de build modulare pentru a menține consistența în cadrul proiectului. Include, de asemenea, o strategie de testare cuprinzătoare care combină teste unitare pentru logica de business cu instrumentare pentru UI și module mock pentru validarea stratului de date.
Implements the repository pattern to abstract data access and decouple the domain from specific persistence details.