
The Best Go Libraries For Networking (104)
Discover the best Go libraries for Networking! Find the perfect tools to streamline your development and boost productivity. From mdns to heimdall, we've got you covered. Let the coding begin!
mdns
Simple mDNS (Multicast DNS) client/server library in Golang
heimdall
An enhanced http client with retry and hystrix capabilities
sftp
Package sftp implements the SSH File Transfer Protocol as described in <https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt>
arp
Package arp implements the ARP protocol, as described in RFC 826
req
Simple Go HTTP client with Black Magic (Less code and More efficiency)
request
HTTP client for golang. If you have experience about axios or requests, you will love it. No 3rd dependency
buffstreams
Streaming protocolbuffer data over TCP made easy
canopus
CoAP Client/Server implementation (RFC 7252)
dnsmonster
Passive DNS Capture/Monitoring Framework
easytcp
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
ether
Cross-platform Go package for sending and receiving ethernet frames
gldap
gldap provides an ldap server implementation and you provide handlers for its ldap operations
gmqtt
Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1
gnet
`gnet` is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go
gnet
`gnet` is a high-performance networking framework,especially for game servers
go-getter
Go library for downloading files or directories from various sources using a URL
go-multiproxy
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
go-powerdns
PowerDNS API bindings for Golang
gopacket
Go library for packet processing with libpcap bindings
gopcap
Go wrapper for libpcap
gosnmp
Native Go library for performing SNMP actions
grab
Go package for managing file downloads
jazigo
Jazigo is a tool written in Go for retrieving configuration for multiple network devices
kcp-go
KCP - Fast and Reliable ARQ Protocol
kcptun
Extremely simple & fast udp tunnel based on KCP protocol
lhttp
Powerful websocket framework, build your IM server more easily
water
Simple TUN/TAP library
winrm
Go WinRM client to remotely execute commands on Windows machines
xtcp
TCP Server Framework with simultaneous full duplex communication, graceful shutdown, and custom protocol
fast-shot
Hit your API targets with rapid-fire precision using Go's fastest and simple HTTP Client
dhcp6
Package dhcp6 implements a DHCPv6 server, as described in RFC 3315
natiu-mqtt
A dead-simple, non-allocating, low level implementation of MQTT well suited for embedded systems
nbio
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
NFF-Go
Framework for rapid development of performant network functions for cloud and bare-metal (former YANFF)
peerdiscovery
Pure Go library for cross-platform local peer discovery using UDP multicast
packet
Send packets over TCP and UDP. It can buffer messages and hot-swap connections if needed.
portproxy
Simple TCP proxy which adds CORS support to API's which don't support it
sdns
A high-performance, recursive DNS resolver server with DNSSEC support, focused on preserving privacy
raw
Package raw enables reading and writing data at the device driver level for a network interface.
ethernet
Package ethernet implements marshaling and unmarshalling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags
go-cleanhttp
Get easily stdlib HTTP client, which does not share any state with other clients
ftp
Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959)
fwdctl
A simple and intuitive CLI to manage IPTables forwards in your Linux server
gNxI
A collection of tools for Network Management that use the gNMI and gNOI protocols
go-sse
Go client and server implementation of HTML server-sent events
go-stun
Go implementation of the STUN client (RFC 3489 and RFC 5389)
goshark
Package goshark use tshark to decode IP packet and create data struct to analyse packet
HTTPLab
HTTPLabs let you inspect HTTP requests and forge responses
iplib
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)
bart
Package bart provides a Balanced-Routing-Table (BART) for very fast IP to CIDR lookups and more
cdns
Change DNS servers effortlessly via terminal
cidranger
Fast IP to CIDR lookup for Go
cloudflared
Cloudflare Tunnel client (formerly Argo Tunnel)
dns
Go library for working with DNS
event
Simple I/O event notification library written in Golang
fasthttp
Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http
fortio
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
ftpserverlib
Fully featured FTP server library
fullproxy
A fully featured scriptable and daemon configurable proxy and pivoting toolkit with SOCKS5, HTTP, raw ports and reverse proxy protocols
gev
gev is a lightweight, fast non-blocking TCP network library based on Reactor mode
go-pcaplite
Lightweight live packet capture library with HTTPS SNI extraction
gobgp
BGP implemented in the Go Programming Language
GoProxy
A library to create a customized HTTP/HTTPS proxy server using Go
gotcp
Go package for quickly writing tcp applications
graval
Experimental FTP server framework
gws
High-Performance WebSocket Server & Client With AsyncIO Supporting
httpproxy
HTTP proxy handler and dialer
netpoll
A high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance
nodepass
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
psql-wire
PostgreSQL server wire protocol. Build your own server and start serving connections.
publicip
Package publicip returns your public facing IPv4 address (internet egress)
quic-go
An implementation of the QUIC protocol in pure Go
stun
Go implementation of RFC 5389 STUN protocol
tun2socks
A pure go implementation of tun2socks powered by [gVisor](https://gvisor.dev/) TCP/IP stack
vssh
Go library for building network and server automation over SSH protocol
webrtc
A pure Go implementation of the WebRTC API
axios4go
A Go HTTP client library inspired by Axios, providing a simple and intuitive API for making HTTP requests
azuretls-client
An easy-to-use HTTP client 100% in Go to spoof TLS/JA3 and HTTP2 fingerprint
gentleman
Full-featured plugin-driven HTTP client library
go-http-client
Make http calls simply and easily
go-ipmux
A library for Multiplexing HTTP requests based on multiple Source IPs
go-otelroundtripper
Go http.RoundTripper that emits open telemetry metrics for HTTP requests
go-req
Declarative golang HTTP client
go-zoox/fetch
A Powerful, Lightweight, Easy Http Client, inspired by Web Fetch API
Grequest
Simple and lightweight golang package for http requests. based on powerful net/http
httpretry
Enriches the default go HTTP client with retry functionality
pester
Go HTTP client calls with retries, backoff, and concurrency
resty
Simple HTTP and REST client for Go inspired by Ruby rest-client
rq
A nicer interface for golang stdlib HTTP client
sling
Sling is a Go HTTP client library for creating and sending API requests
tls-client
net/http.Client like HTTP Client with options to select specific client TLS Fingerprints to use for requests
linkio
Network link speed simulation for Reader/Writer interfaces
llb
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
gaio
High performance async-io networking for Golang in proactor mode
fibersse
Production-grade Server-Sent Events (SSE) for Fiber v3 with event coalescing, priority lanes, topic wildcards, adaptive throttling, and built-in auth
sslb
It's a Super Simples Load Balancer, just a little project to achieve some kind of performance
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
surf
Advanced HTTP client with HTTP/1.1, HTTP/2, HTTP/3 (QUIC), SOCKS5 proxy support and browser-grade TLS fingerprinting
ssh
Higher-level API for building SSH servers (wraps crypto/ssh)
tcpack
tcpack is an application protocol based on TCP to Pack and Unpack bytes stream in go program
tspool
A TCP Library use worker pool to improve performance and protect your server
utp
Go uTP micro transport protocol implementation
go-retryablehttp
Retryable HTTP client in Go
grequests
A Go "clone" of the great and famous Requests library