每日Github探索:10个不容错过的开源项目

1. dnhkng/GlaDOS

GLaDOS性格核心是一个致力于构建一个真实版GLaDOS的项目,最初灵感源自Valve开发的Portal系列游戏中的AI。该项目旨在打造一个有感知力、互动的3D具体化GLaDOS,其关键步骤包括:训练GLaDOS语音生成器、生成引导至真实的“性格核心”的提示、为GLaDOS生成MemGPT中长期记忆、通过LLaVA赋予GLaDOS视觉能力、创建3D可打印部件和设计机械电子系统。

软件架构方面,系统采用低延迟平台,在600毫秒内对语音交互做出响应。通过不断记录数据,系统检测到语音后迅速将其转录,并将其传递给流媒体大语言模型,将流式文本按句子切分后传递给文本转语音系统,从而大幅降低延迟。

硬件系统基于伺服电机和步进电机,将提供可3D打印的STL文件来创建GLaDOS的身体。她将获得一套动作来表达自己,视觉系统将使她能够跟踪和转向人或感兴趣的事物。

该项目另一个目标是尽可能减少依赖性,以便其可以在受限硬件上运行。这意味着不使用PyTorch或其他大型程序包。为了充分理解系统,已删除大量重定向,这意味着提取和重写代码。例如,由于GLaDOS只说英语,因此已重写了espeak的包装,整个文本转语音子系统约为500 LOC,仅有3个依赖项:numpy、onnxruntime和sounddevice。

2. TheOfficialFloW/PPPwn

PPPwn 是 PlayStation 4 FW 11.00 以下版本的一个内核远程代码执行漏洞利用工具。它是一个漏洞利用概念验证,用于向 PlayStation 负责地报告 [CVE-2006-4304] (#)。

支持的版本有:

  • FW 9.00
  • FW 9.03/9.04
  • FW 9.50/9.60
  • FW 10.00/10.01
  • FW 10.50/10.70/10.71
  • FW 11.00

该漏洞利用工具将在你的 PS4 上打印 PPPwned,以此作为概念验证。为了启动 Mira 或类似的家用软件启动器,需要修改 stage2.bin 负载。

要求

  • 一台带有以太网端口的计算机
  • 以太网线
  • Linux 系统
    • 你可以使用 VirtualBox 创建一个 Linux 虚拟机,网络适配器设置为“桥接适配器”,以便在虚拟机中使用以太网端口。
  • Python3 和 gcc

使用指南

在你的计算机上克隆这个代码仓库:

git clone --recursive https://github.com/TheOfficialFloW/PPPwn

切换到克隆的仓库目录:

cd PPPwn

安装依赖项:

sudo pip install -r requirements.txt

编译负载:

make -C stage1 FW=1100 clean && make -C stage1 FW=1100
make -C stage2 FW=1100 clean && make -C stage2 FW=1100

对于其他固件版本(如 FW 9.00),请传递 FW=900

运行漏洞利用工具(参见 ifconfig 以查找正确的接口):

sudo python3 pppwn.py --interface=enp0s3 --fw=1100

对于其他固件版本(如 FW 9.00),请传递 --fw=900

在你的 PS4 上:

  • 进入“设置”,然后进入“网络”。
  • 选择“设置互联网连接”,并选择“使用 LAN 线缆”。
  • 选择“自定义”设置,并为“IP 地址设置”选择“PPPoE”。
  • 为“PPPoE 用户 ID”和“PPPoE 密码”输入任意内容。
  • 将“DNS 设置”和“MTU 设置”选择为“自动”。
  • 将“代理服务器”选择为“不使用”。
  • 单击“测试互联网连接”以与你的计算机通信。

如果漏洞利用失败或 PS4 崩溃,你可以跳过互联网设置,直接单击“测试互联网连接”。如果 pppwn.py 脚本卡在等待请求/响应,请中止它并在你的计算机上重新运行它,然后在你的 PS4 上单击“测试互联网连接”。

如果漏洞利用成功,你应该会看到类似于以下的输出,并且应该会在你的 PS4 上看到 无法连接到网络。 后面跟着 PPPwned

注意事项

对于 Mac Apple Silicon 用户(arm64/aarch64),该代码在 Apple Silicon 上无法编译,需要 AMD64 架构。使用 docker 有一个变通方法,它将构建所需的 bin 文件。将这个仓库克隆到你的 Mac 系统,然后从仓库文件夹运行 ./build-macarm.sh。这将为 PS4 FW 1100 构建二进制文件,并将必要的文件放入正确的文件夹。要为其他版本(如 900)构建二进制文件,请像这样运行命令./build-macarm.sh 900。构建完成后,将此文件夹结构复制到 Linux 虚拟机中,并按照上述说明执行。

3. freeCodeCamp/freeCodeCamp

freeCodeCamp.org,一个友好的社区,在这里你可以免费学习编程。由一个由捐赠者支持的 501(c)(3) 慈善机构运营,旨在帮助数百万忙碌的成年人转型为科技工作者。我们的社区已经帮助超过 40,000 人获得了他们的第一个开发人员工作。

我们的全栈网络开发和机器学习课程完全免费且可自定进度。我们有成千上万的互动编码挑战,以帮助你拓展技能。

freeCodeCamp.org 提供多种免费的开发者认证。每项认证都涉及创建 5 个必需的网络应用项目,以及数百个可选的编码挑战,以帮助你为这些项目做好准备。我们估计每位初学者编程人员获得每个认证大约需要 300 小时。

freeCodeCamp.org 课程中的 50 个项目中的每一个都有其自己的敏捷用户故事和自动化测试。这些可以帮助你逐步构建你的项目,并确保在提交之前已经满足所有用户故事。

一旦你获得认证,你将永远拥有它。你将始终可以通过 LinkedIn 或简历链接到它。当你的潜在雇主或自由职业客户单击该链接时,他们将看到一个针对你的经过验证的认证。

此内容的一个例外是,如果我们发现违反我们的学术诚信政策。当我们发现有人明确抄袭(提交他人的代码或项目为自己的代码或项目,而未注明出处)时,我们会像所有严格的教育机构应该做的那样——撤销他们的认证并禁止这些人。

以下是我们十二个核心认证:

  1. 响应式网络设计认证
  2. JavaScript 算法和数据结构认证
  3. 前端库认证
  4. 数据可视化认证
  5. 关系型数据库
  6. 后端开发和 API 认证
  7. 质量保证认证
  8. 使用 Python 进行科学计算认证
  9. 使用 Python 进行数据分析认证
  10. 信息安全认证
  11. 使用 Python 的机器学习认证
  12. 使用 Python 的大学代数

此代码在 freeCodeCamp.org 上实时运行。

4. fastfetch-cli/fastfetch

Fastfetch 是一款类似于 neofetch 的系统信息获取工具,它以更美观的方式显示这些信息。其特点为主要使用 C 语言编写,注重性能和可定制性。目前,Linux、Android、FreeBSD、MacOS 和 Windows 7 及更高版本均支持 Fastfetch。

Fastfetch 提供对系统信息进行丰富的自定义。它使用 JSONC(带注释的 JSON)进行配置,包括预制的配置文件,可供用户加载和修改。

此外,Fastfetch 还支持从源代码进行构建,可通过命令行参数生成配置文件。其模块支持包括所有系统信息模块,可通过命令行选项进行选择。

对于用户常见的问题,Fastfetch 提供了答疑解惑。例如,它解释了专注于提高性能的原因,并提供了针对特定系统信息显示不正确问题的解决方案

截至目前,Fastfetch 已获得 3416 个星标,在 GitHub 上拥有较高的活跃度。项目还提供 Wiki 指南,详细介绍了构建、配置和自定义方面的相关信息。

5. hydralauncher/hydra

Hydra 是一款游戏启动器,内置 BitTorrent 客户端和自管理重打包刮削器。该启动器采用 TypeScript(Electron)和 Python 编写,使用 libtorrent 处理种子下载系统。

Hydra 允许用户直接在启动器中搜索、下载和安装游戏,无需通过外部网站或文件共享平台。该启动器还提供高级功能,例如游戏库管理、自定义设置和在线游戏修复。

要使用 Hydra,用户需要安装 Node.js、Yarn、Python 3.9 和相应的依赖项。此外,还需要一个 SteamGridDB API 密钥来获取游戏图标。

Hydra 由一个活跃的开发团队维护,并且对开源社区开放。它拥有 3492 颗星,并获得 MIT 许可证。

6. TracecatHQ/tracecat

Tracecat 是一款开源自动化平台,专为安全团队设计。它提供了 Tines/Splunk SOAR 的功能,并融合了以下特点:

Tracecat 旨在简单但强大,让安全自动化对每个人都触手可及,尤其适用于人手不足的中小型团队。

SOAR(安全编排、自动化和响应)是指能够跨不同工具自动收集和响应警报的技术。尽管 Tracecat 是为安全而构建的,但它的工作流程自动化和案例管理系统适用于其他告警环境(例如站点可靠性工程、DevOps 和物理系统监控)。

Tracecat 的主要功能包括:

  • **工作流程:**可视化构建器、核心原语(Webhook、HTTP、if-else、发送电子邮件等)、AI 操作(标签、总结、丰富等)、秘密管理。
  • **案例管理:**SMAC(状态、恶意性、操作、上下文)、抑制、AI 辅助标记。
  • **事件日志:**无限日志存储、日志搜索、可视化检测规则。
  • **数据验证:**后端数据模型和输入/输出验证的 Pydantic V2、前端表单和输入/输出验证的 Zod。
  • **团队:**协作、租户。
  • **AI 基础设施:**RAG 矢量数据库、LLM 评估和安全性、自备 LLM。

Tracecat 是云无关的,可以在任何支持 Docker 的地方部署。目前处于公开 Alpha 阶段,任何人都可以注册体验,但可能会遇到一些限制。

Tracecat 非常重视安全性。任何安全问题均可通过电子邮件安全 security@tracecat.com 联系安全团队。

7. coollabsio/coolify

Coolify 是一款开源且可自托管的 Heroku/Netlify/Vercel 等云服务替代方案。它能帮助您在自己的硬件上管理服务器、应用程序和数据库,只需 SSH 连接即可。从 VPS、服务器到树莓派,您都可以管理。

Coolify 的宗旨是让您在自己的服务器上享受云服务的便捷。无需供应商锁定,所有应用程序/数据库等配置都保存在您的服务器上。因此,即使您决定停止使用 Coolify,您仍然可以管理您正在运行的资源。您只需失去自动化和所有功能即可。

如果您不想自己托管 Coolify,也可以使用付费的云版本。云版本的优势在于,您只需支付相同的价格就能获得 Coolify 服务器,同时还享有以下好处:

  • 高可用性
  • 免费电子邮件通知
  • 更好的支持
  • 减少您的维护工作

8. dylanaraps/neofetch

Neofetch 是一款外观美观、用户友好的命令行系统信息展示工具,用 Bash 3.2+ 编写。它以美学且赏心悦目的方式,呈现操作系统、软件和硬件信息。

Neofetch 的主要用途是用于系统屏幕截图,展示其他人想知道的信息。对于系统统计和诊断,有其他专门工具可以使用。

默认情况下,信息会与操作系统徽标一起显示。您还可以进一步配置 Neofetch,使用图像、自定义 ASCII 文件、壁纸或完全不显示。

通过使用命令行标记和配置文件,您可以进一步配置 Neofetch,选择要显示的内容或添加您自己的自定义内容。

Neofetch 支持近 150 种不同的操作系统,从 Linux 到 Windows,甚至包括 Minix、AIX 和 Haiku 等较晦涩的操作系统。如果您常用的操作系统不受支持,请提交问题,我们将添加支持。

9. ItzCrazyKns/Perplexica

Perplexica,一款基于 AI 的搜索引擎

Perplexica 是一款开源 AI 驱动的搜索工具,它深入互联网查找答案。它受 Perplexity AI 启发,是一种开源选择,不仅可以搜索网络,还可以理解您的问题。它使用高级机器学习算法,如相似性搜索和嵌入,来优化结果,并提供来源明确的清晰答案。

通过使用 SearxNG 保持最新且完全开放源代码,Perplexica 确保您始终获得最新信息,而不会损害您的隐私。

主要特点

  • **本地 LLM:**您可以使用 Ollama 等本地 LLM,如 Llama3 和 Mixtral。
  • 两种主要模式:
    • 协同驾驶模式(开发中):通过生成不同的查询来增强搜索,以找到更相关的互联网来源。它不只是使用 SearxNG 的上下文,而是访问最匹配的页面,并尝试直接从页面中找到与用户查询相关的来源。
    • 普通模式:处理您的查询并执行网络搜索。
  • **焦点模式:**专门的模式,可以更好地回答特定类型的问题。Perplexica 目前有 6 种焦点模式:
    • 全部模式:搜索整个网络以找到最佳结果。
      *写作助手模式:帮助完成不需要搜索网络的写作任务。
      *学术搜索模式:查找文章和论文,非常适合学术研究。
      *YouTube 搜索模式:根据搜索查询查找 YouTube 视频。
      *Wolfram Alpha 搜索模式:使用 Wolfram Alpha 回答需要计算或数据分析的查询。
      *Reddit 搜索模式:在 Reddit 上搜索与查询相关的讨论和观点。
  • **最新信息:**一些搜索工具可能会给您提供过时信息,因为他们使用爬虫程序抓取数据,将数据转换为嵌入并存储在索引中。与他们不同,Perplexica 使用元搜索引擎 SearxNG 获取结果并重新排列,从中获取最相关的来源,确保您始终在不进行每日数据更新的情况下获得最新信息。

还有更多功能,例如图像和视频搜索。一些拟议的功能将在即将推出的功能中提及。

安装和使用

安装 Perplexica 两种主要方式——通过 Docker 和不通过 Docker。强烈建议使用 Docker。有关详细的安装说明,请参阅 README。

支持我们

如果您发现 Perplexica 有用,请考虑在 GitHub 上给我们一颗星。这有助于更多人发现 Perplexica 并支持新功能的开发。您的支持不胜感激。

贡献

Perplexica 建立在人工智能和大型语言模型应该对每个人都易于使用的理念之上。如果您发现错误或有想法,请通过 GitHub Issues 分享。有关为 Perplexica 做出贡献的更多信息,您可以阅读 CONTRIBUTING.md 文件来了解有关 Perplexica 的更多信息以及如何为其做出贡献。

帮助和支持

如果您有任何疑问或反馈,请随时与我们联系。您可以在 GitHub 上创建 issue 或加入我们的 Discord 服务器。在那里,您可以与其他用户联系、分享您的体验和评论,并获得更个性化的帮助。点击此处加入 Discord 服务器。要讨论常规支持之外的事项,请随时在 Discord 上联系我,用户名为 itzcrazykns

感谢您探索 Perplexica,这是一个旨在增强您的搜索体验的 AI 驱动的搜索引擎。我们一直在努力改进 Perplexica 并扩展其功能。我们重视您的反馈和贡献,它们帮助我们让 Perplexica 变得更好。别忘了回来查看更新和新功能!

10. Orange-OpenSource/hurl

Hurl is a tool for running and testing HTTP requests defined in plain text YAML syntax. It can chain requests, capture values, and evaluate queries on headers and body responses.

Hurl is written in Rust and powered by libcurl, one of the most powerful and reliable file transfer libraries. Hurl is designed to be versatile and easy to use for both developers and DevOps engineers.

Key Features:

  • HTTP Request Definition in Plain Text: Hurl requests are defined in YAML, making them easy to read and write.
  • HTTP Request Chaining: Hurl allows you to chain multiple requests together, enabling complex test scenarios.
  • Value Capturing: Hurl can capture values from HTTP responses, which can be used in subsequent requests.
  • Response Assertion: Hurl provides强大的断言功能来验证HTTP响应,包括状态代码、标头和正文内容。
  • Test-Oriented Output: Hurl can be run in test mode, providing a concise summary of HTTP requests sent and assertions performed.

Benefits of Using Hurl:

  • Improved Test Coverage: Hurl helps ensure comprehensive testing of HTTP APIs by allowing developers to define complex test scenarios.
  • Enhanced Debugging: Hurl’s verbose output and debug logs provide valuable insights into HTTP request-response interactions.
  • Time Savings: Hurl automates HTTP testing, eliminating manual testing efforts and saving valuable time.

Getting Started:

To get started with Hurl, follow these steps:

  1. Install Hurl using your preferred package manager (e.g., Homebrew, apt, yum, etc.).
  2. Create a Hurl file (.hurl) to define your HTTP requests and assertions.
  3. Run Hurl from the command line to execute the requests and display the results.

Example:

GET https://example.com/api/users
HTTP 200
[Asserts]
jsonpath("$.users.length") == 10

This example Hurl file sends a GET request to the /api/users endpoint and asserts that the response body contains an array of 10 users.

Additional Resources:

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容