《HelloGitHub》第 107 期

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!

简介

HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。

github.com/521xueweihan/HelloGitHub

这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣!


以下为本期内容|每个月 28 号更新

C 项目

1、earlyoom:防止 OOM 的 Linux 守护进程。这是一款专为 Linux 设计的 OOM 守护进程,旨在弥补内核自带的 OOM Killer 仅在内存耗尽时才触发的不足。它能够提早干预(默认 10%),自动终止占用内存最多的进程,从而防止系统因内存耗尽而陷入卡死的状态。

地址:github.com/rfjakob/earlyoom

2、sqlite-vec:SQLite 的向量搜索扩展。这是一个体积小、零依赖的向量搜索 SQLite 扩展,为 SQLite 数据库添加了插入和查询浮点、整数和二进制向量的能力。它可以运行在任何支持 SQLite 的平台上,包括 Linux、macOS、Windows、浏览器(WASM)、树莓派等。

地址:github.com/asg017/sqlite-vec

C# 项目

3、Flyby11:Windows 11 升级助手。这是一款开源的 Windows 11 升级辅助工具。它能够帮助用户绕过硬件限制,将 Windows 11 最新版本,安装到官方不支持的旧设备上。

地址:github.com/builtbybel/Flyby11

4、ImageGlass:干净的 Windows 图像查看器。这是一款功能丰富的图像查看工具,专注于为 Windows 用户提供流畅的图像浏览体验。它拥有简洁直观的界面,支持 80 多种图像格式和多语言,以及无损压缩、调整大小等实用的图像编辑功能。

地址:github.com/d2phap/ImageGlass

5、MahApps.Metro:优雅的 WPF UI 框架。该项目是专为 WPF 应用程序设计的 UI 框架,旨在帮助开发者快速构建具有现代感、优雅的桌面用户界面。它内置丰富的控件、图标、主题,以及便捷的 Visual Studio 模版。

地址:github.com/MahApps/MahApps.Metro

C++ 项目

6、champ:开源的四足机器人控制开发框架。这是一个开源的四足机器人开发框架,可用于构建四足机器人和开发控制算法。它提供轻量级的头文件库和丰富的 ROS 工具包,支持完全自主导航、Gazebo 仿真环境以及多种硬件平台,为开发者提供了完整的四足机器人控制框架和开发工具。

地址:github.com/chvmp/champ

7、cling:交互式的 C++ 开发环境。这是一个基于 LLVM 和 Clang 构建的交互式 C++ 解释器。它提供了直观的交互式命令行界面,支持即时编写、执行和调试 C++ 代码,并可以与 Jupyter 集成。来自 @chenxu 的分享

地址:github.com/root-project/cling

8、MusicPlayer2:多功能的 Windows 音乐播放器。该项目是一款由 C++ 编写的简约、小巧、多功能的 Windows 本地音乐播放器,支持常见音频格式,并提供歌词显示、卡拉 OK 模式、歌词编辑、专辑封面展示、频谱分析和音效调节等功能。来自 @wyf9 的分享

地址:github.com/zhongyang219/MusicPlayer2

Go 项目

9、codeforces-go:Go 语言的算法竞赛模版。该项目是由灵茶山艾府创建的一个算法竞赛模板。它以 Go 语言为基础,提供了全面且系统的算法模板集合,涵盖从基础数据结构到高级算法的多个领域。

地址:github.com/EndlessCheng/codeforces-go

10、goja:Go 语言实现的 JavaScript 引擎。该项目是用纯 Go 语言实现的高性能 JavaScript 引擎,让开发者能够在 Go 环境下轻松执行 JavaScript 代码。它支持运行 Babel 和 TypeScript 编译器等 ES5 编写的东西,并兼容大部分 ES6 功能。

vm := goja.New()
v, err := vm.RunString("2 + 2")
if err != nil {
    panic(err)
}
if num := v.Export().(int64); num != 4 {
    panic(num)
}

