Go-OpenSource-List

Go OpenSource List | Go 开源工具与框架索引

Showcase

  • Slack-Term : A Slack client for your terminal.

  • 2019-TopList : 今日热榜,一个获取各大热门网站热门头条的聚合网站,使用 Go 语言编写,多协程异步快速抓取信息。

  • go-gin-api : 基于 Gin 进行模块化设计的 API 框架,封装了常用功能,使用简单,致力于进行快速的业务研发。比如,支持 cors 跨域、jwt 签名验证、zap 日志收集、panic 异常捕获、trace 链路追踪、prometheus 监控指标、swagger 文档生成、viper 配置文件解析、gorm 数据库组件、gormgen 代码生成工具、graphql 查询语言、errno 统一定义错误码、gRPC 的使用 等等。

  • 2020-7 days golang programs from scratch : 7 days golang programs from scratch (web framework Gee, distributed cache GeeCache, object relational mapping ORM framework GeeORM, rpc framework GeeRPC etc) 7 天用 Go 动手写/从零实现系列

  • Gdu : Disk usage analyzer with console interface written in Go

  • slides : Terminal based presentation tool, This project is heavily inspired by lookatme. slides is a more minimal version of lookatme and written in Go.

  • filebrowser : filebrowser provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files. It allows the creation of multiple users and each user can have its own directory. It can be used as a standalone app or as a middleware.

  • 2018-wtf : WTF (aka ‘wtfutil’) is the personal information dashboard for your terminal, providing at-a-glance access to your very important but infrequently-needed stats and data.

  • 2022-gopeed : High speed downloader that supports all platforms.

  • 2022-katana : A next-generation crawling and spidering framework.

  • 2022-zpscan : 一个有点好用的信息收集工具。A somewhat useful information gathering tool.

  • 2022-tailscale/golink : golink is a private shortlink service for your tailnet. It lets you create short, memorable links for the websites you and your team use most. If you’re new to golink, learn more in our announcement blog post.

CMD

  • plow : A high-performance HTTP benchmarking tool with real-time web UI and terminal displaying.

  • croc : Easily and securely send things from one computer to another 🐊 📦

Storage

  • minikeyvalue : A distributed key value store in under 1000 lines. Used in production at comma.ai

  • groupcache : groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.

Game

  • 2019-Snake : This is a Terminal based snake game made by tristangoossens.

  • 2019-OpenDiablo2 : OpenDiablo2 is an ARPG game engine in the same vein of the 2000’s games, and supports playing Diablo 2. The engine is written in golang and is cross platform.

Admin

  • gin-vue-admin : 基于 gin+vue 搭建的后台管理系统框架,集成 jwt 鉴权,权限管理,动态路由,分页封装,多点登录拦截,资源权限,上传下载,代码生成器,表单生成器等基础功能。

Template

  • go-eagle : 🦅 一款小巧的基于 Go 构建的开发框架,可以快速构建 API 服务或者 Web 网站进行业务开发,遵循 SOLID 设计原则。

Dev

  • GoPlus : GoPlus(Go+)是一门静态类型语言,与 Go 语言完全兼容。其代码样式类似脚本,并且比 Go 更具可读性,专门用于数据科学。

  • IOC-golang : 一款服务于 Go 开发者的依赖注入框架,方便搭建任何 Go 应用。A Golang depenedency injection framework, helps developers to build any go application.

  • lensm : A tool for viewing assembly and source.

Debug

  • Delve : Delve is a debugger for the Go programming language.

  • GoKart : GoKart is a static analysis tool for Go that finds vulnerabilities using the SSA (single static assignment) form of Go source code.

Dependence Management

  • golang/dep : dep is a prototype dependency management tool for Go. It requires Go 1.8 or newer to compile. dep is safe for production use.

  • glide : Glide is a tool for managing the vendor directory within a Go package.

  • gin : gin is a simple command line utility for live-reloading Go web applications.

Test

Build

  • 2023-GoReleaser : GoReleaser builds Go binaries for several platforms, creates a GitHub release and then pushes a Homebrew formula to a tap repository. All that wrapped in your favorite CI.

Framework

  • go-zero : go-zero 是一个集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。

  • 2020-Kratos : Kratos 一套轻量级 Go 微服务框架,包含大量微服务相关框架及工具。

Utils

  • go-funk #{rpkecy : go-funk is a modern Go library based on reflect.

  • lo : 💥 A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find…)

