《HelloGitHub》第 110 期

兴趣是最好的老师,HelloGitHub 让你对开源感兴趣!

简介

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

github.com/521xueweihan/HelloGitHub

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


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

C 项目

1、Chroma:面向游戏开发的色盲检测工具。该项目是育碧官方开源的色盲检测工具,支持实时在游戏画面上叠加三种色盲滤镜,帮助开发者直观地看到色盲用户可能遇到的视觉障碍,从而及时调整游戏设计,提升游戏的可访问性。

地址:github.com/ubisoft/Chroma

C# 项目

2、clawPDF:开源的虚拟打印机工具。这是一款专为 Windows 系统设计的虚拟(网络)打印机工具,支持将任意文档导出为 PDF、PDF/A、图片、SVG、TXT 等多种格式。它不仅具备网络打印、文件合并、批量处理、密码保护等高级功能,还支持通过脚本实现自动化处理。

地址:github.com/clawsoftware/clawPDF

3、megacity-metro:基于 Unity 的大型多人游戏示例。该项目是 Unity 官方开源的大型多人射击类游戏示例,旨在展示如何利用 Unity 的 DOTS 技术和 Unity Gaming Services(UGS)构建高并发、多玩家的联网游戏,适合开发者学习、参考和二次开发。

地址:github.com/Unity-Technologies/megacity-metro

4、SmartSystemMenu:Windows 窗口菜单增强工具。这是一款用于扩展 Windows 系统窗口菜单功能的工具。它可以为所有窗口的系统菜单(即右键标题栏弹出的菜单)添加丰富且实用的自定义选项,如窗口置顶、调整透明度、改变窗口标题/图标、窗口对齐、跨屏移动、批量隐藏/最小化、窗口截图、剪贴板操作等。

地址:github.com/AlexanderPro/SmartSystemMenu

C++ 项目

5、EmptyEpsilon:多人协作式星舰模拟游戏。这是一款开源的多人星舰模拟游戏。玩家可通过 Windows、Linux 或 macOS 等不同终端联网合作,各自扮演舰长、驾驶员、工程师等不同岗位,实时协作共同操控一艘星舰,完成各种任务和挑战。游戏采用 C++ 开发,支持 Lua 脚本扩展,方便玩家创建个性化的游戏内容和任务场景。

地址:github.com/daid/EmptyEpsilon

6、jarkViewer:便捷的 Windows 图片浏览工具。这是一款简单高效的 Windows 看图软件,适用于日常图片浏览及专业摄影作品预览等多种场景。它操作方便,支持多种快捷键,例如按下 I 键可快速查看图片详细信息。还支持读取 AI 生成图像的提示词(如有)、自动记忆上次窗口的位置和大小等实用功能。来自 @JARK006 的分享

地址:github.com/jark006/jarkViewer

7、PlotJuggler:专业级时间序列数据可视化工具。这是一款开源的时间序列数据可视化工具,支持 CSV、ROS、ULog、MQTT 等多种数据格式及实时数据流。它拥有简单易用的界面,能够快速处理大量数据,适用于机器人、自动驾驶、物联网、实验科学等多种数据分析场景。

地址:github.com/facontidavide/PlotJuggler

CSS 项目

8、theme.park:自托管应用的主题集合。该项目为各种自托管 Web 应用提供统一且美观的主题和皮肤,支持 Nextcloud、Sonarr、Radarr、Jackett、Emby、Jellyfin 和 Home Assistant 等 50 多款应用。

地址:github.com/themepark-dev/theme.park

Go 项目

9、monibuca:一站式 Go 语言流媒体服务器开发框架。这是一款完全用 Go 语言编写的高性能、低延迟、模块化且易扩展的流媒体服务器框架。它采用模块化设计,可按需加载模块,支持录制与回放、分布式部署、Prometheus 监控,以及截图、转码、SEI 数据处理等媒体处理功能。来自 @星辰大海BGzEn 的分享

地址:github.com/langhuihui/monibuca