地址:github.com/dop251/goja

11、ipatool:轻松下载 IPA 文件的工具。这是一款能够帮助用户在 iOS App Store 中搜索并下载 .ipa 文件的命令行工具,支持 Windows、Linux 和 macOS 平台。

地址:github.com/majd/ipatool

12、pspy:无需 Root 权限实时监控 Linux 进程的工具。这是一款无需 root 权限即可实时监控 Linux 系统中所有用户运行的命令、计划任务等进程活动。它通过遍历 /proc 收集进程信息和监听文件系统事件,能够实时捕捉新启动的进程和短命进程,适用于 CTF 竞赛、渗透测试和安全审计等场景。

地址:github.com/DominicBreuker/pspy

13、wego:快速查看天气预报的命令行工具。这是一款用 Go 语言开发的命令行查看天气的工具,可以帮助用户快速获取未来几天的天气信息,包括温度、风速、风向、降水量等。

地址:github.com/schachmat/wego

Java 项目

14、logisim-evolution:开源的数字电路设计与模拟软件。这是一款 Java 开发的数字逻辑电路设计与模拟工具,适用于教育和开发场景。它提供直观的界面,支持实时模拟电路行为、信号时序图、硬件集成、VHDL、常用组件和多语言。

地址:github.com/logisim-evolution/logisim-evolution

15、synthea:模拟患者人群的开源工具。这是一款开源的合成患者数据和健康记录的模拟器,支持生成病历、症状、诊断、药物、疫苗接种记录等多种医疗信息数据,适用于临床研究、流行病学研究等场景。

地址:github.com/synthetichealth/synthea

JavaScript 项目

16、canvas-confetti:五彩纸屑动画效果的 JavaScript 库。这是一个轻量级、高性能的五彩纸屑动画库,让你轻松地在网页中添加炫酷的动态特效。它基于 HTML5 Canvas 技术实现动画渲染,支持粒子数量、发射角度、速度、重力、颜色等多种参数,以及自定义形状和文本动画,适用于节日庆祝、游戏奖励效果等场景。

地址:github.com/catdad/canvas-confetti

17、color-thief:从图片中提取调色板的 JavaScript 库。这是一个轻松获取图片主要颜色或颜色组合的 JavaScript 库,适用于需要动态提取图片颜色的场景。

地址:github.com/lokesh/color-thief

18、newsnow:全开源的实时资讯平台。这是一款高颜值的实时新闻与热榜网站,相比传统热榜产品更加注重实时新闻。它前后端完全开源、部署简单,可轻松托管到 Cloudflare Pages 或 Vercel 等平台。来自 @Ou 的分享

地址:github.com/ourongxing/newsnow

19、soybean-admin:清新优雅的 Vue3 管理后台模板。该项目是采用 Vue3、Vite5、Pinia 和 UnoCSS 等技术栈构建的管理后台模板,它不仅拥有漂亮的界面,还有清晰的项目结构、严格的类型检查、统一的代码规范,内置丰富的主题配置、国际化方案、页面组件,并且支持移动端。

地址:github.com/soybeanjs/soybean-admin

20、web-check:全面的网站检查工具。这是一款网站检查工具,可以显示指定网站更多的信息。比如:DNS 记录、服务器位置、站点性能、SSL 证书、性能、SEO 等信息,可用于分析网站的服务器架构、查看安全漏洞等场景。来自 @Zhiqiang Li 的分享

地址:github.com/Lissy93/web-check

Kotlin 项目

21、Pluvia:Android 上的非官方 Steam 客户端。这是一款专为 Android 设计的轻量级、非官方 Steam 客户端,可以在移动设备上浏览、下载并运行无 DRM(数字版权管理)的 Steam 游戏,支持 Steam 云存档和好友列表等功能。

地址:github.com/oxters168/Pluvia

Python 项目