Dependence Injection

  • 2018-wire : Compile-time Dependency Injection for Go

Configuration

  • viper : Go configuration with fangs!

Command Line

  • promptui : Interactive prompt for command-line applications.

  • cli : A simple, fast, and fun package for building command line apps in Go.

Concurrency

  • 2023-conc : conc is your toolbelt for structured concurrency in go, making common tasks easier and safer.

Log

  • logrus : Logrus is a structured logger for Go (golang), completely API compatible with the standard library logger.

  • Anko : Anko is a scriptable interpreter written in Go.

  • gperftools : Main gperftools repository.

Data Structure

  • gojay : Highly performant JSON encoder/decoder with powerful stream API for Golang.

  • 2018-jstream : jstream is a streaming JSON parser and value extraction library for Go.

  • 2019-Package validator : 💯Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving.

Network

  • 2017-req : A golang http request library for humans.

  • Broxy : Broxy is an open source intercept proxy written in Go.

TCP Server

  • Zinx : Zinx 是一个基于 Golang 的轻量级并发服务器框架。

RPC

  • 2021-netpoll : A high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance.

Storage

FileSystem

  • 2015-fsnotify : Cross-platform file system notifications for Go.

  • 2019-statik : statik allows you to embed a directory of static files into your Go binary to be later served from an http.FileSystem.

Database

  • Bolt : An embedded key/value database for Go.

  • Fabric : Fabric is a triple-store written in Go. Fabric provides simple functions and store options to deal with “Subject->Predicate->Object” relations or so called triples.

  • lungoDB : A MongoDB compatible embeddable database and toolkit for Go.

ORM

  • xo : Command line tool to generate idiomatic Go code for SQL databases supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server

  • gendry : a golang library for sql builder.

  • ent : An entity framework for Go. Simple, yet powerful ORM for modeling and querying data.

Web Framework

  • Beego : An open source framework to build and develop your applications in the Go way.

  • Gin : Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance – up to 40 times faster. If you need smashing performance, get yourself some Gin.

  • iris : The fastest community-driven web framework for Go. Webassembly, Automatic HTTPS with Public Domain, MVC, Sessions, Caching, Versioning API, Problem API, Websocket, Dependency Injection and more. Fully compatible with the standard library and 3rd-party middleware packages.

  • HttpRouter : A high performance HTTP request router that scales well.

  • Nirvana : Golang Restful API Framework for Productivity. 才云正式开源其 Golang API 框架 Nirvana

  • Sniper : 轻量级业务框架。

  • Fiber : Fiber is an Express inspired web framework build on top of Fasthttp, the fastest HTTP engine for Go. Designed to ease things up for fast development with zero memory allocation and performance in mind.

  • go-zero : go-zero is a web and rpc framework written in Go. It’s born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity.

MicroService

  • go-kit : A Go toolkit for microservices.

  • Go-Chassis : Go-Chassis is a Software Development Kit(SDK) for rapid development of microservices in GoLang, providing service-discovery, fault-tolerance, circuit breaker, load balancing, monitoring, hot-reconfiguration features.

  • Jupiter : Jupiter 是斗鱼开源的面向服务治理的 Golang 微服务框架。

WebSocket

  • ws : Tiny WebSocket library for Go.

HTTPS

  • 2018-CertMagic : Caddy’s automagic TLS features, now for your own Go programs, in one powerful and easy-to-use library!

GraphQL

  • gqlgen : gqlgen is a golang library for building graphql servers without any fuss.

Auth

  • Casbin : An authorization library that supports access control models like ACL, RBAC, ABAC in Golang.

  • Goth : Package goth provides a simple, clean, and idiomatic way to write authentication packages for Go web applications.

UI Framework

  • fyne : Cross platform GUI in Go inspired by Material Design

Other

  • gorush : A push notification server written in Go (Golang).

  • qr-filetransfer : Transfer files over wifi from your computer to your mobile device by scanning a QR code without leaving the terminal.

  • find3 : The Framework for Internal Navigation and Discovery (FIND) is like indoor GPS for your house or business, using only a simple smartphone or laptop.

  • Janus : This is a lightweight API Gateway and Management Platform that enables you to control who accesses your API, when they access it and how they access it.

  • mkcert : mkcert is a simple tool for making locally-trusted development certificates. It requires no configuration.

  • 2022-PureGo : A library for calling C functions from Go without Cgo.

上一页
下一页