The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 23 Go Networking Projects
-
fasthttp
Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http
Someone made a benchmark of serialization libraries in go [1], and I was surprised to see gobs is one of the slowest ones, specially for decoding. I suspect part of the reason is that the API doesn't not allow reusing decoders [2]. From my explorations it seems like both JSON [3], message-pack [4] and CBOR [5] are better alternatives.
By the way, in Go there are a like a million JSON encoders because a lot of things in the std library are not really coded for maximum performance but more for easy of usage, it seems. Perhaps this is the right balance for certain things (ex: the http library, see [6]).
There are also a bunch of libraries that allow you to modify a JSON file "in place", without having to fully deserialize into structs (ex: GJSON/SJSON [7] [8]). This sounds very convenient and more efficient that fully de/serializing if we just need to change the data a little.
--
1: https://github.com/alecthomas/go_serialization_benchmarks
2: https://github.com/golang/go/issues/29766#issuecomment-45492...
--
3: https://github.com/goccy/go-json
4: https://github.com/vmihailenco/msgpack
5: https://github.com/fxamacker/cbor
--
6: https://github.com/valyala/fasthttp#faq
--
-
Project mention: Cisco to Acquire Cloud Native Networking and Security Leader Isovalent | news.ycombinator.com | 2023-12-21
They would have had to add a few externals to get to Graduated but it's definitely a minority:
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
kcptun
A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64。N:M 多重化と FEC を備えた KCP に基づく安定した安全なトンネル。 N:M 다중화 및 FEC를 사용하는 KCP 기반의 안정적이고 안전한 터널입니다. Un tunnel stable et sécurisé basé sur KCP avec multiplexage N:M et FEC.
-
Project mention: "Every time a new Go release happened, the package stopped building, and the authors had to add a new file with a new //go:build line, and then the entire ecosystem of packages with that as a dependency had to explicitly update to the new version" -- Go itself | /r/programmingcirclejerk | 2023-12-06
Ecosystem-breaking packages happen more often than I thought possible in Go. The other one is https://github.com/quic-go/quic-go, which needs to explicitly support a Go version because it relies on some obscure internal of the language around crypto or some shit.
-
Netmaker
Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.
-
gnet
🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet 是一个高性能、轻量级、非阻塞的事件驱动 Go 网络框架。
-
Project mention: Portmaster is a privacy suite for your Windows and Linux desktop | news.ycombinator.com | 2024-02-06
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Project mention: Wrote a CLI tool to check DNS configurations quickly (an alternative to dig) | /r/coding | 2023-07-10
The heavylifting is done by this package: https://github.com/miekg/dns.
-
-
Project mention: As a Go developer, I’m surprised Crystal isn’t more popular | /r/crystal_programming | 2023-05-26
I have seen pcap but not packetz, thanks. Pcap looks unfinished and packetz has not been updated in a long time, but they might be able to make a working capture program. However the popularity and features available in Go regarding packet capture makes it very hard to beat. E.g. the Google gopacket library has 5.6k stars on github and as pretty much every feature you'd want for this sort of stuff built in.
-
-
Project mention: ⚡⚡ Level Up Your Cloud Experience with These 7 Open Source Projects 🌩️ | /r/Cloud | 2023-12-07
Knative
-
The CNI is language-agnostic and there are many different plugins available.
-
-
-
-
-
-
-
kuma
🐻 The multi-zone service mesh for containers, Kubernetes and VMs. Built with Envoy. CNCF Sandbox Project.
Project mention: Any new Opensource projects in (go) looking for contributors. I want to start my journey as an OSS contributor. | /r/golang | 2023-05-14https://github.com/kumahq/kuma is an CNCF OSS service mesh for Kubernetes and VMs. We're a control plane on top of Envoy proxy. Very actively developed project, some big adopters in the community, and we've just refreshed all of our Good First Issues.
-
-
-
Project mention: Architecting for Resilience: Crafting Opinionated EKS Clusters with Karpenter & Cilium Cluster Mesh — Part 1 | dev.to | 2023-10-31
Since we installed Hubble on the cluster, Let’s check its cool UI and see how the traffic flows between the pods. To do so, let’s run:
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Go Networking related posts
- Should I write my own Redis?
- Writing a Network Scanner using Python
- Golang WebRTC. How to use Pion 🌐Remote Controller
- Curl HTTP/3 Performance
- Cmars/onionpipe: Onion addresses for anything
- CursusDB: Fast, open-source document oriented database with SQL like query
- A new open-source distributed in-memory and persisted document oriented DBMS
-
A note from our sponsor - WorkOS
workos.com | 19 Mar 2024
Index
What are some of the best open-source Networking projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | fasthttp | 20,857 |
2 | cilium | 18,167 |
3 | kcptun | 13,638 |
4 | quic-go | 9,322 |
5 | Netmaker | 8,807 |
6 | gnet | 8,477 |
7 | portmaster | 8,360 |
8 | dns | 7,696 |
9 | httpstat | 6,469 |
10 | gopacket | 6,055 |
11 | evio | 5,804 |
12 | serving | 5,346 |
13 | cni | 5,259 |
14 | HTTPLab | 3,975 |
15 | req | 3,942 |
16 | kcp-go | 3,897 |
17 | netpoll | 3,832 |
18 | emitter-io | 3,722 |
19 | kubefwd | 3,657 |
20 | kuma | 3,463 |
21 | gobgp | 3,430 |
22 | ssh | 3,343 |
23 | hubble | 3,213 |