欢迎访问我的博客,你的支持,是我最大的动力!

有用的golang第三方库和工具

Linux 小马奔腾 1212℃ 评论

# 定时任务库 star 1.8k
支持秒级,不使用cron语法
https://github.com/jasonlvhit/gocron

# 将map[string]interface{}解析为struct的库
https://github.com/mitchellh/mapstructure

# markdown 解析
https://github.com/yuin/goldmark

# 基于LLVM的编译器
https://github.com/tinygo-org/tinygo

# 将本地服务(内网)暴露到互联网
借助反向代理和websocket转发流量
https://github.com/inlets/inlets

# k8s 网络、服务、安全可视化工具
https://github.com/cilium/hubble

# gorm中间件 插入后提供缓存功能
https://github.com/8treenet/gcache

# qt库 支持各种平台
https://github.com/therecipe/qt

# 轻量级的开源分布式关系数据库,以SQLite为存储引擎 star 5.1k
https://github.com/rqlite/rqlite

# httpclient库,支持链式操作
使用比较方便
https://github.com/guonaihong/gout

# chromedp
驱动浏览器的库,chrome devtools协议,可抓取动态网页
https://github.com/chromedp/chromedp

# markdown渲染引擎
https://github.com/MichaelMure/go-term-markdown

# 可以在 CSV,LTSV,JSON 和 TBLN 上执行 SQL 查询的 CLI 工具
非常有趣
https://github.com/noborus/trdsql

curlconverter
将curl命令转换为Python, Ansible URI, Node.js, R, PHP, Strest, Go, Dart, JSON, Rust源代码
在线转换:https://curl.trillworks.com/
项目地址(nodejs):https://github.com/NickCarneiro/curlconverter/

goproxy-sdk
Proxy是golang实现的高性能HTTP、HTTPS、SOCKS5、Websocket、TCP、UDP、防污染DNS,全能代理服务器。支持内网穿透、链式代理、通讯加密、P2P、前置CDN、域名黑白名单、跨平台、限速限连接数、KCP、IPv4和IPv6、动态上级、集成外部API
项目地址:https://github.com/snail007/goproxy-sdk
项目地址:https://github.com/snail007/goproxy
使用文档:https://snail007.github.io/goproxy/manual/zh/#/

delve
go语言debug工具
项目地址:https://github.com/go-delve/delve

micro
go微服务框架
项目地址:https://github.com/micro/micro

gnet
高性能、轻量级、非阻塞的基于事件驱动的 Go 网络框架
https://github.com/panjf2000/gnet

CAT
基于 Java 开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务
https://github.com/dianping/cat

docker-slim
docker镜像瘦身和安全加固工具,至多可缩小体积30倍
https://github.com/docker-slim/docker-slim

base64Captcha图形验证码
https://github.com/mojocn/base64Captcha

go编译混淆工具
https://github.com/mvdan/garble

跨平台的GUI库
支持ios和安卓
https://github.com/fyne-io/fyne

云服务商的rsync
非常方便的上传、下载文件 支持阿里云oss
https://github.com/rclone/rclone

一个可有效处理消息流的 Go 库
https://github.com/ThreeDotsLabs/watermill

Tracerr: 支持堆栈跟踪和源片段的 Go Errors 库
err = tracerr.Wrap(err) 会打印相应的代码内容
tracerr.Print(err)
tracerr.PrintSource(err)
tracerr.PrintSourceColor(err, 5, 2) 带颜色的输出
https://github.com/ztrue/tracerr

terminal图形化项目
https://github.com/gizak/termui
https://github.com/jroimartin/gocui   stars:6.3k
https://github.com/mum4k/termdash

Go二进制交付,可与多种CI工具做集成
https://github.com/goreleaser/goreleaser
官网:https://goreleaser.com/
使用 CGO 和 GoReleaser 进行跨平台编译
https://studygolang.com/articles/22242

无需CGO的Go SQLite连接库
modernc.org/sqlite
https://godoc.org/modernc.org/sqlite