10、server:Go 语言实现的通知推送平台。这是一个简单、自托管、实时的消息推送服务,支持通过 REST API 发送消息,WebSocket 实时接收消息,并自带直观易用的 Web 界面,适用于消息推送、监控告警、个人通知等场景。来自 @千石 的分享

地址:github.com/gotify/server

11、sttr:用 Go 实现的字符串命令行工具。这是一款用于对字符串进行各种转换操作的命令行工具,支持多种编码、解码、哈希和格式化功能,适用于在终端环境下快速处理文本数据。来自 @Abhimanyu Sharm 的分享

// With input prompt
sttr// Direct input
sttr md5 "Hello World"// File input
sttr md5 file.text
sttr base64-encode image.jpg// Reading from different processor like cat, curl, printf etc..
echo"Hello World" | sttr md5
cat file.txt | sttr md5// Writing output to a file
sttr yaml-json file.yaml > file-output.json

地址:github.com/abhimanyu003/sttr

12、tview:Go 语言终端用户界面库。该项目是基于 Go 语言开发的终端用户界面(TUI)库,帮助开发者快速构建交互式终端应用。它提供了丰富的组件和灵活的布局系统,包括选择框、按钮、表格、树、表单、彩色文本、多行文本区域等。来自 @永_恒 的分享

package mainimport ("github.com/rivo/tview"
)func main() {box := tview.NewBox().SetBorder(true).SetTitle("Hello, world!")if err := tview.NewApplication().SetRoot(box, true).Run(); err != nil {panic(err)}
}

地址:github.com/rivo/tview

Java 项目

13、Android:Android 的卡券随身管家。这是一款开源免费的 Android 应用,专为管理和存储会员卡、优惠劵和票据信息而设计。它内置条形码扫描器,支持将各种实体卡片的条形码或二维码数字化,保存在手机中,从而无需携带实体卡片。来自 @ewiro 的分享

地址:github.com/CatimaLoyalty/Android

14、mousemaster:键盘控制鼠标的工具。这是一个 Java 编写的键盘控制鼠标工具,支持多种导航模式和多屏环境,让用户能够完全用键盘控制鼠标,实现无鼠标的高效操作。

地址:github.com/petoncle/mousemaster

JavaScript 项目

15、Abracadabra:古文风文本加密工具。这是一款兼具趣味性与安全性的文本加密工具,支持将任意明文加密为仿真古文或安全密文。它采用 AES-256 加密算法和三重转轮混淆技术,古文仿真加密功能参考《古文观止》《古文辞类纂》等古代典籍。来自 @SheepChef 的分享

地址:github.com/SheepChef/Abracadabra

16、aya:开箱即用的 Android 设备管理工具。这一款开源的 Android ADB 桌面客户端,提供图形化界面(GUI)以便用户更方便地管理和控制 Android 设备,支持屏幕镜像、文件管理、应用管理、进程监控、布局分析、CPU/内存/FPS 监控、交互式 shell 等功能。

地址:github.com/liriliri/aya

17、HomePage:炫酷的个人主页模板。这是一个美观易用的个人主页模板,拥有流体动画背景、响应式设计和丝滑的页面过渡效果,支持通过简单的配置文件自定义页面内容与样式,轻松打造自己的个性化主页。来自 @SimonAKing 的分享

地址:github.com/SimonAKing/HomePage

18、uilayouts:免费高质量 React 动效组件库。这是一个专注于创意设计的 React/Next.js 组件库,内含 100 多个基于 Tailwind CSS、Framer Motion 和 GSAP 等技术构建的免费且美观的 UI 组件。

地址:github.com/ui-layouts/uilayouts

19、youtube-music:纯净无广告的 YouTube Music 桌面应用。这是一款基于 Electron 的 YouTube Music 桌面客户端,开箱即用无需登录。它保留了 YouTube Music 的原生界面,并支持插件扩展,内置广告拦截、下载器、主题切换、音频处理等功能,适用于 Windows、macOS 和 Linux 平台。来自 @vladelaina 的分享

地址:github.com/th-ch/youtube-music

Kotlin 项目

