「Github一周热点41期」eBPF的捕获工具、本地版AWS、Devops脚本等5个项目

文摘   科技   2024-09-22 15:52   北京  

点击上方蓝字关注我们

IT 咖啡馆,探索无限可能!

恭喜你发现了这个宝藏,这里你会发现优质的开源项目、IT知识和有趣的内容。

 

GitHub 一周热点汇总第41期(2024/09/15-09/21),本期内容包括基于eBPF的捕获工具、DevOps脚本集合、CRM工具、数据库管理TUI和本地运行AWS,一起来看具体内容吧。


eCapture


  • 项目名称:ecapture - eBPF捕获工具

  • GitHub 链接:https://github.com/gojue/ecapture

  • 上周 Star 数:3100+

eCapture是一款基于 eBPF 技术实现的用户态数据捕获工具,代码完全开源,采用 Golang 编写,无需 CA 证书即可捕获 SSL/TLS 通讯明文。

前段时间eCapture的作者在社媒分享了自己遇到的迷惑行为,一个哥们做了一个类似的闭源产品,然后建议作者把开源项目关了。这直白的在说,你的开源项目影响了我赚钱,还真的是有点活久见。很建议微软尽快把他招过去,可以派去给Linux施压。

说回eCapture,你可以将它用在多种场景,比如

  1. 运维监控、故障排查和抽样分析中对tls/ssl明文数据的捕获

  2. 运维安全审计,如bash命令审计

  3. 数据库审计场景,比如MySQL的审计

eBPF 全称extended Berkeley Packet Filter,可以对内核的静态跟踪点,动态跟踪点,设置钩子,然后当内核执行到这些点的时候,会自动调用我们设置好的钩子,这样我们就可以进行数据监控、网络流量转发,甚至修改数据包。

eCapture就基于eBPF,在用户态的加密解密函数中下钩子。

eCapture 工具包含 8 个模块,分别支持 OpenSSL、GnuTLS、NSPR、BoringSSL 和 GoTLS 等 TLS/SSL 加密库的明文捕获。此外,它还有支持 Bash、MySQL 和 PostgreSQL 应用程序进行审计的模块。你可以下载二进制文件或通过Docker启动,之后就可以开始使用了。

 


DevOps-Bash-tools


  • 项目名称:DevOps-Bash-tools - DevOps脚本集合

  • GitHub 链接:https://github.com/HariSekhon/DevOps-Bash-tools

  • 上周 Star 数:1000+

本项目包含了1000 多个 DevOps Shell 脚本和高级 Bash 环境。众所周知,在 DevOps 和运维领域,自动化脚本的应用是不可或缺的。本项目的目的就是帮助运维工程师简化日常工作,将日常任务通过脚本来自动化进行。

如果想要通过自动化的方式一键安装,那可以使用预制脚本,

curl -L <https://git.io/bash-bootstrap> | sh

这样会自动帮你配置bash_profile,为所有脚本安装依赖包、安装python和AWS cli,另外还会把git、vim、Ansible、postgresql等的配置做好链接。

这里可以看到项目的内容包含的脚本有操作系统层面、云服务、K8s、Docker、数据库、大数据、CICD等等很多。涵盖了整个DevOps体系中的各种技术环。

每个类目会有一个自己的文件夹,里面包含了内容,以这个AWS的为例子,可以看到这里有很多,像设置账单预警、创建credential、配置cloudwatch等,进入文件可以看到具体内容。如果不熟悉shell脚本可以边查边看,当然作为运维的话,应该都比较熟悉了。


laravel-crm


  • 项目名称:laravel-crm - CRM工具

  • GitHub 链接:https://github.com/krayin/laravel-crm

  • 上周 Star 数:900+

这个项目的github仓库是laravel-crm,产品的名字叫Krayin CRM,它是为中小型企业和企业提供免费和开源 Laravel CRM 解决方案,实现完整的客户生命周期管理。

对于使用者来说,它包含帮你快速扩展电子商务业务的功能,比如:

  • 描述性且简单的管理面板。

  • 管理仪表板。

  • 自定义属性。

  • 基于模块化方法构建。

  • 通过 Sendgrid 解析电子邮件。


对于开发者,Krayin CRM基于一些最热门的开源技术构建,如Laravel 和Vue.js,这对开发者非常友好。

如果你想自己安装Krayin CRM ,那需要满足以下的系统要求:

  • 服务器:Apache 2 或 NGINX。

  • RAM:3 GB 或更高。

  • PHP:8.1 或更高版本

  • 对于 MySQL 用户:5.7.23 或更高版本。

  • 对于 MariaDB 用户:10.2.7 或更高版本。

  • nodejs:8.11.3 LTS 或更高版本。

  • Composer:2.5 或更高版本

