Go Networking

Open-source Go projects categorized as Networking

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

  • Project mention: Rob Pike: Gobs of data (2011) | news.ycombinator.com | 2023-12-04

    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

    --

    7: https://github.com/tidwall/gjson

    8: https://github.com/tidwall/sjson

  • cilium

    eBPF-based Networking, Security, and Observability

  • 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:

    https://github.com/cilium/cilium/blob/main/MAINTAINERS.md

  • 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.

    InfluxDB logo
  • 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: KCP: UDP Implementation over TCP | news.ycombinator.com | 2023-10-31
  • quic-go

    A QUIC implementation in pure Go

  • 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.

  • Project mention: Netmaker: An open source WireGuard VPN | news.ycombinator.com | 2024-02-23
  • gnet

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

  • Project mention: Gnet is the fastest networking framework in Go | news.ycombinator.com | 2024-03-14
  • portmaster

    🏔 Love Freedom - ❌ Block Mass Surveillance

  • 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.

    WorkOS logo
  • dns

    DNS library in Go

  • 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.

  • httpstat

    It's like curl -v, with colours.

  • gopacket

    Provides packet processing capabilities for Go

  • 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.

  • evio

    Fast event-loop networking for Go

  • serving

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

  • Project mention: ⚡⚡ Level Up Your Cloud Experience with These 7 Open Source Projects 🌩️ | /r/Cloud | 2023-12-07

    Knative

  • cni

    Container Network Interface - networking for Linux containers

  • Project mention: Kubernetes Architecture | dev.to | 2023-08-15

    The CNI is language-agnostic and there are many different plugins available.

  • req

    Simple Go HTTP client with Black Magic (by imroc)

  • HTTPLab

    The interactive web server

  • kcp-go

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

  • netpoll

    A high-performance non-blocking I/O networking framework focusing on RPC scenarios.

  • emitter-io

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

  • kubefwd

    Bulk port forwarding Kubernetes services for local development.

  • 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-14

    https://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.

  • gobgp

    BGP implemented in the Go Programming Language

  • ssh

    Easy SSH servers in Golang

  • Project mention: Tinyssh | news.ycombinator.com | 2024-03-24

    I think for these use case a SSH server in Go would be way simpler such as https://github.com/gliderlabs/ssh

  • hubble

    Hubble - Network, Service & Security Observability for Kubernetes using eBPF

  • 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

    SaaSHub logo
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).

Go Networking related posts

Index

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

Project Stars
1 fasthttp 21,049
2 cilium 18,510
3 kcptun 13,678
4 quic-go 9,452
5 Netmaker 8,952
6 gnet 8,823
7 portmaster 8,524
8 dns 7,750
9 httpstat 6,495
10 gopacket 6,112
11 evio 5,830
12 serving 5,388
13 cni 5,307
14 req 3,999
15 HTTPLab 3,981
16 kcp-go 3,942
17 netpoll 3,877
18 emitter-io 3,747
19 kubefwd 3,689
20 kuma 3,508
21 gobgp 3,468
22 ssh 3,412
23 hubble 3,292

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com