58 Repos
Protocols, packet handling, and network management tools.
Explore 58 awesome GitHub repositories matching part of an awesome list · Networking Libraries. Refine with filters or upvote what's useful.
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.
gnet ist ein leistungsstarkes, eventgesteuertes Networking-Framework für Go, das für die Entwicklung skalierbarer TCP-, UDP- und Unix-Socket-Server konzipiert wurde. Es fungiert als nicht-blockierender Socket-Manager und Multi-Reactor-Netzwerk-Engine, die tausende gleichzeitige Verbindungen bei geringem Speicherverbrauch bewältigt. Das Framework zeichnet sich durch eine Multi-Reactor-Architektur aus, die I/O-Operationen auf mehrere Event-Loops verteilt, welche an Betriebssystem-Threads gebunden sind, um Context-Switching zu minimieren. Es nutzt Edge-Triggered-Polling, um die Häufigkeit von Systemaufrufen zu reduzieren, und verwendet elastische Ring-Buffer, um Allokationskosten und den Garbage-Collection-Druck zu minimieren. Die Bibliothek deckt ein breites Spektrum an Networking-Funktionen ab, darunter lastverteilte Verbindungssteuerung über CPU-Kerne hinweg, asynchrone Aufgabenausführung mittels Worker-Pools und ein strukturiertes System für das Connection-Lifecycle-Management. Zudem bietet sie Primitive für die Implementierung benutzerdefinierter Binärprotokolle und die Verwaltung von Low-Level-Socket-Optionen.
High-performance, event-driven networking framework.
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
Library for handling DNS protocols.
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
Library for packet processing.
kcp-go ist eine Go-Bibliothek, die das KCP-Protokoll für eine zuverlässige Datenübertragung über UDP implementiert. Sie bietet eine Stream-basierte Transportschicht und ein automatisches Wiederholungsanforderungs-Netzwerkprotokoll, um eine geordnete Zustellung bei gleichzeitiger Reduzierung der Netzwerk-Tail-Latenz sicherzustellen. Das Projekt zeichnet sich durch den Einsatz von Forward Error Correction mittels Reed-Solomon-Codes aus, um verlorene Pakete ohne Neuübertragungen zu rekonstruieren. Es implementiert zudem sicheres UDP-Tunneling durch die Verwendung von Blockchiffren zur Verschlüsselung von Paket-Headern und Payloads. Die Bibliothek enthält Funktionen für High-Throughput-Networking durch Batch-System-Call-Verarbeitung und Speicher-Recycling. Sie optimiert die Leistung weiter durch Congestion-Tuning zur Priorisierung der sofortigen Datenwiederherstellung und ein zweistufiges Task-Scheduling-System für die parallele CPU-Verteilung. Die Implementierung enthält Observability-Tools zur Verfolgung von Netzwerkmetriken und zum Tracing von Protokollereignissen.
Fast and reliable ARQ protocol implementation.
This project is a Go library and framework for implementing the SSH protocol. It provides a toolkit for building custom SSH servers, managing encrypted connections, and handling remote command execution. The implementation focuses on flexible session management through callback-based handling and a pluggable authentication system that supports passwords, public keys, and certificates. It includes mechanisms for secure network tunneling, including local and reverse port forwarding for TCP and Unix domain socket traffic. The library covers a broad range of protocol capabilities, including cryp
High-level API for creating SSH servers.
httplab ist ein interaktiver HTTP-Mock-Server, ein Request-Inspektionstool und ein Antwort-Simulator. Es fungiert als Webserver, der darauf ausgelegt ist, eingehende HTTP-Requests und Header in Echtzeit zu Debugging-Zwecken zu erfassen und zu analysieren. Das Tool ermöglicht die Erstellung und Bereitstellung benutzerdefinierter HTTP-Antworten, um verschiedene Serververhalten zu simulieren. Benutzer können spezifische Header und Bodies fälschen, um zu testen, wie Client-Anwendungen mit verschiedenen Statuscodes und Payloads umgehen, wobei diese Konfigurationen als Antwortvorlagen für eine konsistente Wiederverwendung über Sitzungen hinweg gespeichert werden können. Das Projekt deckt ein breites Spektrum an API-Integrationstests und Webserver-Debugging ab. Zu den Funktionen gehören die Echtzeit-Request-Inspektion und das Abfangen von Datenverkehr zur Diagnose von Kommunikationsproblemen zwischen Client und Server.
Inspect HTTP requests and forge responses.
GoBGP ist eine Border-Gateway-Protocol-Routing-Suite und ein Netzwerk-Stack, der in Go implementiert ist. Er dient als Routing-Engine für den Austausch von Informationen zur Netzwerkerreichbarkeit und die Verwaltung von Verkehrspfaden über autonome Systeme hinweg. Das Projekt fungiert als Routing-Controller mit einer Steuerungsebene, die über Remote-Procedure-Call-Schnittstellen verwaltet wird. Es enthält einen spezialisierten Route-Reflector, um den Peering-Overhead durch den Austausch von Routing-Daten zwischen internen Netzwerk-Peers zu reduzieren. Das System integriert eine steckbare Policy-Engine zum Filtern und Modifizieren von Routing-Informationen sowie eine Routing-Information-Base, um empfangene Routen von der Pfadauswahl zu trennen. Es synchronisiert berechnete BGP-Pfade mit dem Kernel des Host-Betriebssystems oder Hardware-Routing-Tabellen, um die physische Paketweiterleitung abzugleichen.
BGP protocol implementation.
Fortio is a performance testing tool written in Go that generates constant request rates to measure latency histograms and response percentiles. It functions as a network performance benchmarker for analyzing system performance across HTTP and gRPC endpoints, and includes a specialized HTTP echo server for mirroring requests. The project distinguishes itself through a web-based HTTP load testing API used for triggering asynchronous tests and visualizing result data through graphs. It also provides server behavior simulation, allowing the echo server to inject artificial delays and vary respon
Load testing library and echo server with UI.
A simple TUN/TAP library written in native Go.
Simple TUN/TAP library.
Package for downloading things from a string URL using a variety of protocols.
Download files or directories from various sources via URL.
🚀Gev is a lightweight, fast non-blocking TCP network library / websocket server based on Reactor mode. Support custom protocols to quickly and easily build high-performance servers.
Non-blocking TCP network library based on Reactor pattern.
SFTP support for the go.crypto/ssh package
SSH file transfer protocol implementation.
A download manager package for Go
Manage file downloads.
FTP client package for Go
FTP client implementation.
Simple mDNS client/server library in Golang
mDNS client and server library.
Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.x and V5 in golang
Flexible and high-performance MQTT broker library.
Go Library to Execute Commands Over SSH at Scale
Library for network and server automation via SSH.
Fast IP to CIDR lookup in Golang
Fast IP and CIDR lookup library.
High-performance, minimalist async-io (proactor) networking for Golang.
High-performance asynchronous I/O network library.