之后执行

composer create-project krayin/laravel-crm

  • 在根目录中找到.env文件并将APP_URL参数更改为您的域。

  • 另外,在.env文件中配置邮件数据库参数。

php artisan krayin-crm:install

最后启动服务

php artisan route:clearphp artisan serve

Krayin CRM还支持很多扩展集成,比如集成WhatsApp,使商店管理员能够通过他们的 WhatsApp 号码生成潜在客户,还有VoIP集成,来拨打网络电话。

本项目主要还是面向海外市场,大家可以学习和参考为主,尤其是PHP的同学。




rainfrog


  • 项目名称:rainfrog - 数据库管理 TUI

  • GitHub 链接:https://github.com/achristmascarl/rainfrog

  • 上周 Star 数:800+

本项目是一个postgres 的数据库管理 TUI,所谓TUI也就是在终端里使用,它的目标是提供一个轻量级的、基于终端的 pgadmin/dbeaver 替代方案。

项目的作者提到将项目的名字叫做rainfrog 雨蛙,是源于一篇sciencedaily的文章,青蛙在大象足迹中寻找庇护所,作者应该也是想在postgres这个大象的脚印里能找到自己的庇护所。

rainfrog具备跨平台能力,支持的平台包括Mac、windows、Linux和安卓。可以通过类似 vim 的键绑定和鼠标控制实现高效导航,可以突出显示关键字和会话历史记录查询,支持快速复制数据、过滤表格和在不同schemas间切换,及快速查看表元数据和属性。

项目使用Rust开发,现在rust的热度确实上升很快,安装的话可以通过cargo来进行。

cargo install rainfrog

项目适合对postgres有轻度管理需要的人,比如偶尔看看数据、查询一下,还希望能够操作起来酷一点。同时项目比较小,对于资源紧张的朋友,也可以考虑。

最后rainfrog目前还处在测试阶段,它还在脚印里寻找庇护,所以使用时要多加小心。 


localstack


  • 项目名称:localstack - 本地运行AWS

  • GitHub 链接:https://github.com/localstack/localstack

  • 上周 Star 数:500+

如果你是一个云的开发者,你一定对于开发测试时的云费用很头疼,不花自己钱的当我没说。

LocalStack是一个云服务模拟器,可以在本地帮你模拟一个AWS环境,这对开发者来说真的是太爽了。只需要本地笔记本电脑上有Docker,就可以借助 LocalStack运行 AWS 应用程序或 Lambda,而无需连接到远程云提供商!

所以以下的场景你都可以考虑使用:

  • 开发云应用程序

  • 学习AWS及云计算知识

  • 测试,可以是功能测试、沙盒测试、混沌测试

  • 安全研究,就是你能想到的各种安全

如果你是一个云的开发者,你一定对于开发测试时的云费用很头疼,不花自己钱的当我没说。

LocalStack是一个云服务模拟器,可以在本地帮你模拟一个AWS环境,这对开发者来说真的是太爽了。只需要本地笔记本电脑上有Docker,就可以借助 LocalStack运行 AWS 应用程序或 Lambda,而无需连接到远程云提供商!

所以以下的场景你都可以考虑使用:

  • 开发云应用程序

  • 学习AWS及云计算知识

  • 测试,可以是功能测试、沙盒测试、混沌测试

  • 安全研究,就是你能想到的各种安全

开始使用 LocalStack 的最快方法是使用 LocalStack CLI。它使您能够直接通过命令行启动和管理 LocalStack Docker 容器。在继续操作之前,请确保您的机器已安装可运行的Docker环境。

比如最简单的可以直接通过brew 去安装,另外你可以选择下载二进制文件或者通过PIP来安装。

brew install localstack/tap/localstack-cli

安装完成后可以一键启动LocalStack

 localstack start -d

比如像要使用分布式消息队列服务 SQS,可以参考如下:

% awslocal sqs create-queue --queue-name sample-queue{    "QueueUrl": "<http://sqs.us-east-1.localhost.localstack.cloud:4566/000000000000/sample-queue>"}

如果你想使用 aws cli,那你需要安装**awslocal**,可以通过pip来直接安装,但是 aws cli v2目前不支持自动安装,因为没有pip包,所以你想使用V2,需要自己去手动搞定或者使用V1.

另外AWS服务实在是太多了,应该是有2000多个,LocalStack在文档中给出对各种服务的支持说明,可以自行查看。

如果你深度用过AWS,你一定知道IAM,想要配置和管理好IAM很麻烦,在本地开发测试可以忽略掉这些,其实真的很爽。





识别二维码关注我们
微信号- it-coffee
新浪微博-@IT-咖啡馆
头条号- IT咖啡馆

IT咖啡馆
开源项目、IT技能和有趣的事情
 最新文章