58 repository-uri
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 este un framework de rețelistică de înaltă performanță, bazat pe evenimente, pentru Go, conceput pentru a construi servere scalabile TCP, UDP și Unix socket. Acesta funcționează ca un manager de socket-uri non-blocante și un motor de rețea multi-reactor care gestionează mii de conexiuni simultane cu un consum redus de memorie. Framework-ul se distinge prin utilizarea unei arhitecturi multi-reactor care distribuie I/O-ul pe mai multe bucle de evenimente (event loops) fixate pe thread-uri ale sistemului de operare, pentru a minimiza context switching-ul. Utilizează polling de tip edge-triggered pentru a reduce frecvența apelurilor de sistem și ring-buffere elastice pentru a minimiza costurile de alocare și presiunea asupra garbage collector-ului. Biblioteca acoperă o gamă largă de capabilități de rețelistică, inclusiv distribuția echilibrată a conexiunilor pe nucleele CPU, execuția asincronă a sarcinilor prin worker pools și un sistem structurat pentru gestionarea ciclului de viață al conexiunilor. De asemenea, oferă primitive pentru implementarea protocoalelor binare personalizate și gestionarea opțiunilor de socket de nivel jos.
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 este o bibliotecă Go care implementează protocolul KCP pentru transmisia fiabilă a datelor prin UDP. Acesta oferă un strat de transport bazat pe flux și un protocol de rețea cu cerere de repetare automată pentru a asigura livrarea ordonată, reducând în același timp latența rețelei. Proiectul se diferențiază prin utilizarea corecției erorilor înainte (forward error correction) prin coduri Reed-Solomon pentru a reconstrui pachetele pierdute fără retransmisii. De asemenea, implementează tunelarea UDP securizată prin utilizarea cifrurilor pe bloc pentru a cripta atât header-ele pachetelor, cât și payload-urile. Biblioteca include capabilități pentru rețele cu throughput ridicat prin procesarea batch a apelurilor de sistem și reciclarea memoriei. Optimizează în continuare performanța cu reglarea congestiei pentru a prioritiza recuperarea imediată a datelor și un sistem de programare a sarcinilor în două etape pentru distribuția paralelă a CPU-ului. Implementarea include instrumente de observabilitate pentru urmărirea metricilor de rețea și trasarea evenimentelor de protocol.
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 este un server HTTP mock interactiv, instrument de inspecție a cererilor și simulator de răspunsuri. Funcționează ca un server web conceput pentru a captura și analiza cererile și headerele HTTP primite în timp real în scopuri de depanare. Instrumentul permite construirea și livrarea de răspunsuri HTTP personalizate pentru a simula diverse comportamente ale serverului. Utilizatorii pot falsifica headere și corpuri specifice pentru a testa modul în care aplicațiile client gestionează diferite coduri de stare și payload-uri, cu posibilitatea de a salva aceste configurații ca șabloane de răspuns pentru reutilizare consistentă între sesiuni. Proiectul acoperă o suprafață largă de testare a integrării API și depanare a serverelor web. Capabilitățile sale includ inspecția cererilor în timp real și interceptarea traficului pentru a diagnostica problemele de comunicare dintre un client și un server.
Inspect HTTP requests and forge responses.
GoBGP is a Border Gateway Protocol routing suite and network stack implemented in Go. It serves as a routing engine for exchanging network reachability information and managing traffic paths across autonomous systems. The project functions as a routing controller with a control plane managed via remote procedure call interfaces. It includes a specialized route reflector to reduce peering overhead by sharing routing data between internal network peers. The system incorporates a pluggable policy engine for filtering and modifying routing information and a routing information base to separate r
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.