本期为大家精选了 Gitee 上优秀的 Go 语言 开源项目 ,涵盖了文件服务系统、Web 开发框架、游戏服务器开发框架、API 工具、验证码、数据库、爬虫工具、 端口转发 工具等各个方面,希望能够给大家带来一点帮助:)

分布式文件服务

项目简介: golang 基于 gridFs 的分布式文件服务,其支持:

  1. POST GET 上传
  2. 图片大小控制
  3. 文件下载,秒传,转正处理等。

项目地址:

Golang Web 开发框架

项目简介: Lessgo 是一款简单、稳定、高效、灵活的 golang web 开发框架,支持动态路由、自动化 API 测试文档、热编译、热更新等,实现前后端分离、系统与业务分离,完美兼容 MVC 与 MVVC 等多种开发模式,非常利于企业级应用与 API 接口的开发。

项目地址:

HTTP API 统一前端

项目简介: api front 是 HTTP API 统一前端,用于 测试环境 api 统一管理,主要功能是请求代理转发、协议抓包分析、流量复制。

用于解决如下问题:

  • HTTP API 大行其道,开发调试(特别是联调)花费的时间、人力成本很高。
  • 后端的 API 调用是一个黑盒,特别是有问题的时候,基本是抓瞎(目前一般是把请求信息记录到日志中去)。
  • 线下联调测试环境复杂多变,配置文件经常变动,经常其中一个环境好了另外一个又坏了。
  • 可将接口的请求历史记录全部记录方便排查问题

项目地址:

:基于 Go 实现的验证码

项目简介: 基于 Golang 实现的图片验证码生成库,可以实现随机字母个数,随机直线,随机噪点等。可以设置任意多字体,每个验证码随机选一种字体展示。

项目地址:

自动化系统

项目简介: Go 语言跨平台 GUI 自动化系统, 控制键盘、鼠标、位图和读取屏幕, 窗口句柄以及全局事件监听。

项目地址:

基于 Go 的高性能 Proxy

项目简介: kingshard 是一个由 Go 开发高性能 MySQL Proxy 项目,kingshard 在满足基本的读写分离的功能上,致力于简化 MySQL 分库分表操作;能够让 DBA 通过 kingshard 轻松平滑地实现 MySQL 数据库扩容。 kingshard 的性能是直连 MySQL 性能的80%以上。

项目地址:

分布式游戏服务器开发框架

项目简介: xingo 是免费、开源、可定制、可扩展、节点支持“热更新”的高性能 分布式服务器 开发框架,采用 golang 语言开发,天生携带高并发场景的处理基因,继承了 golang 语言本身的各种优点,开发简单易上手并且功能强大。

它主要实现了高性能的异步网络库,分布式节点间的高性能 rpc 通信,日志管理,数据库支持(暂时只支持 mongodb ),goroutine安全的定时器, telnet 在线服务器调试工具等,可用的开发场景包括但不局限于 IM 即时通讯服务器,游戏服务器(已有多款公司级别的项目选择了xingo)等可以节省大量

游戏开发时间,让游戏开发人员可以将主要精力放到游戏玩法和游戏逻辑上。真正实现了修改配置文件就可以搭建自定义的分布式服务器架构。

项目地址:

简单高效的搜索引擎

项目简介: 本项目是基于 Go 实现的简单高效的搜索引擎,其特性如下:

  • 高效索引和搜索(1M 条微博 500M 数据28秒索引完,1.65毫秒搜索响应时间,19K 搜索 QPS)
  • 支持中文分词(使用 gse 分词包并发分词,速度 27MB/秒)
  • 支持逻辑搜索
  • 支持中文转拼音搜索(使用 gpy 中文转拼音)
  • 支持计算关键词在文本中的紧邻距离(token proximity)
  • 支持计算BM25相关度
  • 支持自定义评分字段和评分规则

项目地址:

Golang 实现的 OAuth 2.0 服务端

项目简介: Golang 实现的 OAuth 2.0 服务端,依照协议 RFC 6749 实现,具有简单使用、灵活、模块化的特点;支持内存存储、文件存储、redis 存储、mongodb 存储.

项目地址:

Office Excel 文档

项目简介: Excelize 是 Go 语言编写的用于操作 Office Excel 文档类库,基于 ECMA-376 Office OpenXML 标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的 XLSX 文档。相比较其他的开源类库,Excelize 支持写入原本带有图片(表)、透视表和切片器等复杂样式的文档,还支持向 Excel 文档中插入图片与图表,并且在保存后不会丢失文档原有样式,可以应用于各类报表系统中。

项目地址:

IP 库的 Golang 服务

项目简介: 我们大家做网站的时候,都会需要将用户的 IP 地址转换为归属地址功能,而之前的作法大都是从硬盘的数据文件中读取,这样不太高效。我这次将纯真 IP 库直接加载到内存中,并以 http 服务的方式提供接口出来。这样方便自己项目中所有的程序都能方便的接口 IP 查询功能了。

项目地址:

分布式爬虫平台

项目简介: 一款分布式爬虫平台,帮助你更好的管理和开发爬虫。 内置一套爬虫定义规则(模版),可使用模版快速定义爬虫,也可当作框架手动开发爬虫。

项目地址:

Golang 实现的 IP 代理池

项目简介: Golang 实现的 IP 代理池,采集免费的代理资源为爬虫提供有效的代理。

项目地址:

Golang 实现的端口转发工具

项目简介: Go 语言开发的端口转发工具,功能介绍:

  • 支持 Web 控制台添加 端口映射
  • 支持对每条端口映射进行开启和关闭控制
  • 支持 RestfulAPI 接口,方便被其它系统集成
  • 支持每条端口转发的同时,再分发给多个端口,满足某些测试场景

项目地址:

RESTful API 文档生成工具

项目简介: apidoc 是一个简单的 RESTful API 文档生成工具,它从代码注释中提取特定格式的内容,生成文档。 目前支持支持以下语言:C#、C/C++、D、Erlang、Go、 Groovy 、 Java 、JavaScript、Pascal/Delphi、 Perl、PHP、Python、Ruby、Rust、Scala 和 Swift。

项目地址:

开源文库系统 DocHub

项目简介: DocHub 文库通过 svg 矢量图来实现文档阅读体验的,我知道的文库站点中,新浪爱问是通过 png 等图片提供文档阅读体验的。

SVG相比 png、jpeg 等图片格式有很大的优势,至少放大不会失真,而且与JPEG 和 GIF 图像比起来,svg 尺寸更小,可压缩性更强,DocHub 通过 gzip,将 svg 文件压缩,一般情况下,能减少70%的文件大小,比如200kb的 svg,gzip 压缩后,只有60kb左右的大小。

使用 svg,大大提升了加载速度,优化了内容的阅读体验。

项目地址:

如果大家有与 Go 语言相关的开源项目,记得托管到 Gitee 上哦,我们会及时给予推荐。最后,如果你喜/欢以上提到的项目,别忘了分享给其他人哦!