gos
解决go module goproxy和跨平台编译
将原来的go更换为gos
https://github.com/storyicon/gos

hexya
Go 实现的开源 ERP 和业务应用开发框架
https://github.com/hexya-erp/hexya

mgm
Mongo Go 模型(mgm)是用于 Go 的快速,简单的 MongoDB ODM
https://github.com/kamva/mgm

tasks
易于使用的进程内调度程序,用于 Go 中的重复任务
通过指定任务开始的时间点,执行指定函数(任务)
https://github.com/madflojo/tasks

读取配置文件
支持文件、json、toml、yaml、env和命令行
https://github.com/knadh/koanf

处理系统中断的微型库
https://github.com/heartwilltell/waitabit

Brook
跨平台proxy/vpn工具 基于golang 支持ss
https://github.com/txthinking/brook

Go GUI 项目列表
https://github.com/go-graphics/go-gui-projects

在主机/主机列表上进行快速 SYN 扫描,并列出所有返回回复的端口
https://github.com/projectdiscovery/naabu

GNU-Readline 类库的实现
https://github.com/chzyer/readline

noise
Go 实现的分布式 P2P 网络协议栈
https://github.com/perlin-network/noise

Kubernetes user 管理器
https://github.com/ibuildthecloud/klum

Go实现的 BitTorrent 客户端和库
https://github.com/cenkalti/rain

fabio
一种快速,现代化的零配置负载平衡 HTTP(S) 和 TCP 路由器,用于部署由 consul 管理的应用程序
https://github.com/fabiolb/fabio

k6
使用 Go 和 JavaScript 的现代负载测试工具
https://github.com/loadimpact/k6

http 负载测试工具
https://github.com/rogerwelin/cassowary

Go 实现的多层神经网络
https://github.com/dathoangnd/gonet

Ansible inventory文件解析
https://github.com/relex/aini

ini配置文件解析 star:1.9k
文章:https://juejin.im/post/5e1f9953e51d450209730323
项目地址:https://github.com/go-ini/ini

GF
模块化、高性能、生产级的Go基础开发框架
文档:https://goframe.org/index
项目地址:https://github.com/gogf/gf

https://github.com/gabeduke/kubectl-iexec
https://github.com/guessi/kubectl-grep
https://github.com/derailed/k9s

samaritan
饿了么透明代理,代理MySQL、Redis、MQ等基础组件
类似于Enovy
文档:https://samaritan-proxy.github.io/docs/
项目地址:https://github.com/samaritan-proxy/samaritan

在生产中部署机器学习模型
https://github.com/rakyll/govalidate

Go 编程语言规范
https://moego.me/golang_spec.html

快速目录遍历库
https://github.com/karrick/godirwalk

sarama
Sarama 是 Apache Kafka 0.8 及更高版本的 Go 库
https://github.com/Shopify/sarama

Kubernetes 相关优秀工具列表
https://docs.google.com/spreadsheets/d/1WPHt0gsb7adVzY3eviMK2W8LejV0I5m_Zpc8tMzl_2w/edit#gid=0

类似 GitBook 的文档管理系统
资料: https://www.oschina.net/news/112626/bookstack-2-4-released
项目地址:https://github.com/TruthHun/BookStack
书栈网
推荐,里面有很多文档  https://www.bookstack.cn/

skywalking
支持java/.net/nodejs/php/go的全链路追踪
对比pinpoint

mongo驱动
https://github.com/mongodb/mongo-go-driver

fasthttp
号称速度比 net/http快 10 倍 star 11.4k
https://github.com/valyala/fasthttp

httpretty
在终端上漂亮地打印出 HTTP 请求
类似curl 的 --verbose 功能 方便调试
https://github.com/henvic/httpretty

Fiber
一个 Express.js 风格的 HTTP Web 框架
基于 Fasthttp 适合配合 Node.js 使用
https://github.com/gofiber/fiber

go-syslog
极速 Syslog 解析器
https://github.com/influxdata/go-syslog