22、input-remapper:让 Linux 用户轻松改变按键行为的工具。该项目是专为 Linux 系统设计的工具,能够轻松改变输入设备的行为。它支持多种输入设备,包括键盘、鼠标、游戏手柄和操作杆。

地址:github.com/sezanzeb/input-remapper

23、kitty:GPU 加速的终端模拟器。这是一款基于 GPU 加速的跨平台终端模拟器,专为开发者提供流畅的命令行操作体验。它通过 OpenGL 渲染技术,显著提升渲染速度,相较传统终端更快,同时支持自定义字体、多窗口、多标签和高分辨率显示等功能。

地址:github.com/kovidgoyal/kitty

24、manga-image-translator:一键翻译图片内文字的工具。这是一个用于识别并翻译图片内文字的 Python 项目,支持日语、中文、英语和韩语等多种语言,适用于翻译漫画、插图中的文字内容。

地址:github.com/zyddnys/manga-image-translator

25、piku:极简的 PaaS 工具。这是一款轻量级的 PaaS 工具,用户只需通过简单的 git push 命令即可将应用部署到服务器。它仅有 1500 行 Python 代码,能够在低配置设备(如 Raspberry Pi)上运行,支持 Python、Node.js 和 Java 等多种编程语言,以及多应用部署、免费 SSL 证书等功能。

地址:github.com/piku/piku

26、posting:炫酷的终端 API 调试工具。这是一款现代化的终端 HTTP 客户端,堪称 Postman 和 Insomnia 的命令行版。它为开发者提供了便捷的 TUI 使用体验,并优化了键盘操作流程,支持自动补全、语法高亮、Vim 键绑定和请求存储在本地文件(YAML)等功能。

地址:github.com/darrenburns/posting

Rust 项目

27、neovide:用 Rust 打造的 Neovim 客户端。这是一款为 Neovim 编辑器(Vim 的重构版本)设计的跨平台桌面客户端。它在保留 Nvim 核心功能的基础上,提供了现代化的图形界面,带来更友好的使用体验。

地址:github.com/neovide/neovide

28、Nping:Rust 的多地址并发 Ping 工具。这是一个用 Rust 开发的可视化 Ping 工具,支持同时对多个目标地址并发 Ping 操作。它提供了分区折线图和表格视图等可视化展示,支持实时动态展示延迟、丢包率等性能指标,同时兼容 IPv4 和 IPv6 网络环境。来自 @韩数 的分享

地址:github.com/hanshuaikang/Nping

29、simple-http-server:Rust 的轻量级 HTTP(s) 服务器。该项目是用 Rust 编写的轻量级 HTTP(s) 服务器,可快速提供简单易用的静态文件服务。它拥有开箱即用、跨平台的特点,支持 HTTPS、认证、CORS 配置、文件上传等功能。

地址:github.com/TheWaWaR/simple-http-server

Swift 项目

30、Cork:Homebrew 图形界面管理工具。该项是专为 Homebrew 设计的图形用户界面(GUI),旨在通过图形界面简化 Homebrew 的使用,让用户更轻松地安装、更新和卸载软件包。来自 @Micro·J 的分享

地址:github.com/buresdv/Cork

31、periphery:开源的 Swift 代码“清洁工”。该项目是用于检测和清理 Swift 项目中未使用代码的工具,支持与 Xcode、SwiftPM 和 Bazel 等构建系统集成,并提供灵活的配置选项,帮助开发者高效清理冗余代码,优化项目质量。

地址:github.com/peripheryapp/periphery

人工智能

32、ai-by-hand-excel:用 Excel 手搓各种 AI 算法和模型。该项目是通过 Excel 的形式实现并演示人工智能与深度学习的核心算法和概念,让初学者可以动手操作并理解 AI 的运行原理,包括矩阵乘法、MLP、RNN、Transformer、ResNet 等,以独特且浅显易懂的形式,降低了 AI 学习的门槛。

地址:github.com/ImagineAILab/ai-by-hand-excel

33、AstrBot:易上手的多平台 LLM 聊天机器人。该项目是基于 Python 构建的 LLM 聊天机器人及开发框架,支持集成多种消息平台和大语言模型。它提供了可视化管理面板和灵活的插件扩展机制,支持速率限制、白名单、关键词过滤、图片理解和语音转文字等功能。来自 @大痴小乙zt2kV 的分享

地址:github.com/Soulter/AstrBot

34、cognita:开源的低代码 RAG 平台。这是一个基于 LangChain 和 LlamaIndex 构建的 RAG 平台,支持 Docker 一键部署。它拥有简单易用的 Web 界面,提供数据上传、模型管理、联网和提示词模版等功能,用户无需写代码就能轻松构建、调试和发布 RAG 应用。

8034086f763296f2e643f16ae1c3b30f.gif

地址:github.com/truefoundry/cognita

35、lm-evaluation-harness:开源的 LLM 评测框架。这是一个是用于评估大型语言模型的框架,能够测试模型在多种任务中的表现。它提供了超过 60 个学术基准测试,支持多种模型框架、本地模型、云服务(如 OpenAI)、硬件加速,以及自定义任务等功能。

地址:github.com/EleutherAI/lm-evaluation-harness

36、watermark-removal:去除图片水印的 AI 工具。这是一款基于 TensorFlow 的开源图像修复工具,仅需一条命令即可去除图片中的水印。

地址:github.com/zuruoke/watermark-removal

其它

37、ESP-Drone:低成本的开源无人机。这是一个基于 ESP32 的开源无人机项目,帮你制作一款低成本、可手机控制的小型无人机。

f7a6a841d2471647d3dbe0392b217aec.gif

地址:github.com/Circuit-Digest/ESP-Drone

38、hexo-theme-A4:纸张质感的 Hexo 博客主题。这是一个简洁的 Hexo 博客主题,设计简约就像一张 A4 纸,让读者专注于阅读,作者专注于写作。来自 @nino 的分享

地址:github.com/HiNinoJay/hexo-theme-A4

39、LazyCat-Bookmark-Cleaner:一键整理浏览器书签的工具。这是一款开源的浏览器书签管理插件,帮你轻松整理浏览器书签。它无需联网、保护隐私,支持中英双语、自动检测无效书签、重复书签和空文件夹,还可以生成书签使用报告。

地址:github.com/Alanrk/LazyCat-Bookmark-Cleaner

40、linuxpdf:运行在 PDF 文件里的 Linux 系统。该项目基于 RISC-V 模拟器 TinyEMU 将 Linux 系统嵌入到一个 PDF 文件中运行。用户可以在浏览器中打开这个 PDF 文件,启动 Linux 系统进行交互。

地址:github.com/ading2210/linuxpdf

41、moodiary:一款 Flutter 构建的开源跨平台日记应用。这是一款完全开源、颜值在线的日记软件。它支持多种形式的文本编辑和多媒体附件,同时提供密码保护、生物识别解锁、足迹地图、智能助手、同步与备份等功能,兼容 Android、iOS、Windows、macOS 和 Linux 系统。来自 @云烨 的分享

地址:github.com/ZhuJHua/moodiary

42、Xiaomi-BootLoader-Questionnaire:小米手机解锁刷机资格的答题测试。该项目是小米 BootLoader 解锁的答题库,起因是小米手机在获取 BootLoader 解锁资格前,需要先通过答题才能申请。

地址:github.com/MlgmXyysd/Xiaomi-BootLoader-Questionnaire

开源书籍

43、ai-self-coding-book:《方糖 AI 自编程入门》。这本书是作者结合实践经验编写的 AI 自编程入门教程,旨在帮助非程序员也能借助 AI 开发出功能复杂、质量过硬的程序,而不仅仅局限于贪吃蛇这样的玩具。

地址:github.com/easychen/ai-self-coding-book

最后

感谢参与分享开源项目的小伙伴们,欢迎更多的开源爱好者来 HelloGitHub 自荐/推荐开源项目。

希望本期内容有你感兴趣的开源项目,兴趣是最好的老师,它能点燃你对开源的热情、勇敢地迈出第一步,随时欢迎你加入开源的大家庭!如果还没看过瘾,点击阅读 往期内容。

- END -

关注「HelloGitHub」第一时间收到更新


点击阅读原文可按照编程语言浏览项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/980155.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

和鲸科技推出人工智能通识课程解决方案,助力AI人才培养

2025年2月,教育部副部长吴岩应港澳特区政府邀请,率团赴港澳宣讲《教育强国建设规划纲要 (2024—2035 年)》。在港澳期间,吴岩阐释了教育强国目标的任务,并与特区政府官员交流推进人工智能人才培养的办法。这一系列行动体现出人工智…

2025 最新版鸿蒙 HarmonyOS 开发工具安装使用指南

为保证 DevEco Studio 正常运行,建议电脑配置满足如下要求: Windows 系统 操作系统:Windows10 64 位、Windows11 64 位内存:16GB 及以上硬盘:100GB 及以上分辨率:1280*800 像素及以上 macOS 系统 操作系统…

not support ClassForName

com.alibaba.fastjson2.JSONException: not support ClassForName : java.lang.String, you can config JSONReader.Feature.SupportClassForName 官方说明中提到默认关闭, 可通过配置开启 JSON.config(JSONReader.Feature.SupportClassForName);

面试常问的压力测试问题

性能测试作为软件开发中的关键环节,确保系统在高负载下仍能高效运行。压力测试作为性能测试的重要类型,旨在通过施加超出正常负载的压力,观察系统在极端条件下的表现。面试中,相关问题常被问及,包括定义、重要性、与负…

《白帽子讲 Web 安全》之移动 Web 安全

目录 摘要 一、WebView 简介 二、WebView 对外暴露 WebView 对外暴露的接口风险 三、通用型 XSS - Universal XSS 介绍 四、WebView 跨域访问 五、与本地代码交互 js 5.1接口暴露风险: 5.2漏洞利用: 5.3JavaScript 与 Native 代码通信 六、Chr…

MySQL-基础篇学习总结(2025-03-02)

几个月前学习了MySQL,后来忙着准备毕业论文的事情,好几个月没有回顾,最近又开始看这块内容准备春招了,所以决定把学习过的东西做一下总结。 1. MySQL概述 这部分内容介绍数据库相关概念及MySQL数据库的介绍、下载、安装、启动及连接。具体的…

AUTOSAR简介

目录 核心目标 架构分层 核心优势 经典AUTOSAR vs 自适应AUTOSAR 典型应用场景 挑战与未来发展 相关企业介绍 1. 传统汽车电子供应商(Tier1) 2. 软件服务商与工具链企业 3. 新兴科技公司与自动驾驶企业 4. 基础软件与工具链企业 5. 高校与研…

vulnhub靶场之【digitalworld.local系列】的bravery靶机

前言 靶机:digitalworld.local-bravery,IP地址为192.168.10.8 攻击:kali,IP地址为192.168.10.6 kali采用VMware虚拟机,靶机采用virtualbox虚拟机,网卡都为桥接模式 这里官方给的有两种方式,…

探索AIGC的核心原理与应用前景

随着人工智能的迅猛发展,AIGC(Artificial Intelligence Generated Content)作为一个新兴领域,逐渐引起了广泛关注。它不仅重新定义了创作的方式,还为各行各业带来了诸多变革。本文将深入探讨AIGC的基本原理、技术框架以…

解码中国AI双雄突围:DeepSeek破壁与英伟达反攻背后的算力暗战

