专业的编程技术博客社区

网站首页 > 博客文章 正文

实用开源Go项目分享

baijin 2025-03-04 10:46:41 博客文章 9 ℃ 0 评论

大家好呀,我是yangyang.今天带来一期开源Go语言项目分享.

dagger(star 10k)

介绍

Dagger (https://docs.dagger.io/)是一款工具,可让您用现代 API 和跨语言脚本引擎取代软件项目中的手工脚本。

  • 将项目的所有任务和工作流程封装为简单的函数,并用您选择的编程语言编写
  • Dagger 将你的函数打包成自定义 GraphQL API
  • 通过 CLI、语言解释器或自定义 HTTP 客户端运行函数
  • 将函数打包成模块,以便在下一个项目中重复使用或与社区共享
  • 在 Daggerverse 中搜索现有模块,并将它们导入到你的模块中。所有 Dagger 模块均可跨语言重复使用彼此的函数。

适合群体?

  • 你的团队的“指定开发人员”,希望用更强大的东西取代一堆手工脚本。
  • 编写自定义工具的平台工程师,其目标是跨组织孤岛统一应用程序交付。
  • 云原生开发者倡导者或解决方案工程师,希望在短时间内演示复杂的集成。
  • 对开发
  • 降低复杂性:即使是复杂的构建也可以表示为一些简单的函数。
  • 不再需要“推动和祈祷”:CI 能做的一切,您本地的开发环境也能做。
  • 母语的好处:使用相同的编程语言来开发您的应用程序及其交付工具。
  • 新开发人员轻松入职:如果您可以构建、测试和部署,他们也可以。
  • 默认缓存:Dagger 缓存所有内容。预计速度可提高 2 倍到 10 倍。
  • 跨团队协作:重用另一个团队的工作流程,而无需了解他们的堆栈。
  • 对平台
  • 减少 CI 锁定:Dagger 功能在所有主要 CI 平台上运行 - 无需专有 DSL。
  • 消除瓶颈:让应用程序团队编写自己的函数。通过为他们提供可重用组件库来实现标准化。
  • 通过更快的 CI 运行节省时间和金钱:由于缓存和并发性,“Daggerized”CI 管道的运行速度通常快 2 倍到 10 倍。这意味着开发人员在等待 CI 上浪费的时间更少,并且在 CI 计算上花费的钱也更少。
  • 从可行的平台策略中受益:开发团队需要灵活性,而您需要控制力。 Dagger 为您提供了一种协调两者的方法,以增量方式利用您已有的堆栈。

架构设计


安装

  1. mac
  1. linux


  1. window




katana(star 8.4k)

介绍

新一代爬虫框架,Katana 是一个专注于自动化执行的快速爬虫 提供无头和非无头爬行的管道。

  • 快速且完全可配置的网络抓取
  • 标准和无头模式
  • 主动和被动模式
  • JavaScript 解析/抓取
  • 可定制的自动表单填充
  • 范围控制--预配置字段/Regex
  • 可定制输出--预配置字段
  • 输入:STDIN、URL 和 LIST
  • 输出:STDOUT、FILE 和 JSON

安装

atana 需要 Go 1.18 才能成功安装。要安装,只需运行以下命令或从发布页面下载预编译的二进制文件(
https://github.com/projectdiscovery/katana/releases)。

go install github.com/projectdiscovery/katana/cmd/katana@latest

Docker

docker pull projectdiscovery/katana:latest
docker run projectdiscovery/katana:latest -u https://tesla.com
docker run projectdiscovery/katana:latest -u https://tesla.com -system-chrome -headless

Ubuntu

sudo apt update
sudo snap refresh
sudo apt install zip curl wget git
sudo snap install golang --classic
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - 
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
sudo apt update 
sudo apt install google-chrome-stable
go install github.com/projectdiscovery/katana/cmd/katana@latest

使用

katana -h查看命令帮助

输入
katana 需要抓取 url 或端点,并接受单个或多个输入。

使用 -u 选项可以提供输入 URL,使用逗号分隔输入可以提供多个值,使用 -list 选项同样支持文件输入,此外还支持管道输入(stdin)。

URL 输入
katana -u https://tesla.com
多个 URL 输入(逗号分隔)
katana -u https://tesla.com,https://google.com
列表输入
$ cat url_list.txt

https://tesla.com
https://google.com
katana -list url_list.txt
STDIN (管道)输入
echo https://tesla.com | katana
cat domains | httpx | katana
运行 katana 的示例

katana -u https://youtube.com

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表