19 Repos
Improves data transmission speed and responsiveness by enabling modern protocol features for communication between server and client.
Distinguishing note: Focuses on protocol-level support, distinct from specific features like asset pushing.
Explore 19 awesome GitHub repositories matching networking & communication · HTTP/2 Protocol Implementations. 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
Implements distinct logic for HTTP/1.1, HTTP/2, and WebSockets to handle specific protocol framing.
Echo is a high-performance, lightweight web framework for Go designed for building scalable RESTful APIs and web services. It provides a centralized environment for mapping network requests to handler functions, utilizing a fast radix-tree routing engine to ensure efficient request dispatching. The framework is built around a modular, middleware-centric pipeline that allows developers to execute reusable logic for cross-cutting concerns like authentication, logging, and security across the entire application. What distinguishes Echo is its focus on developer productivity through structured da
Improves data transmission speed and responsiveness by enabling modern protocol features for communication between server and client.
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
Implements modern protocol features to improve performance and concurrency for network communication.
grpc-go is a Go language implementation of the gRPC framework, providing a remote procedure call library for high-performance service communication. It uses the HTTP/2 protocol to execute functions on remote servers as if they were local methods and utilizes protobuf service bindings to generate type-safe client and server code. The project features a bidirectional streaming transport that supports asynchronous, full-duplex message streams between clients and servers. This networking layer allows for various communication patterns, including client-to-server and server-to-client streaming, to
Implements a communication system using HTTP/2 to execute functions on remote servers as if they were local methods.
Excelize is a library for reading and writing spreadsheet files in the Office Open XML format. It provides a comprehensive suite of tools for programmatically creating, modifying, and analyzing workbooks, worksheets, and cell data, ensuring compatibility across various office software suites through structured XML serialization. The library distinguishes itself with a built-in formula calculation engine that evaluates complex mathematical and logical expressions directly against workbook data. It also features a memory-mapped streaming architecture, which allows for the efficient processing o
Configures web servers to utilize modern network protocols for reduced latency.
Superagent is an isomorphic JavaScript HTTP client for sending network requests and processing responses across both Node.js and web browser environments. It provides a fluent request builder that uses a chainable interface to construct complex network requests with custom headers, query strings, and bodies. The library functions as a runtime-agnostic request adapter, allowing a single codebase to work consistently across different environments. It includes specialized capabilities such as an HTTP/2 client for forcing the HTTP/2 protocol and a Node.js agent for managing Unix socket connection
Includes a specialized client capable of forcing the HTTP/2 protocol for high-performance communication.
Hyper is a low-level networking library designed for building high-performance HTTP clients and servers. It provides a foundational toolkit for creating network services that leverage asynchronous execution and memory-safe data handling, supporting both HTTP/1 and HTTP/2 protocols. The library distinguishes itself through a protocol-agnostic architecture that separates transport logic from HTTP semantics. It utilizes a service-trait abstraction to decouple network logic from the underlying transport, enabling developers to inject custom middleware for request interception and response transfo
Implements a high-concurrency networking stack supporting modern HTTP/1 and HTTP/2 standards.
Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications. It utilizes ahead-of-time native compilation to transform Java code into standalone, optimized binaries that eliminate the need for a virtual machine, enabling rapid startup and reduced memory consumption. By performing code augmentation during the build phase, it shifts heavy processing tasks away from runtime, ensuring that applications are optimized for cloud-native environments. The framework distinguishes itself through a unified approach to reactive and imperative program
Supports HTTP/2 protocol features including automatic cleartext upgrades and configurable stream limits.
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
Implements binary-formatted transport with request multiplexing and header compression to improve network efficiency.
Dio is a cross-platform HTTP client for Dart designed to manage network requests and data communication across mobile and desktop applications. It provides a comprehensive framework for executing standard web operations while handling complex tasks such as request lifecycles, connection security, and global configuration. The library distinguishes itself through an extensible architecture that allows developers to hook into the request and response pipeline. By utilizing interceptors and custom network adapters, users can modify traffic, perform authentication, and swap underlying networking
Improves data transfer efficiency by enabling modern HTTP/2 protocol features.
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
Implements HTTP/2 multiplexed binary protocols for efficient data exchange between services.
h2o is a high-performance content delivery server and HTTP/3 web server. It functions as a network gateway and reverse proxy that forwards client requests to upstream servers to manage traffic flow and load. The project distinguishes itself as a protocol fuzzing tool, utilizing a testing framework to execute automated stress tests against network protocols to identify memory leaks and crashes. The server provides capabilities for secure web traffic management through encrypted data transmission and high-performance web serving across HTTP/1, HTTP/2, and HTTP/3. It includes tools for server r
Handles HTTP/1, HTTP/2, and HTTP/3 requests through a shared internal representation for protocol-agnostic processing.
Gunicorn is a production-grade WSGI HTTP server designed for deploying Python web applications. It functions as a process manager that utilizes a pre-fork worker model, where a master process initializes the application and spawns multiple child processes to handle incoming requests in parallel. This architecture ensures high performance and stability by isolating application execution within persistent worker processes. The server distinguishes itself through its flexible concurrency models and robust process lifecycle management. It supports interchangeable worker types, including synchrono
The server improves resource loading and connection efficiency by utilizing modern features like HTTP/2 multiplexing and HTTP 103 Early Hints for faster client interactions.
node-crawler is a programmable web crawler for Node.js that manages request queues and automates data extraction. It functions as a rate-limited HTTP client and a headless HTML parser, providing the infrastructure to visit large sets of URLs asynchronously while preventing duplicate processing through task deduplication. The project distinguishes itself through a proxy rotation manager that cycles user agents and proxy servers to bypass access restrictions. It utilizes the HTTP/2 protocol to improve request performance and server compatibility during large-scale scraping operations. The syst
Supports both HTTP/1.1 and HTTP/2 protocols to optimize connection performance and ensure server compatibility.
nghttp2 ist eine Suite von Low-Level-C-Bibliotheken und Tools für die Implementierung des HTTP/2-Protokolls. Sie bietet eine speichereffiziente Implementierung der Kernlogik des Protokolls, einschließlich Framing, Stream-Multiplexing und Flusskontrolle. Das Projekt enthält eine dedizierte Bibliothek für HPACK-Header-Kompression und -Dekompression zur Reduzierung der Netzwerkbandbreite. Zudem bietet es ein Toolset zur Analyse des Netzwerkverkehrs und zum Benchmarking der Serverleistung, einschließlich Messungen von Durchsatz und Latenz. Die breiteren Funktionen decken die Protokollimplementierung und das Traffic-Management ab, einschließlich ALPN-Verbindungsaushandlung, Anforderungspriorisierung und Validierung von Header-Komponenten. Die Bibliothek unterstützt benutzerdefinierte Protokollerweiterungen über ein Callback-basiertes Ereignissystem und enthält Dienstprogramme für Speicherverwaltung und Fehlercode-Übersetzung. Das Projekt umfasst Build-Unterstützung und Konfigurationsskripte für das Cross-Compiling von Binärdateien für die Android-Plattform.
Provides a low-level C implementation of the HTTP/2 protocol, including framing, multiplexing, and flow control.
Dieses Projekt ist ein PHP-User-Agent-Parser und Detektor für Mobilgeräte. Es analysiert HTTP-User-Agent-Strings, um den Webbrowser, das Betriebssystem und den Gerätetyp des Besuchers zu identifizieren. Die Bibliothek bietet eine dedizierte Integration für das Laravel-Web-Framework. Sie unterscheidet zwischen Mobiltelefonen, Tablets und Desktop-Computern und identifiziert Web-Robots sowie die spezifischen Namen von Suchmaschinen-Crawlern. Die Funktionen des Tools umfassen das Extrahieren bevorzugter Sprachen aus Anfrage-Headern und das Verifizieren spezifischer User-Agent-Eigenschaften. Es verwendet reguläre Ausdrucksmuster und statisches Daten-Mapping, um Clients zu klassifizieren und Inhalte zu lokalisieren.
Identifies if a request comes from a web robot and retrieves the specific name of the search engine crawler.
Dieses Projekt ist eine Sammlung von Konfigurationsdateien und Skripten, die als Bot-Blocker und Sicherheits-Middleware für Nginx dienen. Es fungiert als automatisierter Blocklisten-Manager, der bösartige User-Agents und IP-Adressen filtert, um Schwachstellen-Scans, Login-Brute-Forcing und DDoS-Angriffe abzuwehren. Das System zeichnet sich dadurch aus, dass es die Wartung von Sicherheitsregeln automatisiert, aktualisierte Bot-Definitionen herunterlädt und den Server nach einem Zeitplan neu lädt. Es enthält zudem einen Suchmaschinen-Spamfilter, der robots.txt-Dateien und Link-Disavow-Listen generieren kann, um zu verhindern, dass bösartige Domains die Website-Indizierung beeinträchtigen. Die Software deckt ein breites Spektrum an Traffic-Management- und Zugriffskontrollfunktionen ab, einschließlich Rate Limiting, Referrer-basiertem Filtern und dem Verwerfen von Verbindungen. Sie lässt sich mit Fail2Ban für das logbasierte IP-Banning integrieren und bietet IP-Whitelisting, um sicherzustellen, dass legitime Dienste erreichbar bleiben. Die Installation unterstützt benutzerdefinierte Pfade für Server mit nicht-standardmäßigen Verzeichnisstrukturen.
Blocks requests from bots masquerading as legitimate search crawlers to prevent ghost spam.
Dieses Projekt ist ein Sina Weibo-Web-Scraper und eine Social-Media-Datenpipeline, die darauf ausgelegt ist, Benutzerprofile, Beiträge, Kommentare und Multimedia-Assets zu extrahieren. Es fungiert als containerisierter Daten-Crawler, der die Sammlung und lokale Speicherung von Social-Media-Inhalten und Engagement-Metriken automatisiert. Das System umfasst eine Verarbeitungsschicht, die Large Language Models zur Analyse der gescrapten Texte verwendet, um Zusammenfassungen und Sentiment-Analysen zu generieren. Es unterscheidet sich durch ein einsatzbereites Container-Modell mit einer HTTP-Schnittstelle zur Verwaltung von Extraktionsaufgaben und zur Überwachung des Fortschritts. Der Crawler deckt ein breites Spektrum an Funktionen ab, darunter Social-Media-Monitoring mittels geplanter inkrementeller Updates, Archivierung von Multimedia-Assets auf lokalen Festplatten und Datenexport in verschiedenen Formaten in Flat-Files oder Datenbanken. Zudem erfasst er detaillierte soziale Interaktionen wie Kommentare erster Ebene und Reposts.
Provides a deployment-ready containerized crawler with an HTTP interface for task management.
This project provides the formal network protocol standards and technical specifications for HTTP/2. It defines the requirements for binary framing structures, the HPACK compression standard for header fields, and the general behaviors necessary to ensure consistent data exchange and interoperability between network clients and servers. The specification covers the mechanisms for binary frame multiplexing and the HPACK standard to reduce network bandwidth and latency. It details the rules for session establishment, including connection preface handshaking and protocol negotiation. The projec
Provides the complete technical specification for implementing the HTTP/2 protocol.