58 repositorios
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 es un framework de redes de alto rendimiento basado en eventos para Go, diseñado para construir servidores escalables de TCP, UDP y sockets Unix. Funciona como un gestor de sockets no bloqueantes y un motor de red multi-reactor que maneja miles de conexiones simultáneas con un bajo consumo de memoria. El framework se distingue por utilizar una arquitectura multi-reactor que distribuye la E/S a través de múltiples bucles de eventos vinculados a hilos del sistema operativo para minimizar el cambio de contexto. Emplea polling activado por flancos (edge-triggered) para reducir la frecuencia de llamadas al sistema y utiliza buffers circulares elásticos para minimizar los costes de asignación y la presión sobre el recolector de basura. La biblioteca cubre una amplia gama de capacidades de red, incluyendo la distribución de conexiones con balanceo de carga entre núcleos de CPU, la ejecución asíncrona de tareas mediante pools de trabajadores y un sistema estructurado para la gestión del ciclo de vida de las conexiones. También proporciona primitivas para implementar protocolos binarios personalizados y gestionar opciones de sockets de bajo nivel.
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 es una biblioteca de Go que implementa el protocolo KCP para la transmisión confiable de datos sobre UDP. Proporciona una capa de transporte basada en flujos y un protocolo de red de solicitud de repetición automática para asegurar la entrega ordenada mientras se reduce la latencia de cola de la red. El proyecto se diferencia por el uso de corrección de errores hacia adelante (forward error correction) mediante códigos Reed-Solomon para reconstruir paquetes perdidos sin retransmisiones. También implementa túneles UDP seguros utilizando cifradores de bloque para cifrar tanto los encabezados de los paquetes como las cargas útiles. La biblioteca incluye capacidades para redes de alto rendimiento mediante el procesamiento de llamadas al sistema por lotes y el reciclaje de memoria. Además, optimiza el rendimiento con ajuste de congestión para priorizar la recuperación inmediata de datos y un sistema de programación de tareas de dos etapas para la distribución paralela de CPU. La implementación incluye herramientas de observabilidad para rastrear métricas de red y rastrear eventos de protocolo.
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 es un servidor mock HTTP interactivo, herramienta de inspección de solicitudes y simulador de respuestas. Funciona como un servidor web diseñado para capturar y analizar solicitudes y encabezados HTTP entrantes en tiempo real con fines de depuración. La herramienta permite la construcción y entrega de respuestas HTTP personalizadas para simular varios comportamientos del servidor. Los usuarios pueden forjar encabezados y cuerpos específicos para probar cómo las aplicaciones cliente manejan diferentes códigos de estado y payloads, con la capacidad de guardar estas configuraciones como plantillas de respuesta para una reutilización consistente entre sesiones. El proyecto cubre una amplia superficie de pruebas de integración de API y depuración de servidores web. Sus capacidades incluyen la inspección de solicitudes en tiempo real y la interceptación de tráfico para diagnosticar problemas de comunicación entre un cliente y un servidor.
Inspect HTTP requests and forge responses.
GoBGP es una suite de enrutamiento del Border Gateway Protocol (BGP) y stack de red implementado en Go. Sirve como un motor de enrutamiento para intercambiar información de alcanzabilidad de red y gestionar rutas de tráfico a través de sistemas autónomos. El proyecto funciona como un controlador de enrutamiento con un plano de control gestionado a través de interfaces de llamada a procedimiento remoto (RPC). Incluye un reflector de rutas especializado para reducir la sobrecarga de peering compartiendo datos de enrutamiento entre pares de red internos. El sistema incorpora un motor de políticas conectable para filtrar y modificar información de enrutamiento y una base de información de enrutamiento para separar las rutas recibidas de la selección de rutas. Sincroniza las rutas BGP calculadas con el kernel del sistema operativo host o las tablas de enrutamiento de hardware para alinear el reenvío físico de paquetes.
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.