20、OpenCalc:纯净的 Android 计算器。这是一款专为 Android 设计的开源计算器。它体积仅 2 MB、无需任何不必要权限,支持多主题、科学计算、历史记录、横竖屏切换和锁屏可用等功能。来自 @ewiro 的分享

地址:github.com/Darkempire78/OpenCalc

Python 项目

21、bilive:一站式 B 站直播录制与切片工具。这是一款 B 站直播录制工具,支持自动录制、切片、弹幕渲染与投稿。它速度快、占用少、硬件要求低,通过集成语音识别、视频理解、图像生成等模型,实现从录制、切片到上传的全流程自动化。来自 @John Howe 的分享

地址:github.com/timerring/bilive

22、FlareSolverr:绕过 CF 保护的代理服务器。该项目能够帮助开发者绕过 Cloudflare 和 DDoS-GUARD 防护。它通过在请求间设置代理服务,模拟 Chrome 无头浏览器完成挑战,可将真实页面的 HTML 和 Cookie 返回给调用方,从而绕过保护机制。来自 @红泥醅酒 的分享

地址:github.com/FlareSolverr/FlareSolverr

23、pympler:Python 内存分析工具。该项目是用于内存分析与监控的 Python 库,支持对象大小测量(asizeof)、实时内存监控(muppy)、生命周期分析等功能。

from pympler import asizeof
obj = [1, 2, (3, 4), 'text']
asizeof.asizeof(obj)  # 176
print(asizeof.asized(obj, detail=1).format())
[1, 2, (3, 4), 'text'] size=176 flat=48(3, 4) size=64 flat=32'text' size=32 flat=321 size=16 flat=162 size=16 flat=16

地址:github.com/pympler/pympler

24、python-mastery:高级 Python 编程教程。该项目是由 Python 社区知名专家 David Beazley (《Python Cookbook》作者)编写的高级 Python 编程课程,内容完全开源,涵盖生成器、协程、元编程、模块与包等,适合有一定 Python 基础的学习者。

地址:github.com/dabeaz-course/python-mastery

25、throttled-py:开箱即用的 Python 限流库。这是一款轻量且灵活的 Python 限流库,同步/异步皆可用。它支持多种限流算法,包括固定窗口、滑动窗口、令牌桶、漏桶和 GCRA,适配 Redis 存储后端,并提供函数、装饰器和上下文管理器等多种灵活用法。

from throttled import RateLimiterType, Throttled, rate_limiter, store, utilsthrottle = Throttled(# 📈 Use Token Bucket algorithmusing=RateLimiterType.TOKEN_BUCKET.value,# 🪣 Set quota: 1,000 tokens per second (limit), bucket size 1,000 (burst)quota=rate_limiter.per_sec(1_000, burst=1_000),# 📁 Use In-Memory storagestore=store.MemoryStore(),
)def call_api() -> bool:# 💧 Deduct 1 token for key="/ping"result = throttle.limit("/ping", cost=1)return result.limitedif __name__ == "__main__":# 💻 Python 3.12.10, Linux 5.4.119-1-tlinux4-0009.1, Arch: x86_64, Specs: 2C4G.# ✅ Total: 100000, 🕒 Latency: 0.0068 ms/op, 🚀 Throughput: 122513 req/s (--)# ❌ Denied: 98000 requestsbenchmark: utils.Benchmark = utils.Benchmark()denied_num: int = sum(benchmark.serial(call_api, 100_000))print(f"❌ Denied: {denied_num} requests")

地址:github.com/ZhuoZhuoCrayon/throttled-py

Rust 项目

26、dysk:更好用的 df 命令替代工具。该项目是基于 Rust 开发的查看 Linux 系统磁盘使用情况的工具,提供比 df 命令更直观的数据展示,支持自定义列显示、过滤、排序等功能。来自 @刘睿华 的分享

地址:github.com/Canop/dysk

27、edit:微软开源的终端文本编辑器。该项目是采用 Rust 开发的终端(TUI)文本编辑器,致敬经典的 MS-DOS Editor。它体积小、启动快、跨平台,并提供了类似 VSCode 的快捷键和交互体验,适用于简单的文本编辑场景。

地址:github.com/microsoft/edit

Swift 项目

28、InputSourcePro:macOS 输入法切换工具。这是一款方便的 macOS 输入法切换工具,可根据当前应用程序或浏览器访问的网站自动切换输入法。

地址:github.com/runjuu/InputSourcePro

人工智能

29、LivePortrait:让静态照片“活”起来。该项目能够通过一张照片快速生成高质量、生动的视频,尤其擅长捕捉和还原面部表情,支持人类和动物肖像的动画生成。

地址:github.com/KwaiVGI/LivePortrait

30、nndeploy:简单易用的多端 AI 推理部署框架。这是一款简单易用、高性能、支持多端的 AI 推理部署框架。它基于有向无环图设计,将前处理、推理和后处理抽象为图的节点,支持流水线并行、任务并行等优化方式。兼容 TensorRT、OpenVINO、MNN 等多种推理后端,适配主流文生图、大语言、检测等模型,实现一套代码多端部署。来自 @Always 的分享

地址:github.com/nndeploy/nndeploy

31、opik:开源的 LLM 应用评估框架。这是一个用于构建评估、测试和监控 LLM 应用平台的框架,它提供直观的 Web 界面,能够记录开发和生产期间的所有 LLM 调用,支持反馈评分、测试用例存储、幻觉检测和 CI/CD 集成等功能,适用于 RAG 聊天机器、代码助手和复杂的代理管道等应用场景。

地址:github.com/comet-ml/opik

32、Second-Me:轻松定制你的本地 AI 数字分身。该项目是专注于用个人数据训练 AI 的平台,致力于帮助每个人构建、训练并拥有属于自己的本地 AI 数字分身。它采用分层记忆建模(HMM)和 Me-Alignment 算法,将你的知识、兴趣和偏好融入 AI,打造更懂你的 AI 助手。

地址:github.com/mindverse/Second-Me

33、void:开源的 AI 代码编辑器。这是一款基于 VSCode 的开源 AI 代码编辑器,可作为 Cursor 开源替代品。它直接将数据发送给模型提供商,注重保护用户隐私,支持接入本地模型或主流大模型服务(如 OpenAI、Claude、DeepSeek、Gemini 等)。来自 @Y. S 的分享

地址:github.com/voideditor/void

其它

34、China-software-copyright:软著申请教程和模板文件。该项目提供了中国软件著作权申请的教程和模板文件,包括用户操作手册、源码文档、申请表等,降低软著申请门槛、提高申请成功率。

地址:github.com/AlexanderZhou01/China-software-copyright

35、chrono:极简的 Android 时钟与闹钟应用。这是一款适用于 Android 的现代时钟应用,集成闹钟、定时器和秒表等实用功能。它界面简洁美观,支持丰富的自定义选项。秒表支持圈数记录,并可直观比较最快、最慢及平均圈速。来自 @ewiro 的分享

地址:github.com/vicolo-dev/chrono

36、cs-paper-checklist:计算机科学论文的检查清单。这是一份专为计算机科学(CS)论文写作和投稿设计的检查清单,帮助作者系统性地排查论文在质量、结构、格式、引用等方面的问题,提升论文被会议或期刊接收的概率。

地址:github.com/yzhao062/cs-paper-checklist

37、Evertop:低功耗复古便携电脑。这是一款便携式电子墨水屏电脑,具有超长续航(可达 500 小时)。它搭载 ESP32 和 E-ink 屏幕,复刻经典 IBM XT 计算机,兼容 DOS、Minix、Windows 3.0 等多个系统,支持丰富的 DOS 经典软件和游戏。

地址:github.com/ericjenott/Evertop

38、hadolint:提升 Dockerfile 代码质量的检查工具。这是一款专为 Dockerfile 设计的代码检查工具(Linter),能够自动检测并修复 Dockerfile 中的常见错误、不规范用法和安全隐患,如未指定镜像版本、不必要的 sudo 命令、未清理缓存等问题。

地址:github.com/hadolint/hadolint

