Go Networking

Open-source Go projects categorized as Networking | Edit details

Top 23 Go Networking Projects

  • GitHub repo fasthttp

    Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http

    Project mention: Apparently, all those tiny NPM packages are also debian packages... | reddit.com/r/linux | 2021-11-17

    A quick search and you'll find multiple HTTP libraries that are alternatives to the built-in http libraries in Go's standard library. The most popular of which claims to be 10x faster than the built-in HTTP library, at the cost of having a different API, with 16k stars.

  • GitHub repo kcptun

    A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64。KCPプロトコルに基づく安全なトンネル。KCP 프로토콜을 기반으로 하는 보안 터널입니다。

    Project mention: Looking for lowest-latency WebSocket server/library | reddit.com/r/golang | 2021-05-08
  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo cilium

    eBPF-based Networking, Security, and Observability

    Project mention: Container security best practices: Ultimate guide | news.ycombinator.com | 2021-10-13
  • GitHub repo quic-go

    A QUIC implementation in pure go

    Project mention: TCP or websockets for chat server | reddit.com/r/golang | 2021-11-25
  • GitHub repo dns

    DNS library in Go

    Project mention: DNS Library in Go | news.ycombinator.com | 2021-04-30
  • GitHub repo httpstat

    It's like curl -v, with colours.

    Project mention: Timing With Curl | reddit.com/r/programming | 2021-10-31

    Similar tool : https://github.com/davecheney/httpstat

  • GitHub repo gnet

    🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet 是一个高性能、轻量级、非阻塞的事件驱动 Go 网络框架。

    Project mention: Goroutines Are Not Significantly Lighter Than Threads | news.ycombinator.com | 2021-03-12

    Go does not forces you to do any of that: https://github.com/panjf2000/gnet

  • Scout APM

    Scout APM: A developer's best friend. Try free for 14-days. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.

  • GitHub repo evio

    Fast event-loop networking for Go

    Project mention: Where is Ruby Headed in 2021? | reddit.com/r/ruby | 2021-11-22

    Well, this is actually part of the problem. Go does not have an event loop by default, it uses blocking system calls. It turns out that sometimes what Go really wants is an event loop, e.g. https://github.com/tidwall/evio - which is what Async provides for Ruby (using the Fiber scheduler interface).

  • GitHub repo gopacket

    Provides packet processing capabilities for Go

    Project mention: networking - getting route and interface for a destination | reddit.com/r/golang | 2021-09-06

    https://pkg.go.dev/github.com/google/gopacket/routing - Linux only and not working correctly and not actively maintained

  • GitHub repo serving

    Kubernetes-based, scale-to-zero, request-driven compute (by knative)

    Project mention: Kubernetes-based, scale-to-zero, request-driven compute | reddit.com/r/golang | 2021-11-28
  • GitHub repo cni

    Container Network Interface - networking for Linux containers

    Project mention: k8s-the-hard-way | dev.to | 2021-10-26

    In this lab you will bootstrap three Kubernetes worker nodes. The following components will be installed on each node: runc, container networking plugins, containerd, kubelet, and kube-proxy.

  • GitHub repo HTTPLab

    The interactive web server

  • GitHub repo kcp-go

    A Crypto-Secure, Production-Grade Reliable-UDP Library for golang with FEC

    Project mention: Do you use TCP and UDP together in your multiplayer games? | reddit.com/r/gamedev | 2021-10-15

    I guess I should look into something like this before I get much further. It sounds exactly like what you were recommending. I do enjoy reinventing the wheel sometimes, but it is usually not successful lol.

  • GitHub repo emitter-io

    High performance, distributed and low latency publish-subscribe platform.

  • GitHub repo kubefwd

    Bulk port forwarding Kubernetes services for local development.

    Project mention: Using Telepresence 2 for Kubernetes debugging and local development | dev.to | 2021-04-15

    Kubefwd works similar to Telepresence by making your local environment think it is inside the cluster. The networking tunnel is one direction only. Telepresence is much smarter as it also makes the other cluster applications think that your local app is inside the same cluster. So with Kubefwd you only get 50% of what basic Telepresence offers. Telepresence also has volume mounting support for more advanced scenarios.

  • GitHub repo kuma

    🐻 The Universal Service Mesh. CNCF Sandbox Project.

    Project mention: Powering Kubernetes in the Cloud with Kuma Service Mesh | dev.to | 2021-08-16

    Another important change to make is that when you create the cluster, change the Nodes in the "Default pool" to use the COS (not COS_CONTAINERD) image type. There are some underlying issues when using Kuma with GKE, as noted in this GitHub issue, and this is the currently recommended workaround. Otherwise, you will hit pod initializing issues that affect certificate provisioning.

  • GitHub repo gobgp

    BGP implemented in the Go Programming Language

    Project mention: lab env getting the full route table. | reddit.com/r/networking | 2021-07-17

    Inject it into GoBGP: https://github.com/osrg/gobgp/blob/master/docs/sources/mrt.md

  • GitHub repo router7

    a small home internet router completely written in Go

    Project mention: random question from a beginner, has anyone written an OS in Go? | reddit.com/r/golang | 2021-10-18

    maybe https://github.com/rtr7/router7

  • GitHub repo ssh

    Easy SSH servers in Golang

  • GitHub repo fortio

    Fortio load testing library, command line tool, advanced echo server and web UI in go (golang). Allows to specify a set query-per-second load and record latency histograms and other useful stats.

  • GitHub repo heimdall

    An enhanced HTTP client for Go (by gojek)

    Project mention: Any http client framework? | reddit.com/r/golang | 2021-08-31
  • GitHub repo nano

    Lightweight, facility, high performance golang based game server framework

    Project mention: New ‘Action Roguelike’ C++ Project on GitHub | news.ycombinator.com | 2021-01-16

    Couldn't you use just a vanilla Golang (or any other language) microservice for all of this? If you know what you are doing you can have a bulletproof basic service with all of the above up and running in no time, just add your game logic. Most of your requirements are part and parcel of any modern commercial Docker microservice. Never mind that such frameworks already exist, e.g. nano [0] specifically designed for games.

    Scalability is also not an issue. Number of simultaneous players and objects is limited by bandwidth and latency only. There are certainly no barriers to handling multi-million entity databases on any modern server. You're really only limited by how much data you can push out to your users within an update tick. And of course by how much money you're willing to pay for back end compute capacity on an ongoing basis. But those costs are very low these days, especially if you have dedicated servers rather then AWS/Google/Azure.

    I think perhaps the issue is not so much that frameworks don't exist, but rather that no single framework has achieved popularity in the game design community. The indie crowd is not likely to want to, or afford to, run servers for years and years, so the demand is not there. The triple-A studios roll their own.

    [0] https://github.com/lonng/nano

  • GitHub repo mqttPaho

    Project mention: Are websockets right for this? | reddit.com/r/golang | 2021-04-27

    I suggest PubSub with queue persistence, so https://github.com/eclipse/paho.mqtt.golang with https://mosquitto.org/ as broker. Mosquitto also supports websockets interface and can be run over TLS.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-11-28.

Go Networking related posts


What are some of the best open-source Networking projects in Go? This list will help you:

Project Stars
1 fasthttp 16,448
2 kcptun 12,672
3 cilium 9,647
4 quic-go 6,007
5 dns 5,876
6 httpstat 5,840
7 gnet 5,531
8 evio 5,141
9 gopacket 4,512
10 serving 4,195
11 cni 3,860
12 HTTPLab 3,726
13 kcp-go 3,144
14 emitter-io 3,105
15 kubefwd 2,688
16 kuma 2,495
17 gobgp 2,346
18 router7 2,319
19 ssh 2,207
20 fortio 2,162
21 heimdall 2,112
22 nano 1,872
23 mqttPaho 1,793
Find remote jobs at our new job board 99remotejobs.com. There are 34 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives