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.

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

    Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.

  • Project mention: Show HN: Wag, MFA and Enrollment for WireGuard | news.ycombinator.com | 2024-05-11

    https://github.com/netbirdio/netbird seems to be completely open source (BSD), https://github.com/gravitl/netmaker?tab=License-1-ov-file#re... uses Apache for the non-pro stuff, and both of those I found by simply looking at https://github.com/topics/wireguard

    This is why I asked, the phrase "I decided to reinvent the wheel which has honestly been quite fun with learning about eBPF, and recently clustering and HA with etcd" makes it sound like it's doing a bunch of cool stuff (which I want to hear about!), but the readme says nothing about those.

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

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

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

  • 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

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

  • Project mention: Fortio, load testing library and command line tool | news.ycombinator.com | 2023-06-21
  • 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

  • Show HN: EchoVault, Embeddable in-memory store to replace Redis in Go apps

    1 project | news.ycombinator.com | 20 May 2024
  • Dstp: Run common networking tests against any site

    1 project | news.ycombinator.com | 11 May 2024
  • (MQTT Series) Part 3 - Publishing Subscribing and Topics

    2 projects | dev.to | 10 May 2024
  • Show HN: OpenZiti (Apache 2.0, P2P, E2E encrypted, full mesh overlay) is now 1.0

    1 project | news.ycombinator.com | 23 Apr 2024
  • Embeddable, Distributed In-Memory datastore compatible with Redis clients

    1 project | news.ycombinator.com | 4 Apr 2024
  • Install RKE2 with Cilium and Metallb

    3 projects | dev.to | 3 Apr 2024
  • Tinyssh

    7 projects | news.ycombinator.com | 24 Mar 2024
  • A note from our sponsor - SaaSHub
    www.saashub.com | 20 May 2024
    SaaSHub helps you find the best software and product alternatives Learn more →

Index

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

Project Stars
1 fasthttp 21,122
2 cilium 18,720
3 kcptun 13,709
4 quic-go 9,558
5 gnet 9,144
6 Netmaker 9,005
7 portmaster 8,585
8 dns 7,777
9 httpstat 6,505
10 gopacket 6,135
11 evio 5,846
12 serving 5,409
13 cni 5,342
14 req 4,036
15 HTTPLab 3,988
16 kcp-go 3,965
17 netpoll 3,925
18 emitter-io 3,762
19 kubefwd 3,701
20 kuma 3,531
21 gobgp 3,485
22 ssh 3,478
23 fortio 3,178

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