39、nb:命令行笔记和书签管理工具。这是一款极简的命令行笔记、书签和知识库管理工具,支持多种文件格式(Markdown、Org、LaTeX、AsciiDoc),并集成加密、版本控制(同步)、搜索、标签管理等功能。来自 @DeShuiYu 的分享

地址:github.com/xwmx/nb

开源书籍

40、ChinaTextbook:免费开源的教材资源集合。该项目整理了国内小初高、大学等各学科 PDF 教材,全部资源均免费、无水印,支持一键下载,并持续更新。来自 @技术中心 的分享

地址:github.com/TapXWorld/ChinaTextbook

41、Hello-CTF:零基础友好的 CTF 教程。这是一份面向零基础新手的免费 CTF(夺旗赛)入门教程,内容涵盖 Web 安全、二进制安全、密码学、逆向工程等 CTF 知识,并提供配套题目,帮助初学者入门 CTF。来自 @探姬 的分享

地址:github.com/ProbiusOfficial/Hello-CTF

最后

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

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

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


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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

当 “欧洲版 Cursor” 遇上安全危机

在 AI 编程助手蓬勃发展的当下,安全问题正成为行业不容忽视的隐忧。近期,AI 编程助手公司 Replit 与号称 “欧洲版 Cursor” 的 Lovable 之间,因安全漏洞问题掀起了一场风波,引发了业界的广泛关注。​ Replit 的员工 Matt Palmer…

centos挂载目录满但实际未满引发系统宕机

