Networking Go Libraries Ranking
Libraries for making HTTP requests.
107 repositories, updated daily.
- Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http.
- Cloudflare Tunnel client (formerly Argo Tunnel).
- Simple HTTP and REST client for Go inspired by Ruby rest-client.
- An implementation of the QUIC protocol in pure Go.
- `gnet` is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go.
- Go library for packet processing with libpcap bindings.
- A library to create a customized HTTP/HTTPS proxy server using Go.
- A pure go implementation of tun2socks powered by [gVisor](https://gvisor.dev/) TCP/IP stack.
- A high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance.
- Higher-level API for building SSH servers (wraps crypto/ssh).
- HTTPLabs let you inspect HTTP requests and forge responses.
- Load testing library and command line tool, advanced echo server and web UI. Allows to specify a set query-per-second load and record latency histograms and other useful stats and graph them. Tcp, Http, gRPC.
- An enhanced http client with retry and hystrix capabilities.
- Pure Go 1000k+ connections solution, support tls/http1.x/websocket and basically compatible with net/http, with high-performance and low memory cost, non-blocking, event-driven, easy-to-use.
- A Go "clone" of the great and famous Requests library.
- Go library for downloading files or directories from various sources using a URL.
enetx/surf
- Advanced HTTP client with HTTP/1.1, HTTP/2, HTTP/3 (QUIC), SOCKS5 proxy support and browser-grade TLS fingerprinting.
- gev is a lightweight, fast non-blocking TCP network library based on Reactor mode.
- net/http.Client like HTTP Client with options to select specific client TLS Fingerprints to use for requests.
- Sling is a Go HTTP client library for creating and sending API requests.
- HTTP requests for Gophers. Uses context.Context and doesn't hide the underlying net/http.Client, making it compatible with standard Go APIs. Also includes testing tools.
- Framework for rapid development of performant network functions for cloud and bare-metal (former YANFF).
jlaffaye/ftp
- Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959).
- Simple mDNS (Multicast DNS) client/server library in Golang.
- A high-performance, recursive DNS resolver server with DNSSEC support, focused on preserving privacy.
- Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1.
yahoo/vssh
- Go library for building network and server automation over SSH protocol.
xtaci/gaio
- High performance async-io networking for Golang in proactor mode.
- A light-weight TCP framework written in Go (Golang), built with message router. EasyTCP helps you build a TCP server easily fast and less painful.
- Go implementation of the STUN client (RFC 3489 and RFC 5389).
fanux/lhttp
- Powerful websocket framework, build your IM server more easily.
- Pure Go library for cross-platform local peer discovery using UDP multicast.
- Go HTTP client calls with retries, backoff, and concurrency.
- Go WinRM client to remotely execute commands on Windows machines.
- An easy-to-use HTTP client 100% in Go to spoof TLS/JA3 and HTTP2 fingerprint.
- Get easily stdlib HTTP client, which does not share any state with other clients.
mdlayher/arp
- Package arp implements the ARP protocol, as described in RFC 826.
- HTTP client for golang. If you have experience about axios or requests, you will love it. No 3rd dependency.
- Package ethernet implements marshaling and unmarshalling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags.
google/gnxi
- A collection of tools for Network Management that use the gNMI and gNOI protocols.
bhope/hedge
- Adaptive hedged requests for Go. Cuts p99 latency with zero configuration, based on Google's "The Tail at Scale" paper.
- A secure, efficient TCP/UDP tunneling solution that delivers fast, reliable access across network restrictions using pre-established TCP/QUIC/WebSocket or HTTP/2 connections.
- Streaming protocolbuffer data over TCP made easy.
- PostgreSQL server wire protocol. Build your own server and start serving connections..
udhos/jazigo
- Jazigo is a tool written in Go for retrieving configuration for multiple network devices.
- tcpack is an application protocol based on TCP to Pack and Unpack bytes stream in go program.
xfxdev/xtcp
- TCP Server Framework with simultaneous full duplex communication, graceful shutdown, and custom protocol.
- Package bart provides a Balanced-Routing-Table (BART) for very fast IP to CIDR lookups and more.
- It's a Super Simples Load Balancer, just a little project to achieve some kind of performance.
- Library for working with IP addresses (net.IP, net.IPNet), inspired by python [ipaddress](https://docs.python.org/3/library/ipaddress.html) and ruby [ipaddr](https://ruby-doc.org/stdlib-2.5.1/libdoc/ipaddr/rdoc/IPAddr.html)
- Hit your API targets with rapid-fire precision using Go's fastest and simple HTTP Client.
- gldap provides an ldap server implementation and you provide handlers for its ldap operations.
- Simple I/O event notification library written in Golang.
- A dead-simple, non-allocating, low level implementation of MQTT well suited for embedded systems.
- A Powerful, Lightweight, Easy Http Client, inspired by Web Fetch API.
- Go http.RoundTripper that emits open telemetry metrics for HTTP requests.
- Cross-platform Go package for sending and receiving ethernet frames.
- A fully featured scriptable and daemon configurable proxy and pivoting toolkit with SOCKS5, HTTP, raw ports and reverse proxy protocols.
- Package dhcp6 implements a DHCPv6 server, as described in RFC 3315.
- A simple and intuitive CLI to manage IPTables forwards in your Linux server.
- Simple TCP proxy which adds CORS support to API's which don't support it.
- Enriches the default go HTTP client with retry functionality.
- Network link speed simulation for Reader/Writer interfaces.
- A Go HTTP client library inspired by Axios, providing a simple and intuitive API for making HTTP requests.
- Library for making HTTP requests through a pool of proxies offering fault tolerance, load balancing, automatic retries, cookie management, and more, via http.Get/Post replacement or http.Client RoundTripper drop-in
- Package publicip returns your public facing IPv4 address (internet egress).
- A library for Multiplexing HTTP requests based on multiple Source IPs.
- `gnet` is a high-performance networking framework,especially for game servers.
- Package goshark use tshark to decode IP packet and create data struct to analyse packet.
- It's a very simple but quick backend for proxy servers. Can be useful for fast redirection to predefined domain with zero memory allocation and fast response.
- Go client and server implementation of HTML server-sent events.
two/tspool
- A TCP Library use worker pool to improve performance and protect your server.
- Lightweight live packet capture library with HTTPS SNI extraction.
- Simple and lightweight golang package for http requests. based on powerful net/http
Flowtriq/nethawk
- Terminal UI for real-time network traffic capture, analysis, and attack detection with JSON output mode.
- CLI that scores nearby saved WiFi networks and tells you which to use, and why.
- Wi-Fi scanning and Keychain password retrieval for macOS 13+.
- Drop-in net/http.Client with a byte-exact browser TLS (JA3/JA4) and HTTP/2 (Akamai) fingerprint.
- Production-grade Server-Sent Events (SSE) for Fiber v3 with event coalescing, priority lanes, topic wildcards, adaptive throttling, and built-in auth.
- Asynchronous reverse proxy that queues each request in Redis and returns a job ID to poll for the response, with path-prefix routing, retries, and caching.