awesome-go-plus
A curated list of awesome Go frameworks, libraries and software
https://github.com/jayecc/awesome-go-plus
Last synced: 7 days ago
JSON representation
-
Serialization
-
HTTP Clients
- jsoniter - High-performance 100% compatible drop-in replacement of "encoding/json". 
- mapstructure - Go library for decoding generic map values into native Go structures. 
- php_session_decoder - GoLang library for working with PHP session format and PHP Serialize/Unserialize functions. 
- pletter - A standard way to wrap a proto message for message brokers. 
- structomap - Library to easily and dynamically generate maps from static structures. 
- unitpacking - Library to pack unit vectors into as fewest bytes as possible. 
- bel - Generate TypeScript interfaces from Go structs/interfaces. Useful for JSON RPC. 
-
-
Server Applications
-
HTTP Clients
- algernon - HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber. 
- Caddy - Caddy is an alternative, HTTP/2 web server that's easy to configure and use. 
- Clace - Clace makes internal tool deployment and management easy by implementing an app server for containerized webapps. 
- consul - Consul is a tool for service discovery, monitoring and configuration.
- cortex-tenant - Prometheus remote write proxy that adds add Cortex tenant ID header based on metric labels. 
- devd - Local webserver for developers. 
- discovery - A registry for resilient mid-tier load balancing and failover. 
- dudeldu - A simple SHOUTcast server. 
- Easegress - A cloud native high availability/performance traffic orchestration system with observability and extensibility. 
- Engity's Bifröst - Highly customizable SSH server with several ways to authorize a user how to execute its session (local or in containers).
- etcd - Highly-available key value store for shared configuration and service discovery. 
- Euterpe - Self-hosted music streaming server with built-in web UI and REST API. 
- Fider - Fider is an open platform to collect and organize customer feedback. 
- Flagr - Flagr is an open-source feature flagging and A/B testing service. 
- flipt - A self contained feature flag solution written in Go and Vue.js 
- go-feature-flag - A simple, complete and lightweight self-hosted feature flag solution 100% Open Source. 
- go-proxy-cache - Simple Reverse Proxy with Caching, written in Go, using Redis. 
- gondola - A YAML based golang reverse proxy. 
- lets-proxy2 - Reverse proxy for handle https with issue certificates in fly from lets-encrypt. 
- minio - Minio is a distributed object storage server. 
- Moxy - Moxy is a simple mocker and proxy application server, you can create mock endpoints as well as proxy requests in case no mock exists for the endpoint. 
- nginx-prometheus - Nginx log parser and exporter to Prometheus. 
- nsq - A realtime distributed messaging platform.
- pocketbase - PocketBase is a realtime backend in 1 file consisting of embedded database (SQLite) with realtime subscriptions, built-in auth management and much more. 
- protoxy - A proxy server that converts JSON request bodies to Protocol Buffers. 
- psql-streamer - Stream database events from PostgreSQL to Kafka. 
- riemann-relay - Relay to load-balance Riemann events and/or convert them to Carbon. 
- RoadRunner - High-performance PHP application server, load-balancer and process manager. 
- SFTPGo - Fully featured and highly configurable SFTP server with optional FTP/S and WebDAV support. It can serve local filesystem and Cloud Storage backends such as S3 and Google Cloud Storage. 
- wd-41 - A (w)eb (d)evelopment server with automatic live-reload on file changes. 
- Wish - Make SSH apps, just like that! 
-
-
Social Media
-
Reddit
-
Twitter
-
-
Software Packages
-
DevOps Tools
- abbreviate - abbreviate is a tool turning long strings in to shorter ones with configurable separators, for example to embed branch names in to deployment stack IDs. 
- aptly - aptly is a Debian repository management tool. 
- aurora - Cross-platform web-based Beanstalkd queue server console. 
- awsenv - Small binary that loads Amazon (AWS) environment variables for a profile. 
- Balerter - A self-hosted script-based alerting manager. 
- Blast - A simple tool for API load testing and batch jobs. 
- bombardier - Fast cross-platform HTTP benchmarking tool. 
- bosun - Time Series Alerting Framework. 
- cassowary - Modern cross-platform HTTP load-testing tool written in Go. 
- Ddosify - High-performance load testing tool, written in Golang. 
- decompose - tool to generate and process Docker containers connections graphs. 
- DepCharge - Helps orchestrating the execution of commands across the many dependencies in larger projects. 
- Docker - Open platform for distributed applications for developers and sysadmins.
- docker-go-mingw - Docker image for building Go binaries for Windows with MinGW toolchain. 
- Dockerfile-Generator - A go library and an executable that produces valid Dockerfiles using various input channels. 
- dogo - Monitoring changes in the source file and automatically compile and run (restart). 
- drone-jenkins - Trigger downstream Jenkins jobs using a binary, docker or Drone CI. 
- drone-scp - Copy files and artifacts via SSH using a binary, docker or Drone CI. 
- Dropship - Tool for deploying code via cdn. 
- easyssh-proxy - Golang package for easy remote execution through SSH and SCP downloading via `ProxyCommand`. 
- fac - Command-line user interface to fix git merge conflicts. 
- Flannel - Flannel is a network fabric for containers, designed for Kubernetes. 
- Fleet device management - Lightweight, programmable telemetry for servers and workstations. 
- gaia - Build powerful pipelines in any programming language. 
- ghorg - Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Gitea, and Bitbucket. 
- Gitea - Fork of Gogs, entirely community driven. 
- gitea-github-migrator - Migrate all your GitHub repositories, issues, milestones and labels to your Gitea instance.
- go-furnace - Hosting solution written in Go. Deploy your Application with ease on AWS, GCP or DigitalOcean. 
- go-rocket-update - A simple way to make self updating Go applications - Supports Github and Gitlab. 
- go-selfupdate - Enable your Go applications to self update. 
- gobrew - gobrew lets you easily switch between multiple versions of go. 
- gobrew - Go version manager. Super simple tool to install and manage Go versions. Install go without root. Gobrew doesn't require shell rehash. 
- godbg - Web-based gdb front-end application. 
- Gogs - A Self Hosted Git Service in the Go Programming Language.
- gonative - Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages. 
- grapes - Lightweight tool designed to distribute commands over ssh with ease. 
- GVM - GVM provides an interface to manage Go versions. 
- Hey - Hey is a tiny program that sends some load to a web application. 
- httpref - httpref is a handy CLI reference for HTTP methods, status codes, headers, and TCP and UDP ports. 
- jcli - Jenkins CLI allows you manage your Jenkins as an easy way. 
- k3d - Little helper to run CNCF's k3s in Docker. 
- k3s - Lightweight Kubernetes. 
- k6 - A modern load testing tool, using Go and JavaScript. 
- kala - Simplistic, modern, and performant job scheduler. 
- kcli - Command line tool for inspecting kafka topics/partitions/messages. 
- kind - Kubernetes IN Docker - local clusters for testing Kubernetes. 
- ko - Command line tool for building and deploying Go applications on Kubernetes 
- kool - Command line tool for managing Docker environments as an easy way. 
- kubeblocks - KubeBlocks is an open-source control plane that runs and manages databases, message queues and other data infrastructure on K8s. 
- kubernetes - Container Cluster Manager from Google. 
- kubeshark - API traffic analyzer for Kubernetes, inspired by Wireshark, purposely built for Kubernetes. 
- KubeVela - Cloud native application delivery. 
- KubeVPN - KubeVPN offers a Cloud-Native Dev Environment that seamlessly connects to your Kubernetes cluster network. 
- KusionStack - A unified programmable configuration techstack to deliver modern app in 'platform as code' and 'infra as code' approach. 
- kwatch - Monitor & detect crashes in your Kubernetes(K8s) cluster instantly. 
- lstags - Tool and API to sync Docker images across different registries. 
- lwc - A live-updating version of the UNIX wc command. 
- manssh - manssh is a command line tool for managing your ssh alias config easily. 
- Mantil - Go specific framework for building serverless applications on AWS that enables you to focus on pure Go code while Mantil takes care of the infrastructure. 
- minikube - Run Kubernetes locally. 
- Moby - Collaborative project for the container ecosystem to assemble container-based systems. 
- Mora - REST server for accessing MongoDB documents and meta data. 
- ostent - collects and displays system metrics and optionally relays to Graphite and/or InfluxDB. 
- Packer - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration. 
- Pewpew - Flexible HTTP command line stress tester. 
- PipeCD - A GitOps-style continuous delivery platform that provides consistent deployment and operations experience for any applications. 
- podinfo - Podinfo is a tiny web application made with Go that showcases best practices of running microservices in Kubernetes. Podinfo is used by CNCF projects like Flux and Flagger for end-to-end testing and workshops. 
- Pomerium - Pomerium is an identity-aware access proxy. 
- Rodent - Rodent helps you manage Go versions, projects and track dependencies. 
- s3-proxy - S3 Proxy with GET, PUT and DELETE methods and authentication (OpenID Connect and Basic Auth). 
- s3gof3r - Small utility/library optimized for high speed transfer of large objects into and out of Amazon S3. 
- s5cmd - Blazing fast S3 and local filesystem execution tool. 
- Scaleway-cli - Manage BareMetal Servers from Command Line (as easily as with Docker). 
- script - Making it easy to write shell-like scripts in Go for DevOps and system administration tasks. 
- sg - Benchmarks a set of HTTP endpoints (like ab), with possibility to use the response code and data between each call for specific server stress based on its previous response. 
- skm - SKM is a simple and powerful SSH Keys Manager, it helps you to manage your multiple SSH keys easily! 
- StatusOK - Monitor your Website and REST APIs.Get Notified through Slack, E-mail when your server is down or response time is more than expected. 
- tau - Easily build Cloud Computing Platforms with features like Serverless WebAssembly Functions, Frontend Hosting, CI/CD, Object Storage, K/V Database, and Pub-Sub Messaging. 
- terraform-provider-openapi - Terraform provider plugin that dynamically configures itself at runtime based on an OpenAPI document (formerly known as swagger file) containing the definitions of the APIs exposed. 
- tf-profile - Profiler for Terraform runs. Generate global stats, resource-level stats or visualizations. 
- tlm - Local cli copilot, powered by CodeLLaMa 
- traefik - Reverse proxy and load balancer with support for multiple backends. 
- trubka - A CLI tool to manage and troubleshoot Apache Kafka clusters with the ability of generically publishing/consuming protocol buffer and plain text events to/from Kafka. 
- uTask - Automation engine that models and executes business processes declared in yaml. 
- Vegeta - HTTP load testing tool and library. It's over 9000! 
- wait-for - Wait for something to happen (from the command line) before continuing. Easy orchestration of Docker services and other things. 
- Wide - Web-based IDE for Teams using Golang.
- winrm-cli - Cli tool to remotely execute commands on Windows machines. 
- alaz - Effortless, Low-Overhead, eBPF-based Kubernetes Monitoring. 
- govvv - “go build” wrapper to easily add version information into Go binaries. 
-
Other Software
- blocky - Fast and lightweight DNS proxy as ad-blocker for local network with many features. 
- boxed - Dropbox based blog engine. 
- Chapar - Chapar is a a cross-platform Postman alternative built with go, aims to help developers to test their api endpoints. it support http and grpc protocols. 
- Cherry - Tiny webchat server in Go. 
- Circuit - Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications. 
- Comcast - Simulate bad network connections. 
- confd - Manage local application configuration files using templates and data from etcd or consul. 
- crawley - Web scraper/crawler for cli. 
- croc - Easily and securely send files or folders from one computer to another. 
- Documize - Modern wiki software that integrates data from SaaS tools. 
- dp - Through SDK for data exchange with blockchain, developers can get easy access to DAPP development. 
- drive - Google Drive client for the commandline. 
- Duplicacy - A cross-platform network and cloud backup tool based on the idea of lock-free deduplication. 
- fjira - A fuzzy-search based terminal UI application for Attlasian Jira 
- Gebug - A tool that makes debugging of Dockerized Go applications super easy by enabling Debugger and Hot-Reload features, seamlessly. 
- gfile - Securely transfer files between two computers, without any third party, over WebRTC. 
- Go Package Store - App that displays updates for the Go packages in your GOPATH. 
- go-peerflix - Video streaming torrent client. 
- GoBoy - Nintendo Game Boy Color emulator written in Go. 
- gocc - Gocc is a compiler kit for Go written in Go. 
- GoDocTooltip - Chrome extension for Go Doc sites, which shows function description as tooltip at function list. 
- Gokapi - Lightweight server to share files, which expire after a set amount of downloads or days. Similar to Firefox Send, but without public upload. 
- GoNB - Interactive Go programming with Jupyter Notebooks (also works in VSCode, Binder and Google's Colab). 
- Guora - A self-hosted Quora like web application written in Go. 
- hoofli - Generate PlantUML diagrams from Chrome or Firefox network inspections. 
- hotswap - A complete solution to reload your go code without restarting your server, interrupting or blocking any ongoing procedure. 
- hugo - Fast and Modern Static Website Engine.
- ide - Browser accessible IDE. Designed for Go with Go. 
- joincap - Command-line utility for merging multiple pcap files together. 
- JuiceFS - Distributed POSIX file system built on top of Redis and AWS S3. 
- Leaps - Pair programming service using Operational Transforms. 
- lgo - Interactive Go programming with Jupyter. It supports code completion, code inspection and 100% Go compatibility. 
- LiteIDE - LiteIDE is a simple, open source, cross-platform Go IDE. 
- mockingjay - Fake HTTP servers and consumer driven contracts from one configuration file. You can also make the server randomly misbehave to help do more realistic performance tests. 
- myLG - Command Line Network Diagnostic tool written in Go. 
- naclpipe - Simple NaCL EC25519 based crypto pipe tool written in Go. 
- Neo-cowsay - 🐮 cowsay is reborn. for a New Era. 
- nes - Nintendo Entertainment System (NES) emulator written in Go. 
- Orbit - A simple tool for running commands and generating files from templates. 
- peg - Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator. 
- Plik - Plik is a temporary file upload system (Wetransfer like) in Go. 
- portal - Portal is a quick and easy command-line file transfer utility from any computer to another. 
- restic - De-duplicating backup program. 
- sake - sake is a command runner for local and remote hosts. 
- scc - Sloc Cloc and Code, a very fast accurate code counter with complexity calculations and COCOMO estimates. 
- Seaweed File System - Fast, Simple and Scalable Distributed File System with O(1) disk seek. 
- shell2http - Executing shell commands via http server (for prototyping or remote control). 
- Snitch - Simple way to notify your team and many tools when someone has deployed any application via Tsuru. 
- sonic - Sonic is a Go Blogging Platform. Simple and Powerful. 
- Stack Up - Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers. 
- stew - An independent package manager for compiled binaries. 
- syncthing - Open, decentralized file synchronization tool and protocol.
- tcpdog - eBPF based TCP observability. 
- tinycare-tui - Small terminal app that shows git commits from the last 24 hours and week, current weather, some self care advice, a joke, and you current todo list tasks. 
- toxiproxy - Proxy to simulate network and system conditions for automated tests. 
- tsuru - Extensible and open source Platform as a Service software.
- vaku - CLI & API for folder-based functions in Vault like copy, move, and search. 
- wellington - Sass project management tool, extends the language with sprite functions (like Compass). 
- woke - Detect non-inclusive language in your source code. 
- yai - AI powered terminal assistant. 
- zs - an extremely minimal static site generator.
- Juju - Cloud-agnostic service deployment and orchestration - supports EC2, Azure, Openstack, MAAS and more.
- vFlow - High-performance, scalable and reliable IPFIX, sFlow and Netflow collector. 
- Gor - Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time. 
- borg - Terminal based search engine for bash snippets. 
-
-
Stream Processing
-
HTTP Clients
- go-etl - A lightweight toolkit for data source extraction, transformation, and loading (ETL). 
- go-streams - Go stream processing library. 
-
Programming Languages
Categories
Utilities
174
Software Packages
155
Database
135
Miscellaneous
107
Third-party APIs
102
Networking
97
Testing
91
Command Line
90
Web Frameworks
87
Data Structures and Algorithms
74
Text Processing
70
Websites
69
Logging
63
Distributed Systems
62
Database Drivers
62
Configuration
61
Messaging
56
Goroutines
49
Natural Language Processing
48
Images
44
Meetups
43
Security
43
Machine Learning
40
JSON
39
Science and Data Analysis
36
Authentication and OAuth
35
Code Analysis
32
Server Applications
31
Bot Building
27
GUI
26
Financial
26
E-Books
25
ORM
25
File Handling
25
Email
24
Embeddable Scripting Languages
24
Date and Time
22
Game Development
22
Serialization
21
Go Tools
20
Error Handling
17
Query Language
17
Template Engines
17
Continuous Integration
16
Geographic
16
IoT (Internet of Things)
15
Benchmarks
15
Validation
15
Conferences
14
Job Scheduler
14
Build Automation
14
Generators
13
Editor Plugins
13
Package Management
13
Forms
12
Video
12
UUID
12
Gophers
11
Go Generate Tools
11
Blockchain
10
Functional
9
Audio and Music
9
Reflection
8
Hardware
8
Microsoft Office
8
Version Control
8
Style Guides
8
WebAssembly
7
Performance
7
XML
6
Go Compilers
6
OpenGL
6
Artificial Intelligence
6
Social Media
5
Zero Trust
5
Workflow Frameworks
5
Stream Processing
5
Actor Model
4
Resource Embedding
4
Windows
3
Data Integration Frameworks
3
Webhooks Server
3
Dynamic DNS
3
CSS Preprocessors
2
Sub Categories
Search and Analytic Databases
645
Utility/Miscellaneous
365
HTTP Clients
254
Routers
132
Standard CLI
132
Other Software
94
DevOps Tools
90
Transliteration
80
Free e-books
79
Testing Frameworks
63
Uncategorized
58
Databases Implemented in Go
40
Advanced Console UIs
40
Tutorials
39
Caches
30
Reddit
28
NoSQL Database Drivers
28
Parsers/Encoders/Decoders
26
SQL Query Builders
25
Middlewares
25
Dependency Injection
23
Database Schema Migration
22
Relational Database Drivers
20
Mock
18
Database Tools
18
Project Layout
18
Miscellaneous Data Structures and Algorithms
17
Morphological Analyzers
17
Markup Languages
13
Tokenizers
10
Text Analysis
9
Translation
9
Strings
8
Scrapers
8
Bloom and Cuckoo Filters
8
E-books for purchase
8
Formatters
8
Bit-packing and Compression
6
Microsoft Excel
6
Selenium and browser control tools
6
Queues
6
Trees
6
Regular Expressions
5
Interfaces to Multiple Backends
5
Language Detection
5
Maps
4
Twitter
4
Sets
4
Data Structure and Algorithm Collections
4
Fuzzing and delta-debugging/reducing/shrinking
3
Nullable Types
3
Guided Learning
3
Pipes
3
Slugifiers
3
Sanitation
2
Iterators
2
Bit Sets
2
Fail injection
1
RSS
1
Microsoft Word
1
Keywords
golang
1,175
go
1,045
golang-library
102
cli
91
database
78
json
73
http
61
testing
57
sql
52
docker
47
golang-package
46
framework
43
mysql
42
library
39
kubernetes
38
postgresql
38
middleware
32
redis
32
api
32
orm
30
logging
30
parser
30
configuration
29
cache
28
distributed-systems
28
concurrency
28
microservice
27
command-line
25
awesome-go
25
machine-learning
24
config
23
security
23
grpc
23
microservices
23
performance
23
log
22
sqlite
22
server
22
router
22
logger
21
validation
21
dependency-injection
21
cloud-native
21
terminal
20
devops
20
generics
20
rest-api
20
xml
20
linux
18
rest
18