兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!
简介
HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。
github.com/521xueweihan/HelloGitHub
这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift 等,让你在短时间内感受到开源的魅力,对编程产生兴趣!
以下为本期内容|每个月 28 号更新
C 项目
1、HandBrake:免费的开源视频转码工具。这是一款功能强大、社区驱动的开源视频转码工具,它支持将各种不同格式的视频文件,转换为 MP4 和 MKV 等常见格式。
地址:github.com/HandBrake/HandBrake
C# 项目
2、SwashbucklerDiary:记录生活点滴的侠客日记。这个项目的作者因为喜欢写日记,所以开发了这款离线优先的日记应用。它拥有简洁清爽的界面,用户可以选择记录日记时的天气、心情和位置。除了支持 Web 在线使用外,还提供了 Android、Windows、iOS 和 macOS 客户端。
地址:github.com/Yu-Core/SwashbucklerDiary
3、SyncClipboard:跨平台的剪贴板同步工具。该项目可以轻松实现不同设备间剪贴板内容同步,支持文本、图片和文件。使用时可以选择自己部署服务端,或者使用支持 WebDAV 协议的网盘。
地址:github.com/Jeric-X/SyncClipboard
C++ 项目
4、ladybird:真正独立的开源浏览器。该项目作者想要从头构建一个真正独立的 Web 浏览器,所以他从自己写的 SerenityOS 操作系统中分离出浏览器引擎部分,计划基于此做一个全新、跨平台的开源浏览器。目前项目处于早期阶段,尚未发布可供下载的安装包。
地址:github.com/LadybirdBrowser/ladybird
5、mosh:适用于移动端的远程终端工具。这是一款专为移动和不稳定的网络环境设计的远程终端工具,它能够在网络切换、高延迟和 IP 变化的情况下,保持远程会话的稳定和更快的响应,适用于 Android、iOS、Linux 和 macOS 等系统。
地址:github.com/mobile-shell/mosh
6、OpenArk:专业的 Windows 恶意程序分析与清理工具。这是一款 Windows 平台上的对抗和清理 Rootkit(恶意程序)工具,它能够帮助程序员发现系统中隐藏的恶意软件,支持查看进程、进程注入、内核驱动模式和扫描等功能。来自 @SHOWTA 的分享
地址:github.com/BlackINT3/OpenArk
Go 项目
7、dblab:交互式的数据库命令行客户端。这是一个用 Go 编写的轻量级、交互式的 TUI 数据库客户端,它开箱即用、方便快捷,支持 PostgreSQL、MySQL、SQLite3 和 Oracle 数据库,不是桌面工具用不起,而是命令行的更有性价比。
地址:github.com/danvergara/dblab
8、go-size-analyzer:分析 Go 编译后文件大小的工具。该项目通过逆向工程和反汇编,收集二进制文件中的地址,合并后计算出每个依赖在最终的二进制文件中所占大小,并通过可视化的方式展示出来。它可以用来分析 Go 程序编译后的文件体积,支持命令行和 Web 两种使用方式。来自 @Zxilly 的分享
地址:github.com/Zxilly/go-size-analyzer
9、gws:简单、快速的 Go WebSocket 库。该项目是用 Go 编写的 WebSocket 库,它提供了简洁明了的 API,具备高吞吐、低延迟、低内存占用、稳定可靠的特点,可用于高并发场景,支持上下文接管、自定义窗口大小和广播等功能。来自 @道一 的分享
地址:github.com/lxzan/gws
10、river:基于 Postgres 的后台任务管理平台。该项目是基于 Go+Postgres 数据库开发的任务队列,它内置 Web 管理后台,支持自动重试、定时任务和优先级等功能。
地址:github.com/riverqueue/river
11、watermill:快速开发事件驱动应用的 Go 库。这是一个能够高效处理消息流的 Go 库,即发布/接收消息并做出反应。它上手容易,支持 Kafka、RabbitMQ、HTTP 和 MySQL binlog 等消息中间件,适用于处理实时数据流、分布式事务和微服务通信等场景。来自 @DeShuiYu 的分享
// ...
func main() {
saramaSubscriberConfig := kafka.DefaultSaramaSubscriberConfig()
// equivalent of auto.offset.reset: earliest
saramaSubscriberConfig.Consumer.Offsets.Initial = sarama.OffsetOldest
subscriber, err := kafka.NewSubscriber(
kafka.SubscriberConfig{
Brokers: []string{"kafka:9092"},
Unmarshaler: kafka.DefaultMarshaler{},
OverwriteSaramaConfig: saramaSubscriberConfig,
ConsumerGroup: "test_consumer_group",
},
watermill.NewStdLogger(false, false),
)
if err != nil {
panic(err)
}
messages, err := subscriber.Subscribe(context.Background(), "example.topic")
if err != nil {
panic(err)
}
go process(messages)
// ...
地址:github.com/ThreeDotsLabs/watermill
Java 项目
12、spring-reading:Spring 源码阅读。这是一份讲解 Spring 源码的图文教程,内容涵盖了 Spring 框架的核心概念和关键功能,而且还贴心地标注了难度等级,更加便于学习。来自 @Lex 的分享
地址:github.com/xuchengsheng/spring-reading
13、xpipe:一键远程登录 Docker 实例的工具。该项目是用于管理远程服务器的桌面工具,它会在 SSH 连接到服务器后,自动检测服务器环境和 shell 类型,实现一键登录各种容器实例(Docker、LXC、WSL),并支持远程文件管理和工具集成等功能。来自 @孤胆枪手 的分享
地址:github.com/xpipe-io/xpipe
JavaScript 项目
14、earthworm:让你上瘾的英语学习网站。这是一个开源的在线学习英语网站,支持自托管和本地运行。它采用连词成句、循序渐进的方法帮你学习英语。通过不断地重复形成肌肉记忆,并结合游戏奖励和积分排名的方式,让背单词变得有趣且高效。来自 @Immerse 的分享
地址:github.com/cuixueshe/earthworm
15、million:优化 React 组件性能的工具。该项目是专为 React 应用设计的优化编译器,它通过优化虚拟 DOM 和直接更新 DOM 节点,来减少页面更新的耗时,从而提升 React 组件性能,最高可达 70%,支持 VSCode 插件和命令行的使用方式。
地址:github.com/aidenybai/million
16、pouchdb:开源的 JavaScript 数据库。该项目是用 JavaScript 编写、运行在浏览器里的 NoSQL 数据库,它能够在离线状态下将数据存储至本地,并在网络恢复后自动同步数据,保持数据与服务器同步。
var db = new PouchDB('dbname');
db.put({
_id: 'hellogithub-1',
name: 'HelloGitHub',
age: 69
});
db.changes().on('change', function() {
console.log('Ch-Ch-Changes');
});
db.replicate.to('远程数据库地址');
地址:github.com/pouchdb/pouchdb
17、stf:通过浏览器控制多台 Android 设备。这是一个用 Node.js 开发的安卓智能设备群测工具,它提供了一个可远程调试多台 Android 设备的 Web 平台,支持 Android 手机和手表等设备。来自 @wang-qa 的分享
地址:github.com/DeviceFarmer/stf
18、ua-parser-js:解析 User-Agent 的 JS 库。这是一个用于解析 User-Agent 的库,它可将用户代理字符串解析为 UAParser 对象,便于检测和查看用户的浏览器、操作系统、CPU 和设备型号等信息。
const parser = new UAParser(ua);
console.log(parser.getResult());
/*
{
ua: "Mozilla/5.0 (Linux; Android 10; STK-LX1 Build/HONORSTK-LX1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/110.0.5481.153 Mobile Safari/537.36 musical_ly_2022803040 JsSdk/1.0 NetType/WIFI Channel/huaweiadsglobal_int AppName/musical_ly app_version/28.3.4 ByteLocale/en ByteFullLocale/en Region/IQ Spark/1.2.7-alpha.8 AppVersion/28.3.4 PIA/1.5.11 BytedanceWebview/d8a21c6",
browser: {
name: "TikTok",
version: "28.3.4",
major: "28"
},
cpu: {},
device: {
type: "mobile",
model: "STK-LX1",
vendor: "Huawei"
},
engine: {
name: "Blink",
version: "110.0.5481.153"
},
os: {
name: "Android",
version: "10"
}
}
*/
地址:github.com/faisalman/ua-parser-js
PHP 项目
19、openemr:免费的开源医院管理系统。该项目是目前最流行的开源医院管理系统,它集成了医院日常运营所需的所有功能,如预约、患者档案、电子计费和医疗记录等,同时支持中文在内的 30 多种语言。
地址:github.com/openemr/openemr
Python 项目
20、CleanMyWechat:自动删除电脑端微信缓存数据的工具。该项目是用 PyQt5 写的 Windows 工具,它可以清理微信电脑客户端自动下载的无用数据,支持自动识别账号、多账号管理,以及选择清理文件的类型和设置清理多久以前文件等功能。
地址:github.com/blackboxo/CleanMyWechat
21、searxng:尊重个人隐私的 Python 元搜索引擎。该项目是基于 Flask 构建的聚合搜索引擎,能够整合来自 70 多个搜索引擎的搜索结果。它安装简单、不追踪用户行为,支持选择搜索引擎、安全搜索和多语言等功能。来自 @孤胆枪手 的分享
地址:github.com/searxng/searxng
22、vulture:Python 的“死”代码侦探。这是一个 Python 的静态代码分析工具,它可以找出 Python 项目中未使用的代码,仅需一条命令,就能清理没用和无效的 Python 函数、变量和代码片段。
地址:github.com/jendrikseipp/vulture
23、warp:编写高性能仿真程序的 Python 框架。该项目是英伟达开源的 Python 框架,它通过即时编译技术将 Python 代码,转换为可以在 CPU 或 GPU 上运行的高效内核代码,可用于编写模拟物理环境、碰撞检测和图形处理等程序。
import warp as wp
import numpy as np
num_points = 1024
@wp.kernel
def length(points: wp.array(dtype=wp.vec3),
lengths: wp.array(dtype=float)):
# thread index
tid = wp.tid()
# compute distance of each point from origin
lengths[tid] = wp.length(points[tid])
# allocate an array of 3d points
points = wp.array(np.random.rand(num_points, 3), dtype=wp.vec3)
lengths = wp.zeros(num_points, dtype=float)
# launch kernel
wp.launch(kernel=length,
dim=len(points),
inputs=[points, lengths])
print(lengths)
地址:github.com/NVIDIA/warp
24、wsgidav:基于 WSGI 的 WebDAV 服务器。WebDAV 是一种允许在网络上直接编辑和管理文件的通信协议,多用于文档共享、云存储和文件同步等场景。该项目是用 Python 写的 WebDAV 服务器,可独立运行、自带简单的 Web 界面,支持 MS Office 文档在线编辑和身份验证等功能。
地址:github.com/mar10/wsgidav
Ruby 项目
25、lolcommits:基于 Git 的程序员自拍。该项目能在每次用 git 提交代码时,自动使用摄像头拍照,并在照片上标记 commit ID,这样不仅可以记录“生活”,还能一眼找到代码的作者。
地址:github.com/lolcommits/lolcommits
Rust 项目
26、100-exercises-to-learn-rust:学习 Rust 的 100 个练习。该教程秉承着边学边做的原则,内含大约 100 道练习题和答案,带你从零开始学习 Rust 编程语言。
地址:github.com/mainmatter/100-exercises-to-learn-rust
27、crossbeam:Rust 并发编程工具库。在 Rust 的并发编程世界中,它就像一把瑞士军刀,提供了丰富且强大的无锁并发数据结构和工具,极大地提升了 Rust 并发编程的效率。来自 @DeShuiYu 的分享
地址:github.com/crossbeam-rs/crossbeam
28、zellij:更容易上手的终端复用器。该项目是一个 Rust 写的终端多路复用器,支持单窗口多标签、分割窗口和自动恢复连接等功能。它提供了开箱即用的默认配置,同时拥有强大的插件系统,从而深受初学者和高级用户的喜爱。
地址:github.com/zellij-org/zellij
Swift 项目
29、Loop:一款优雅的 macOS 窗口管理工具。这是一款极简的 macOS 窗口管理应用,它无需复杂的配置,即可通过简单的组合键,轻松实现移动窗口位置、调整窗口大小以及排列窗口,交互十分优雅,使用体验极佳。
地址:github.com/MrKai77/Loop
30、noTunes:禁用 iTunes 的工具。这是一款 macOS 应用,它可以阻止 iTunes 或 Apple Music 自动启动和弹出,还支持设置 iTunes 的替代品。
地址:github.com/tombonez/noTunes
其它
31、anx-reader:免费的 Android 电子书阅读器。这是一款用 Flutter 编写的电子书阅读软件,它免费且没广告,支持 WebDAV 同步电子书、笔记和阅读进度,适用于 Android 手机和平板电脑。
地址:github.com/Anxcye/anx-reader
32、etcher:简单易用的 USB/SD 启动盘制作工具。该项目可以将操作系统镜像烧录进 SD 卡或 USB 设备,可用于制作可启动、便携式的操作系统。它拥有友好的操作界面,仅需 3 步就能完成 USB 启动盘制作,适用于 Linux、macOS 和 Windows 10 及更高版本。
地址:github.com/balena-io/etcher
33、GmsCore:谷歌服务框架的开源替代品。该项目是一个开源的替代 Google Play 服务的解决方案,它可以让无法安装或不想用 Google 服务的用户,运行依赖谷歌服务的 Android 应用。
地址:github.com/microg/GmsCore
34、OpenGlass:低成本的 AI 智能眼镜。该项目仅需 25 美元,就可以将普通的眼镜升级成 AI 智能眼镜。它支持录制视频、识别物体和翻译文本等功能,但需要与电脑配合使用,不支持在镜片上显示内容。
地址:github.com/BasedHardware/OpenGlass
35、scribe:用 HTML 的方式展示乐谱。该项目通过 CSS+SVG+HTML 代码,实现了在网页上显示音乐符号和乐谱。
地址:github.com/stephband/scribe
36、WTF-zk:零知识证明入门教程。这是一份入门级的零知识证明教程,零知识证明是一种技术,允许一方在不泄露任何具体信息的情况下向另一方证明某件事为真,多用于密码学、隐私计算和 Web3 等领域。
地址:github.com/WTFAcademy/WTF-zk
开源书籍
37、introduction-to-bash-scripting:《Bash 脚本入门指南》。这是一本教你如何编写出色的 Bash 脚本的开源书籍。
地址:github.com/bobbyiliev/introduction-to-bash-scripting
38、PyTorch-Tutorial-2nd:《Pytorch 实用教程》。这本书不仅全面介绍了 PyTorch 的基础知识,还包含丰富的 PyTorch 实战案例和大型语言模型部署实例,能帮你快速上手 PyTorch,并具备出色的开发能力。来自 @TingsongYu 的分享
地址:github.com/TingsongYu/PyTorch-Tutorial-2nd
机器学习
39、gateway:大型语言模型 API 聚合网关。该项通过提供统一且快速的 API,让开发者能够轻松访问超过 200 个 LLMs,还支持多模态、自动重试和负载均衡等功能。
地址:github.com/Portkey-AI/gateway
40、MoneyPrinterTurbo:一键生成短视频的 AI 工具。该项目是基于大模型服务的 AI 视频生成工具,只需要提供一个主题或关键字,就可以自动生成高清的短视频。它拥有简单易用的 Web 界面,支持批量生成、设置视频时长和横/竖屏尺寸等功能。来自 @jolahua 的分享
地址:github.com/harry0703/MoneyPrinterTurbo
41、Omost:极简提示词的文生图工具。该项目基于 LLM 的编程能力帮用户自动完善文生图的提示词,可以根据用户输入的简短提示词生成高质量的图片,还支持图片局部修改等功能,比如将图片中的龙变成恐龙,极大地降低了编写文生图的门槛,无需复杂的提示词即可生成满意的图片。
地址:github.com/lllyasviel/Omost
42、Scrapegraph-ai:基于 AI 的 Python 爬虫。这是一个由 AI 驱动的 Python 爬虫库,它借助 LLM 的能力,可以根据提示词自动抓取目标网站的数据。
smart_scraper_graph = SmartScraperGraph(
prompt="List me all the projects with their descriptions",
source="目标网站",
config=graph_config
)
result = smart_scraper_graph.run()
print(result)
地址:github.com/VinciGit00/Scrapegraph-ai
最后
感谢参与分享开源项目的小伙伴,欢迎更多的开源爱好者来 HelloGitHub 自荐/推荐开源项目。
希望本期内容有你感兴趣的开源项目,兴趣是最好的老师,它能点燃你对开源的热情、勇敢地迈出第一步,随时欢迎你加入开源的大家庭!如果还没看过瘾,点击阅读 往期内容。
- END -
关注「HelloGitHub」第一时间收到更新
点击阅读原文可按照编程语言浏览项目