cast
类型转换,如转换为string 转换为int等
https://github.com/spf13/cast

用 Go 代码快速创建 grafana dashboards
https://github.com/K-Phoen/grabana

tbls
用于记录数据库文档的 CI 友好工具
https://github.com/k1LoW/tbls

crawlab
基于 Golang 的分布式爬虫管理平台,支持Python、NodeJS、Go、Java、PHP等多种编程语言以及多种爬虫框架
带web管理后台 star 4.3k
https://github.com/crawlab-team/crawlab

go-spew
Go 数据结构实现深层漂亮的打印,以帮助调试
https://github.com/davecgh/go-spew

用 Go 和 Web 技术创建桌面应用程序
https://github.com/wailsapp/wails

websocket
2019 年新开发的 WebSocket 库,官方也推荐这个库,在性能方面,比经典的 https://github.com/gorilla/websocket 更好,推荐
https://github.com/nhooyr/websocket

第三方 JSON 库
主打性能棒:
https://github.com/valyala/fastjson
https://github.com/mailru/easyjson
https://github.com/buger/jsonparser
https://github.com/pquerna/ffjson
https://github.com/json-iterator/go
提供更多功能:
https://github.com/tidwall/gjson
https://github.com/tidwall/sjson
simdjson-go 每秒解析千兆字节的JSON(不太好用): https://github.com/minio/simdjson-go
快速、全面的 JSON 操作工具包:https://github.com/ecoshub/jin

进度条
70多个可配置的终端 spinner/progress 指示器
https://github.com/briandowns/spinner

goxygen
全栈应用生成器,可构建框架后端,该框架使用 Go 和 MongoDB 并在前端使用 React
https://github.com/Shpota/goxygen

REST
专门用于 RESTful API 的 HTTP 客户端
https://github.com/sendgrid/rest

esquery
符合 Go 习惯的 ElasticSearch 查询构造器
https://github.com/aquasecurity/esquery

工具
推荐,将 JSON 转换为离散的值,以使其更易于根据需要进行 grep 并查看其绝对“路径”
https://github.com/tomnomnom/gron

每日一库
https://github.com/darjun/go-daily-lib
mergo,在结构体和map之间赋值,合并、覆盖等

类似curl的工具
httpie 的 Go 实现
https://github.com/nojima/httpie-go

临时文件上传系统
https://github.com/root-gg/plik

适用于 C/C++/Golang 的微型跨平台 Webview 库
使用 WebKit(Gtk/Cocoa)和 Edge(Windows)
https://github.com/zserge/webview

es 通过 ingest pipeline做数据清洗的架构可以参考下这两个连接
- https://www.elastic.co/blog/new-way-to-ingest-part-1
- https://www.elastic.co/blog/new-way-to-ingest-part-2

confd
可动态渲染并生成配置文件,推荐
如生成nginx配置文件
https://github.com/kelseyhightower/confd

将nginx配置转换为json和struct
https://github.com/caas-one/nginxconf

SON Web Token跨域认证解决方案
https://github.com/dgrijalva/jwt-go

构建 Go CLI 应用程序的快速方法
支持自动完成功能
https://github.com/urfave/cli
示例:https://github.com/urfave/cli/blob/master/docs/v2/manual.md

创建和处理 .docx .xlsx .pptx 的纯 Go 库
https://github.com/unidoc/unioffice

awk 解析器
https://github.com/benhoyt/goawk

简单 NTP 客户端
https://github.com/beevik/ntp

并行 gzip 压缩和解压缩
https://github.com/klauspost/pgzip

推送通知服务器
支持 APNS(Apple 推送通知服务)和 Firebase
https://github.com/appleboy/gorush

Go 语言强化学习库
https://github.com/aunum/gold

Kafka 的 gRPC/REST 代理
https://github.com/mailgun/kafka-pixy

全功能 Socks5 协议库
https://github.com/txthinking/socks5

推荐
cli命令行库 stars 16.3k
https://github.com/spf13/cobra

int加密
https://github.com/speps/go-hashids

