点击上方蓝字关注我们
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,你可以将它用在多种场景,比如
运维监控、故障排查和抽样分析中对tls/ssl明文数据的捕获
运维安全审计,如bash命令审计
数据库审计场景,比如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:clear
php 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很麻烦,在本地开发测试可以忽略掉这些,其实真的很爽。