测试服务器应用系统突然挂了,经过排查发现是因为磁盘“满了”导致的,使用df -h查看磁盘使用情况/home目录使用率已经到了100%,但使用du -sh /home查看发现实际磁盘使用还不到1G,推测有进程正在写入或占用已删除的大文件(Linux 系统…

乾坤qiankun的使用

vue2 为主应用 react 为子应用 在项目中安装乾坤 yarn add qiankun # 或者 npm i qiankun -Svue主应用 在main.js中新增 (需要注意的是路由模型为history模式) registerMicroApps([{name: reactApp,entry: //localhost:3011,container: #container,/…

PostgreSQL的扩展 auth_delay

PostgreSQL的扩展 auth_delay auth_delay 是 PostgreSQL 提供的一个安全相关扩展,主要用于防止暴力破解攻击。它通过在认证失败后引入人为延迟来增加暴力破解的难度。 一、扩展基础 功能:在认证失败后增加延迟目的:减缓暴力破解和字典攻击…

Web前端为什么要打包?Webpack 和 Vite 如何助力现代开发?

一. 为什么要使用框架库? 1.1 传统网页与现代前端的差异 在最早期的网页开发中,我们只需要写几个.html文件,配上.css和.js文件,浏览器直接加载就能展现页面,每个文件都是独立的静态资源,简单且直观 但现在网站越来越复杂了: 需要用到最新的js语法(比如ES6)使用框架(Vue…

使用pdm+uv替换poetry

用了好几年poetry了,各方面都还挺满意,就是lock实在太慢; 已经试用pdmuv一段时间了,确实是快,也基本能覆盖poetry的功能。 至于为什么用pdmuv,而不是只用uv,原因很多,有兴趣的可以…

java后端生成心电图-jfreechart

用jfreechart生成心电图 先上成功的图片 上代码 1.导入包 implementation org.jfree:jfreechart:1.5.4implementation org.jfree:jcommon:1.0.242.实现代码 对数据进行滤波 转换单位 package com.shinrun.infrastructure.util;import java.util.ArrayList; import java.ut…

微软Build 2025:Copilot Studio升级,解锁多智能体协作未来

微软Build 2025大会圆满落幕,作为年度科技盛会,它一直是开发与AI技术突破性创新的重要展示平台。对于工程师、创作者和领域专家来说,这是了解微软生态未来动向的关键时刻。今年,Microsoft Copilot Studio推出了一系列新功能&#…

LabVIEW杂草识别与精准喷洒

基于LabVIEW构建了一套集成机器视觉、智能决策与精准控制的农业杂草识别系统。通过高分辨率视觉传感器采集作物图像,利用 LabVIEW 的 NI Vision 模块实现图像颜色匹配与特征分析,结合 Arduino 兼容的工业级控制硬件,实现杂草定位与除草剂精准…

使用 Akamai 分布式云与 CDN 保障视频供稿传输安全

作者简介:David Eisenbacher 是 EZDRM 公司的首席执行官兼联合创始人,该公司是首家提供 "DRM 即服务" 的企业。作为 CEO,David 始终秉持为企业确立的使命:为视频服务商提供简洁有效的数字版权管理方案,助力其…

javascript 实战案例 二级联动下拉选框

本案例完全使用原生javascript实现,使用时只需填充platform_list二维数组即可,platform_list填充规则如下: [‘一级选项1’,‘二级选项11’,‘二级选项12’,‘二级选项13’,‘二级选项14’,…], [‘一级选项2’,‘二级选项21’,‘二级选项22’…

Elasticsearch集群最大分片数设置详解:从问题到解决方案

目录 前言 1 问题背景:重启后设置失效 2 核心概念解析 2.1 什么是分片(Shard)? 2.2 cluster.max_shards_per_node的作用 2.3 默认值是多少? 3 参数设置的两种方式 3.2 持久性设置(persistent) 3.2 临时设置(transient) 4 问题解决方…

Redis Sorted Set 深度解析:从原理到实战应用

Redis Sorted Set 深度解析:从原理到实战应用 在 Redis 丰富的数据结构家族中,Sorted Set(有序集合)凭借独特的设计和强大的功能,成为处理有序数据场景的得力工具。无论是构建实时排行榜,还是实现基于时间的…

Java并发编程:读写锁与普通互斥锁的深度对比

在Java并发编程中,锁是实现线程安全的重要工具。其中,普通互斥锁(如synchronized和ReentrantLock)和读写锁(ReentrantReadWriteLock)是两种常用的同步机制。本文将从多个维度深入分析它们的区别、适用场景及…

《云原生安全攻防》-- K8s网络策略:通过NetworkPolicy实现微隔离

默认情况下,K8s集群的网络是没有任何限制的,所有的Pod之间都可以相互访问。这就意味着,一旦攻击者入侵了某个Pod,就能够访问到集群中任意Pod,存在比较大的安全风险。 在本节课程中,我们将详细介绍如何通过N…

Log4j2、Fastjson特征流量分析

文章目录 一、Log4j2流量特征分析1. 漏洞原理简述2. 核心流量特征(1)请求特征(2)响应特征(3)日志特征 3.检测与防御建议 二、fastjson流量特征分析1.漏洞原理简述2.核心流量特征(1)请…

Java编程之建造者模式

建造者模式(Builder Pattern)是一种创建型设计模式,它将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。这种模式允许你分步骤构建一个复杂对象,并且可以在构建过程中进行不同的配置。 模式的核…

Spring AI之RAG入门

目录 1. 什么是RAG 2. RAG典型应用场景 3. RAG核心流程 3.1. 检索阶段 3.2. 生成阶段 4. 使用Spring AI实现RAG 4.1. 创建项目 4.2. 配置application.yml 4.3. 安装ElasticSearch和Kibana 4.3.1. 安装并启动ElasticSearch 4.3.2. 验证ElasticSearch是否启动成功 …

mysql数据库实现分库分表,读写分离中间件sharding-sphere

一 概述 1.1 sharding-sphere 作用: 定位关系型数据库的中间件,合理在分布式环境下使用关系型数据库操作,目前有三个产品 1.sharding-jdbc,sharding-proxy 1.2 sharding-proxy实现读写分离的api版本 4.x版本 5.x版本 1.3 说明…

运维视角下的广告系统之理解广告索引级联

广告索引中为什么要级联 这里的“级联”一般指的是多层索引结构,也叫级联索引(Cascade Index 或 Multi-level Index)。 在广告系统的索引中,级联设计有重要作用,主要原因如下: 1. 多维特征筛选的需求 广…