内存键值数据库
https://github.com/tidwall/buntdb

结构体添加标签
https://github.com/fatih/gomodifytags

官方rocktmq客户端
https://github.com/apache/rocketmq-client-go

高效解析 Protobuf 零内存分配
https://github.com/richardartoul/molecule

高级机器学习库
https://github.com/aunum/goro

低损耗的 string 或 []byte 类型操作库
https://github.com/go4org/mem

读取和创建 ISO9660 镜像的 Go 库
https://github.com/KarpelesLab/iso9660

受 Ansible 启发但没有 Yaml 的配置管理工具
https://github.com/krilor/gossh

本地 golang ssh 客户端,可通过 ssh 连接执行命令
https://github.com/melbahja/goph

Go 标准库的拓展,提供各种便利的工具
https://github.com/go-board/x-go

broccoli
使用谷歌 Brotli 压缩的,在 Go 中嵌入静态文件
https://github.com/aletheia-icu/broccoli

database/sql 包的替代品
https://github.com/rocketlaunchr/dbq

每日一库
sjson 快速设置json值 https://darjun.github.io/2020/03/24/godailylib/sjson/
gjson 读取json https://darjun.github.io/2020/03/22/godailylib/gjson/
jj 基于sjson和gjson的命令行工具 https://darjun.github.io/2020/03/24/godailylib/sjson/
validator 数据校验 https://darjun.github.io/2020/04/04/godailylib/validator/
gopsutil 获取系统信息 https://darjun.github.io/2020/04/05/godailylib/gopsutil/

go mod 依赖冲突检查
https://github.com/cch123/gomod-conflict-detect

跨平台自动化系统,控制键盘鼠标位图和读取屏幕,窗口句柄以及全局事件监听
https://github.com/go-vgo/robotgo

纯 Go 的可扩展 Git 库
https://github.com/go-git/go-git

高性能分词库,支持中文
https://github.com/go-ego/gse

轻量,简单,快速,线程安全的 Golang 堆栈实现
支持push pop操作
https://github.com/bmw417/stack

HTTP 和 REST 客户端库
类似curl的功能
https://github.com/go-resty/resty

JSON 解析器的替代品
https://github.com/buger/jsonparser

用于创建和处理 PDF 文件
https://github.com/unidoc/unipdf

适用于 Go 应用程序的完整配置解决方案
可以处理所有类型的配置需求和格式
star 12.4k
https://github.com/spf13/viper
Go语言配置管理神器——Viper中文教程
https://www.liwenzhou.com/posts/Go/viper_tutorial/

uuid库
https://github.com/gofrs/uuid

Redis 的 Go 语言客户端
https://github.com/gomodule/redigo

grpc-go
star 11.6k 基于 HTTP/2 的RPC
https://github.com/grpc/grpc-go

微信聊天机器人
https://github.com/wechaty/go-wechaty

兼容 Go 原生 profiler 的 profiler,支持非 cpu 时间(比如 IO 时间)采样
https://github.com/felixge/fgprof

调用libvips库
快速高级图像处理,转换,裁切,调整大小,加水印等
https://github.com/h2non/bimg

权限认证库,支持ABAC RBAC ACL等多种权限模型
推荐 每日一库中也有介绍 star 7.1k
https://github.com/casbin/casbin

处理数万个SSH连接,并使用高级API执行命令以构建网络设备/服务器自动化
https://github.com/yahoo/vssh

经济高效且可扩展的时间序列数据库
旨在用作 Prometheus 的长期存储并支持 Prometheus 查询 API
https://github.com/VictoriaMetrics/VictoriaMetrics

支持Chrome DevTools Protocol 的一个驱动浏览器的库
不需要依赖其他的外界服务,如 Selenium 和 PhantomJs
star 5k 每日一库有介绍
https://github.com/chromedp/chromedp

PDF处理
https://github.com/pdfcpu/pdfcpu

 

 

 

 

 

 

转载请注明:轻风博客 » 有用的golang第三方库和工具

喜欢 (3)or分享 (0)