136 Repos
Libraries for building network servers and clients.
Explore 136 awesome GitHub repositories matching part of an awesome list · Networking. Refine with filters or upvote what's useful.
OkHttp is an HTTP client for the JVM and Android that enables network communication via synchronous and asynchronous requests. It provides a core identity as a comprehensive networking toolkit featuring a WebSocket client for bidirectional data synchronization, a TLS security toolkit for encrypted communication, and a programmable HTTP mock server for simulating backend responses. The project distinguishes itself through a specialized security and performance architecture. It implements mutual TLS, certificate pinning, and DNS over HTTPS to secure data in transit, while utilizing connection p
HTTP and HTTP/2 client for Android.
Alamofire is an HTTP networking library that provides a foundation for managing network requests and responses through a chainable, type-safe interface. It serves as an asynchronous request manager, coordinating concurrent network operations and data streams while maintaining application responsiveness. The library distinguishes itself through a protocol-oriented request adaptation system, which utilizes interceptors to modify or authenticate requests before dispatch. It employs a middleware-driven pipeline to process traffic, handling encoding, authentication, and error recovery in a modular
Swift-based HTTP networking library.
Dubbo is a Java RPC framework and microservices governance platform designed for high-performance remote procedure calls in distributed architectures. It provides the foundational components necessary to connect distributed services across a network, including a binary data serialization library and a distributed service registry. The platform distinguishes itself through a comprehensive governance suite that manages service discovery, load balancing, and traffic routing. It enables precise control over network traffic via conditional routing and a pluggable extension mechanism based on a ser
High-performance RPC framework.
Fasthttp is a high-performance networking framework for Go, designed to maximize throughput and minimize memory overhead in demanding web applications. It functions as a specialized HTTP server and client library that prioritizes efficient resource management, allowing developers to build scalable services capable of handling massive concurrent traffic with minimal garbage collection pressure. The library distinguishes itself through a focus on zero-allocation processing and low-level optimization. It achieves this by recycling temporary request and response objects through managed pools and
High-performance HTTP implementation.
This is a header-only C++ library that provides implementations for HTTP clients, HTTP servers, and a WebSocket framework. It allows for the creation of network services and the consumption of remote APIs without requiring a separate compilation step or external binary linking. The project features backend-agnostic TLS integration for secure HTTPS and WSS communication and employs a thread-pool model to process concurrent requests. It distinguishes itself with a full-duplex WebSocket state-machine and a middleware-based request pipeline that supports regular-expression path routing. The libr
Cross-platform HTTP server/client.
Moya is a network abstraction layer for Swift that provides a structured framework for defining and executing REST API requests. It functions as a type-safe API client that decouples network endpoint definitions from the underlying implementation details to prevent configuration errors and URL typos. The project distinguishes itself by using protocol-based endpoint definitions and a provider-coordinated execution model. It includes a system for mapping network responses to strongly typed objects and features a dedicated tool for generating type-safe network interface files from external REST
Network abstraction layer for Swift.
This project is a comprehensive Python network request framework designed for both synchronous and asynchronous HTTP communication. It provides a high-performance client capable of executing non-blocking requests within event-driven applications, while also supporting standard blocking calls for simpler scripts. The library is built to operate natively across diverse asynchronous runtimes, automatically detecting and utilizing the underlying event loop for concurrency. What distinguishes this library is its modular architecture, which decouples request construction from network execution thro
HTTP client with an API compatible with standard requests.
Mongoose is an embedded networking library providing TCP/IP stacks, web server hosting, and IoT device connectivity. It enables microcontrollers and desktop systems to implement network protocols including HTTP, WebSocket, and MQTT. The project provides a bare-metal TCP/IP stack for environments without a native operating system and includes built-in TLS and ECC encryption to secure network traffic. It features a binary-embedded file system to serve web content directly from the executable and supports over-the-air firmware updates for managing device fleets. Additional capabilities cover as
HTTP server.
CocoaAsyncSocket is a networking library for macOS and iOS that provides core components for managing asynchronous TCP and UDP streams. It implements non-blocking network communication to maintain application responsiveness during data transfers, featuring a delegate-based system for managing connection streams and packet handling. The library includes a secure communication layer that wraps TCP sockets to apply encryption standards, protecting client and server traffic from unauthorized interception. Its capabilities cover non-blocking connection management for both stream-based TCP and pac
Asynchronous socket networking library.
gRPC Java is a library for building distributed systems that enables client and server applications to interact through remote procedure calls. It uses protocol buffers to define service interfaces and exchange structured data, providing a framework for connecting microservices across different environments. The framework utilizes an asynchronous networking foundation to manage concurrent connections and relies on a multiplexed binary protocol to facilitate efficient data exchange. It supports pluggable transport interceptors, allowing for the injection of custom logic into the request-respon
RPC framework based on protobuf and HTTP/2.
RestKit is an iOS REST API integration framework used to connect Apple platform applications to web services. It centers on RESTful resource modeling, transforming remote API data structures into typed local objects and database entities. The framework provides capabilities for remote data persistence by caching web service resources in a local database to enable offline access. It also handles network data serialization, using pluggable parsers to convert JSON or XML responses into application data models. Additional functionality includes multipart file uploading for sending binary data an
Objective-C framework for RESTful web services.
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
Comprehensive library for DNS operations.
Reachability.swift is a network connectivity listener and Swift network state wrapper. It monitors real-time changes to network status and tracks whether a device is connected to Wi-Fi or cellular data. The library functions as a network reachability monitor that uses closures and system notifications to trigger callbacks when connectivity changes. It tracks internet connectivity and connection types to allow for network state handling and the adjustment of app content loading based on availability.
Network reachability monitoring with closures.
Trio is an asynchronous I/O runtime and concurrency library for Python. It provides a system for executing non-blocking network and disk operations through a centralized event loop and task scheduler. The library is built on a structured concurrency model, which ensures that asynchronous tasks are bound to a specific lifetime and cannot outlive the scope that started them. It utilizes a nursery-based task manager to track task lifecycles in a parent-child tree, preventing orphaned concurrent operations by requiring child tasks to be joined before their parent scope exits. The framework cover
Library for asynchronous concurrency and I/O.
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
Packet processing library with libpcap bindings.
YTKNetwork is a high-level networking wrapper library for Objective-C and Swift that simplifies request handling and response management. It serves as a networking layer built around AFNetworking to decouple request logic from underlying communications. The project features an HTTP request orchestrator for grouping network calls into batches or sequences to manage data retrieval dependencies. It includes a JSON response validator to verify server responses against expected structural formats, a network request interceptor for executing custom logic during the call lifecycle, and a local cachi
High-level request utility based on AFNetworking.
Ion is an asynchronous HTTP client library for Android that handles network requests, JSON parsing, image loading, and file downloads. It provides a fluent builder pattern for constructing requests and supports automatic JSON deserialization into Java objects using Gson, along with in-memory image caching and multipart form-data encoding. The library distinguishes itself through its support for request cancellation via Future objects, allowing individual or bulk cancellation of in-flight requests to avoid wasted bandwidth and stale callbacks. It also includes proxy-aware request routing for d
Asynchronous networking and image loading.
🚀 A Complete Fast Android Networking Library that also supports HTTP/2 🚀
Complete networking library with HTTP/2 support.
Dieses Projekt ist eine Objective-C HTTP-Networking-Bibliothek, die einen objektorientierten Wrapper für CFNetwork bereitstellt, um synchrone und asynchrone Anfragen unter macOS und iOS auszuführen. Sie fungiert als Framework für das Management von HTTP-Sessions, die Durchführung fortsetzbarer Dateiübertragungen und das Caching von Offline-Inhalten. Die Bibliothek zeichnet sich durch einen Manager für fortsetzbare Dateiübertragungen aus, der Byte-Offsets verfolgt und disk-basiertes Streaming für große Uploads und Downloads nutzt. Sie enthält zudem einen sicheren Credential-Manager, der in den System-Keychain integriert ist, um Client-Zertifikate und Authentifizierungstoken zu verwalten. Der Funktionsumfang deckt HTTP-Session-Management mit automatisiertem Cookie-Handling, sicherer Web-Authentifizierung und dem Abruf vollständiger Webseiten für die Offline-Ansicht ab. Zudem bietet sie Werkzeuge für die Hintergrundverarbeitung von Anfragen, Netzwerk-Traffic-Kompression, Bandbreitendrosselung und Proxy-Konfiguration.
CFNetwork wrapper for HTTP requests.
Okdownload ist eine Multi-Threaded-HTTP-Download-Engine und Transfer-Bibliothek für gleichzeitige Dateidownloads. Sie fungiert als fortsetzbarer Datei-Downloader, der einzelne Dateien zur Erhöhung des Netzwerkdurchsatzes und der Übertragungsgeschwindigkeit in mehrere Blöcke für die parallele Verarbeitung aufteilt. Das System zeichnet sich durch ein Builder-basiertes Komponenten-Injektions-Framework und ein Strategie-Muster aus, das benutzerdefinierte Download-Engines ermöglicht. Entwickler können Standard-Storage- und Verbindungsmodule ersetzen oder die Logik für Block-Splitting und Dateinamen-Generierung überschreiben. Die Bibliothek bietet eine umfassende Queue-Orchestrierung, einschließlich prioritätsbasierter Task-Planung und globalem Concurrency-Management zur Regulierung des Netzwerk-Traffics. Die Zuverlässigkeit wird durch Breakpoint-Tracking für die Wiederaufnahme unterbrochener Downloads, Disk-Pre-Allocation und Content-Integrity-Validierung sichergestellt. Monitoring-Funktionen umfassen die Echtzeit-Berechnung der Übertragungsgeschwindigkeit und ein Multi-Listener-Event-System zur Fortschrittsverfolgung.
Reliable and fast download engine.