Networking

Libraries for working with various layers of the network.

fasthttp22.1K

Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http.

webrtc14.1K

A pure Go implementation of the WebRTC API.

kcptun14K

Extremely simple & fast udp tunnel based on KCP protocol.

quic-go10.3K

An implementation of the QUIC protocol in pure Go.

gnet9.9K

gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go.

cloudflared9.6K

Cloudflare Tunnel client (formerly Argo Tunnel).

dns8.1K

Go library for working with DNS.

gopacket6.4K

Go library for packet processing with libpcap bindings.

kcp-go4.1K

KCP - Fast and Reliable ARQ Protocol.

netpoll4.1K

A high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance.

HTTPLab4.1K

HTTPLabs let you inspect HTTP requests and forge responses.

ssh3.8K

Higher-level API for building SSH servers (wraps crypto/ssh).

gobgp3.7K

BGP implemented in the Go Programming Language.

tun2socks3.6K

A pure go implementation of tun2socks powered by gVisor TCP/IP stack.

fortio3.4K

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.

nbio2.3K

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.

water2K

Simple TUN/TAP library.

gev1.7K

gev is a lightweight, fast non-blocking TCP network library based on Reactor mode.

go-getter1.7K

Go library for downloading files or directories from various sources using a URL.

sftp1.5K

Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt.

gws1.5K

High-Performance WebSocket Server & Client With AsyncIO Supporting .

grab1.4K

Go package for managing file downloads.

NFF-Go1.4K

Framework for rapid development of performant network functions for cloud and bare-metal (former YANFF).

ftp1.3K

Package ftp implements a FTP client as described in RFC 959.

mdns1.2K

Simple mDNS (Multicast DNS) client/server library in Golang.

gosnmp1.2K

Native Go library for performing SNMP actions.

gmqtt987

Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1.

sdns970

A high-performance, recursive DNS resolver server with DNSSEC support, focused on preserving privacy.

vssh965

Go library for building network and server automation over SSH protocol.

cidranger912

Fast IP to CIDR lookup for Go.

gaio834

High performance async-io networking for Golang in proactor mode.

easytcp818

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.

lhttp690

Powerful websocket framework, build your IM server more easily.

go-stun687

Go implementation of the STUN client (RFC 3489 and RFC 5389).

peerdiscovery651

Pure Go library for cross-platform local peer discovery using UDP multicast.

gotcp512

Go package for quickly writing tcp applications.

stun495

Go implementation of RFC 5389 STUN protocol.

gopcap490

Go wrapper for libpcap.

ftpserverlib439

Fully featured FTP server library.

tcp_server425

Go library for building tcp servers faster.

raw424

Package raw enables reading and writing data at the device driver level for a network interface.

winrm424

Go WinRM client to remotely execute commands on Windows machines.

arp367

Package arp implements the ARP protocol, as described in RFC 826.

dnsmonster316

Passive DNS Capture/Monitoring Framework.

ethernet280

Package ethernet implements marshaling and unmarshalling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags.

gNxI262

A collection of tools for Network Management that use the gNMI and gNOI protocols.

buffstreams254

Streaming protocolbuffer data over TCP made easy.

jazigo217

Jazigo is a tool written in Go for retrieving configuration for multiple network devices.

utp177

Go uTP micro transport protocol implementation.

tcpack171

tcpack is an application protocol based on TCP to Pack and Unpack bytes stream in go program.

canopus156

CoAP Client/Server implementation (RFC 7252).

xtcp155

TCP Server Framework with simultaneous full duplex communication, graceful shutdown, and custom protocol.

event153

Simple I/O event notification library written in Golang.

sslb149

It's a Super Simples Load Balancer, just a little project to achieve some kind of performance.

iplib144

Library for working with IP addresses (net.IP, net.IPNet), inspired by python ipaddress and ruby ipaddr

psql-wire114

PostgreSQL server wire protocol. Build your own server and start serving connections..

gldap112

gldap provides an ldap server implementation and you provide handlers for its ldap operations.

go-powerdns91

PowerDNS API bindings for Golang.

natiu-mqtt90

A dead-simple, non-allocating, low level implementation of MQTT well suited for embedded systems.

fullproxy81

A fully featured scriptable and daemon configurable proxy and pivoting toolkit with SOCKS5, HTTP, raw ports and reverse proxy protocols.

ether80

Cross-platform Go package for sending and receiving ethernet frames.

packet80

Send packets over TCP and UDP. It can buffer messages and hot-swap connections if needed.

dhcp677

Package dhcp6 implements a DHCPv6 server, as described in RFC 3315.

fwdctl60

A simple and intuitive CLI to manage IPTables forwards in your Linux server.

portproxy57

Simple TCP proxy which adds CORS support to API's which don't support it.

linkio53

Network link speed simulation for Reader/Writer interfaces.

bart39

Package bart provides a fast routing table algorithm.

graval28

Experimental FTP server framework.

httpproxy28

HTTP proxy handler and dialer.

publicip28

Package publicip returns your public facing IPv4 address (internet egress).

gnet20

gnet is a high-performance networking framework,especially for game servers.

goshark19

Package goshark use tshark to decode IP packet and create data struct to analyse packet.

llb16

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.

tspool14

A TCP Library use worker pool to improve performance and protect your server.

go-sse12

Go client and server implementation of HTML server-sent events.

go-multiproxy8

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