一、算力困局下的中国突围术 2024年夏季的科技界暗流涌动:北京中关村的服务器机房里,寒武纪最新MLU300X芯片正以每秒120万亿次运算支撑着自动驾驶系统的实时决策;上海张江的AI实验室中,DeepSeek团队通过神经元分块技术将模型参数压…

C++ Qt OpenGL渲染FFmpeg解码后的视频

本篇博客介绍使用OpenGL渲染FFmpeg解码后的视频,涉及到QOpenGLWidget、QOpenGLFunctions、OpenGL shader以及纹理相关,播放效果如下: 开发环境:Win11 C++ Qt6.8.1、FFmpeg4.0、x64   注意:Qt版本不同时,Qt OpenGL API及用法可能差别比较大,FFmpeg版本不同时API调用可能…

【Linux】进程退出 | 初始缓冲区 | 子进程回收(六)

目录 前言: 一、main函数的返回值 二、退出码有什么用? 三、perror/strerror/erron 四、erron变量 五、exit函数 六、_exit变量 七、初始缓冲区 八、wait函数和folk函数的返回值 九、父进程获取子进程退出信息waitpid函数 1.返回值 2.第一个…

【vscode-解决方案】vscode 无法登录远程服务器的两种解决办法

解决方案一: 查找原因 命令 ps ajx | grep vscode 可能会看到一下这堆信息(如果没有大概率不是这个原因导致) 这堆信息的含义:当你使用 vscode 远程登录服务器时,我们远程机器服务端要给你启动一个叫做 vscode serv…

制氧机分子筛的材质选择与解析‌

制氧机中的分子筛,是一种可以在分子水平上筛选物质的多孔材料。这种材料的主要成分是人工合成的晶体铝硅酸盐,也被称为沸石材料。 二、常用分子筛材质分析 1. 沸石分子筛 沸石分子筛是目前制氧机中最常用的材质之一。它具有以下显著优点: ‌吸…

如何把网络ip改为动态:全面指南

在数字化时代,网络IP地址作为设备在网络中的唯一标识,扮演着至关重要的角色。随着网络环境的不断变化,静态IP地址的局限性逐渐显现,而动态IP地址则因其灵活性和安全性受到越来越多用户的青睐。那么,如何把网络IP改为动…

如何在docker上部署java服务

目录结构 首先 Dockerfile FROM bladex/alpine-java:openjdk17_cn_slimMAINTAINER admin@rsz.comENV TZ=Asia/ShanghaiRUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneRUN mkdir -p /xhWORKDIR /xhEXPOSE 8106ADD ./blade-system.…

进行性核上性麻痹患者的生活护理指南

进行性核上性麻痹是一种神经系统退行性疾病,合理的生活护理能有效改善症状,提高生活质量。 居家环境要安全。移除地面杂物,铺设防滑垫,安装扶手,降低跌倒风险。在浴室、厨房等湿滑区域要特别加强防护措施。建议在床边、…

基于Springboot博物馆文博资源库系统【附源码】

基于Springboot博物馆文博资源库系统 效果如下: 系统登陆页面 文物信息管理页面 流动申请页面 文物报修页面 个人信息页面 文物保修管理页面 系统主页面 文物类型页面 研究背景 随着信息技术的飞速发展,博物馆文博资源的管理与利用日益受到重视。传统…

在Linux环境下利用MTCNN进行人脸检测(基于ncnn架构)

概述 本文将详细介绍如何在Linux环境下部署MTCNN模型进行人脸检测,并使用NCNN框架进行推理。 1. CMake的安装与配置 下载CMake源码 前往CMake官网下载,找到适合您系统的最新版本tar.gz文件链接,或者直接通过wget下载:CMake官方…

Ruby 数组(Array)

一、参数 符号赋值数组对象 时,是指向同一个数组对象 eg: irb(main):019:0> a [] //定义一个数组 > [] irb(main):020:0> b a //将变量a赋值给b,a和b指向同个内存 > [] irb(main):021:0> a.object_id //a的对象id > 25204596 …