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

    Latest mention: Creating an HTTP server in Go using gin | dev.to | 2020-11-16

    fasthttp

  • kcptun

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

  • cilium

    eBPF-based Networking, Security, and Observability

    Latest mention: Gopher Gold #20 - Wed Nov 18 2020 | dev.to | 2020-11-17

    cilium/cilium (Go): eBPF-based Networking, Security, and Observability

  • dns

    DNS library in Go

  • httpstat

    It's like curl -v, with colours.

  • quic-go

    A QUIC implementation in pure go

    Latest mention: Gopher Gold #15 - Wed Oct 14 2020 | dev.to | 2020-10-14

    lucas-clemente/quic-go (Go): A QUIC implementation in pure go

  • gopacket

    Provides packet processing capabilities for Go

  • HTTPLab

    The interactive web server

  • gnet

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

  • cni

    Container Network Interface - networking for Linux containers

    Latest mention: Infrastructure Engineering - Diving Deep | dev.to | 2021-01-14

    CNI (Container Networking Interface) is a standard which helps establish interoperability between multiple networking solutions again avoiding the need to have in-tree plugins within the core and separating container networking and execution. There are a lot of plugins and runtimes which support CNI today.

  • kcp-go

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

  • emitter-io

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

  • kubefwd

    Bulk port forwarding Kubernetes services for local development.

    Latest mention: kubefwd tool to bulk port forwarding #Kubernetes services for local development. | reddit.com/r/kubernetes | 2021-01-13

    For anyone that doesn't want to open youtube for the link to github: https://github.com/txn2/kubefwd

  • gobgp

    BGP implemented in the Go Programming Language

  • ssh

    Easy SSH servers in Golang

  • heimdall

    An enhanced HTTP client for Go

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

  • nano

    Lightweight, facility, high performance golang based game server framework

    Latest 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

  • gobetween

    :cloud: Modern & minimalistic load balancer for the Сloud era

  • mqttPaho

  • water

    A simple TUN/TAP library written in native Go.

  • go-getter

    Package for downloading things from a string URL using a variety of protocols.

  • NFF-Go

    NFF-Go -Network Function Framework for GO (former YANFF)

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-01-16.

Index

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

Project Stars
1 fasthttp 14,285
2 kcptun 12,267
3 cilium 7,333
4 dns 5,136
5 httpstat 4,940
6 quic-go 4,824
7 gopacket 3,887
8 HTTPLab 3,646
9 gnet 3,553
10 cni 3,184
11 kcp-go 2,849
12 emitter-io 2,706
13 kubefwd 2,221
14 gobgp 2,125
15 ssh 1,835
16 heimdall 1,738
17 fortio 1,723
18 nano 1,558
19 gobetween 1,500
20 mqttPaho 1,489
21 water 1,165
22 go-getter 1,078
23 NFF-Go 1,026