兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!
简介
HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。
https://github.com/521xueweihan/HelloGitHub
这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣!
以下为本期内容|每个月 28 号更新
C 项目
1、dperf:一款能模拟巨大流量的压测工具。该项目是基于 DPDK 开发的高性能压测工具,能够每秒建立千万级的 HTTP 连接、亿级别的并发请求和数百 Gbps 的吞吐量。
地址:https://github.com/baidu/dperf
2、ExplorerPatcher:自由切换 Windows11 开始菜单样式的工具。这是一款能够让 Windows 11 的开始菜单栏(Explorer) 重回 Windows 10 样式的扩展工具,除此之外还支持禁用 Windows 11 的上下文菜单和命令栏等功能,让你在 Windows 上拥有更舒适的工作环境。
地址:https://github.com/valinet/ExplorerPatcher
3、ImageMagick:一款强大的编辑和处理图像的桌面工具。该项目可用于创建、调整大小、裁剪、颜色校正和合成图像,支持超过 200 种的图像文件格式,其强大之处在于提供了处理复杂图像处理任务的 CLI 和 API。ImageMagick 被广泛应用于平面设计、科学研究、医学影像、天文等领域,适用于 Windows、Linux 和 macOS 系统。来自 @孤胆枪手 的分享
地址:https://github.com/ImageMagick/ImageMagick
C# 项目
4、ScottPlot:一个免费、开源的 .NET 绘图库。该项目可以轻松地以交互方式显示大型数据集,只需几行代码即可实现折线图、条形图、饼图、散点图等。来自 @星之痕迹 的分享
地址:https://github.com/ScottPlot/ScottPlot
5、SpleeterGui:一款 Windows 上的音轨分离工具。它是第三方制作的 Spleeter 桌面应用,支持中文在内的多国语言,可以将音乐里的人声和乐器声分离,轻松实现提取音乐中的伴奏。来自 @孤胆枪手 的分享
地址:https://github.com/boy1dr/SpleeterGui
6、VPet:一款虚拟桌宠模拟器。这是一款 Windows 桌面宠物软件,支持摸头、喂食、喝水、打工、睡觉、玩耍等多种互动方式。
地址:https://github.com/LorisYounger/VPet
C++ 项目
7、AirSim:基于虚幻引擎构建的无人机、汽车模拟器。这是一款微软开源的无人机和汽车的仿真模拟器,支持使用流行的飞行控制器进行软件在环(SIL)仿真,并使用 PX4 进行硬件在环(HIL)模拟,实现物理和视觉上逼真的模拟,可用于试验自动驾驶汽车、计算机视觉和强化学习算法。来自 @松果 的分享
地址:https://github.com/microsoft/AirSim
8、krita:自由开源的免费绘画软件。它强大且完全免费,无需注册、没有广告、试用期和商用限制,让每一位画师都可以有尊严地进行创作。可用于绘制概念草图、插画、漫画、动画、接景和 3D 贴图,支持数位板、压感、防抖、图层、滤镜、色彩管理等功能,适用于 Windows、Linux、macOS 操作系统。
地址:https://github.com/KDE/krita
9、notekit:一款支持手绘笔记的 Markdown 编辑器。这是一个基于 GTK+ 3 开发的笔记工具,支持所见即所得的 Markdown 内容,以及通过鼠标、触摸屏或数字转化器添加手绘笔记。
地址:https://github.com/blackhole89/notekit
10、pcsx2:免费、强大的 PlayStation 2 游戏模拟器。它能够运行包括最终幻想 X 和 鬼泣 3 在内的热门游戏,支持中文在内的多国语言,适用于 Windows、Linux 和 macOS 系统。
地址:https://github.com/PCSX2/pcsx2
Go 项目
11、dozzle:轻巧的 Docker 实时日志查看工具。这是一个实时监控 Docker 日志的 Web 应用,打包成了一个非常小的 Docker 应用。它开箱即用、占用内存少、不存储任何日志文件,支持更加友好的日志展示、容器名称模糊搜索、正则表达式搜索日志等功能。
地址:https://github.com/amir20/dozzle
12、go-captcha:Go 写的行为验证码库。这是一个 Go 语言、简单易用、交互友好的行为验证码库,支持随机验证文本和点选式验证码。采用展示验证码、采集用户行为、验证行为数据的流程,整个过程用户只需点击操作就能完成验证。
地址:https://github.com/wenlng/go-captcha
13、kwok:模拟 K8s 集群的工具。它可以在几秒钟内搭建一个由数千个节点组成的 Kubernetes 集群,整个过程仅占用非常少的资源,轻松实现在本机上学习、测试和开发 K8s 集群应用。来自 @松果 的分享
地址:https://github.com/kubernetes-sigs/kwok
14、scrutiny:一款监控硬盘运行状况的仪表板。这是 smartd 的 WebUI 平台,smartd 是一个守护进程,它能够监视拥有 S.M.A.R.T.(自我监测、分析及报告技术) 规范的硬盘。该项目基于 smartd 实现了硬盘各项指标的可视化界面,并增加了告警、自定义阈值等功能。
地址:https://github.com/AnalogJ/scrutiny
15、sqlflow:连接 SQL 和 AI 框架的工具。该项目能够将类似 SQL 的代码,编译成可运行在 K8s 集群的工作流,实现只写 SQL 就能得到 AI 引擎训练/预测的结果。支持 MySQL、MariaDB、TiDB、Hive 等数据库,以及 TensorFlow、Keras 等框架。来自 @松果 的分享
SELECT * FROM iris.train
TO TRAIN DNNClassifier
WITH model.hidden_units = [10, 10], model.n_classes = 3, train.epoch= 10
COLUMN sepal_length, sepal_width, petal_length, petal_width
LABEL class
INTO sqlflow_models.my_dnn_model;
地址:https://github.com/sql-machine-learning/sqlflow
Java 项目
16、circuitjs1:浏览器上的电子电路模拟器。这是一个在浏览器中运行的电子电路模拟器,鼠标点击即可打开或关闭开关,当鼠标移动到任何组件上,会显示该组件的当前状态和简短描述。支持绘制电路、添加电路组件、修改数值、动态显示电压信号、导入/导出/存储等功能,可用于电子电路相关的教学和实验。
地址:https://github.com/pfalstad/circuitjs1
17、MoonBox:无侵入的线上流量录制/回放平台。这是一款由 vivo 开源的基于 jvm-sandbox-repeater 的流量回放平台,提供了数据统计和存储能力以及大量插件,适用于自动化测试、线上问题追踪和业务监控等场景。
地址:https://github.com/vivo/MoonBox
18、oshi:获取操作系统和硬件信息的 Java 库。这是一个基于 JNA 实现的获取本机操作系统和硬件信息的库,支持操作系统版本、进程、内存、 CPU 使用率、磁盘和分区、设备、传感器等信息。
地址:https://github.com/oshi/oshi
JavaScript 项目
19、mathquill:数学公式在线编辑器。这是一个 JavaScript 写的公式编辑器,它可以让数学公式输入变得简单和美观。来自 @松果 的分享
地址:https://github.com/mathquill/mathquill
20、nextui:漂亮、快速、新式的 React UI 库。UI 的整体风格简洁大方,圆角设计用户体验友好。它不仅颜值能打,而且对开发者也十分友好,支持自定义默认主题、自定义组件样式、fully-typed、自动识别深色模式等功能。来自 @鸿宇Hov 的分享
地址:https://github.com/nextui-org/nextui
21、quill:一款强大的富文本编辑器。它是目前 GitHub 上 Star 数最多的所见即所得 Web 编辑器,具有强大的可扩展性和兼容性,支持台式机、平板电脑和手机上几乎所有的浏览器。
地址:https://github.com/quilljs/quill
22、react-hot-toast:轻便的 React toast 提示组件。它使用方便、易于定制、小于 5kb,支持 Emoji 图标、悬浮保持等功能,提供了多种不同样式的示例代码,拿来就能直接用。来自 @鸿宇Hov 的分享
地址:https://github.com/timolins/react-hot-toast
23、workadventure:像素 RPG 风格的在线虚拟办公室。一个以 16-bit RPG 游戏形式呈现的在线协作工作区。用户可以在虚拟办公室内四处走动,并与同事进行文字交流、视频聊天或在线会议。
地址:https://github.com/thecodingmachine/workadventure
Kotlin 项目
24、Music-Player-GO:一款小巧但功能齐全的本地 Android 音乐播放器。它拥有极简的界面和小巧的体积,支持中文、定时关闭、随机播放、按艺术家、专辑、歌曲或文件夹组织音乐等功能。
地址:https://github.com/enricocid/Music-Player-GO
Objective-C 项目
25、Easydict:一款简洁优雅的翻译词典。它开箱即用,能够自动识别输入文本的语言,支持输入翻译、划词翻译和 OCR 截图翻译等功能。
地址:https://github.com/tisfeng/Easydict
Python 项目
26、datasette:一个用于探索和发布数据的 Python 工具。该项目可以将 CSV、JSON、数据库等各种形式的数据,在几分钟内发布成 API 接口或网页,轻松实现数据集的 Web 可视化、搜索、分析等功能。
地址:https://github.com/simonw/datasette
27、erpnext:一款完全开源的 ERP 系统。它是采用 Python+JavaScript 开发的企业资源规划(ERP)系统,可用于构建中/小型企业的客户关系、人力资源、销售/采购/仓库、财务等管理系统。
地址:https://github.com/frappe/erpnext
28、mercury:能够将 Jupyter Notebook 变成 Web 应用的框架。该项目可以让你在 Python Notebook 中添加交互式部件,实现自动生成一个漂亮的 Web 应用,方便分享和展示你的成果。
地址:https://github.com/mljar/mercury
29、pyotp:Python 的一次性密码库。它是一个能够生成/验证一次性密码(短信验证码)的 Python 库,可以在 Web 应用或其它需要登录的系统上,实现双因素(2FA) 或多因素(MFA) 身份验证方法。
地址:https://github.com/pyauth/pyotp
30、sqladmin:FastAPI/Starlette 的后台管理界面。这是一个灵活的 SQLAlchemy 管理后台,采用 Tabler 构建 Web 界面,支持集成到 FastAPI 和 Starlette,实现类似 Django 内置的管理后台功能。
from fastapi import FastAPI
from sqladmin import Admin, ModelView
app = FastAPI()
admin = Admin(app, engine)
class UserAdmin(ModelView, model=User):
column_list = [User.id, User.name]
admin.add_view(UserAdmin)
地址:https://github.com/aminalaee/sqladmin
Rust 项目
31、kibi:不到 1024 行的文本编辑器。这是一个用不到 1024 行 Rust 代码编写的命令行文本编辑器,支持 UTF-8、语法高亮、行号等基础功能。
地址:https://github.com/ilai-deutel/kibi
32、veloren:一款 Rust 写的像素风 RPG 游戏。它的灵感来自《塞尔达传说:旷野之息》、《矮人要塞》和《我的世界》等游戏。虽然这款游戏的画质低,但拥有广阔的开放世界,玩家在游戏里可以打造道具、合成物品、战斗、升级、驯养宠物,还可以探索地牢洞穴、在空中滑翔、与 NPC 交易。
地址:https://github.com/veloren/veloren
Swift 项目
33、hidden:帮助隐藏 macOS 菜单栏图标的小工具。它能够灵活地隐藏菜单栏应用,让你的 Mac 看起来更加简洁,可通过 App Store 一键安装。
地址:https://github.com/dwarvesf/hidden
其它
34、distrochooser:帮你找到适合自己的 Linux 发行版。该网站通过询问一些问题,为你推荐符合你要求的 Linux 发行版,支持中文。来自 @酸去羟基醇去氢 的分享
地址:https://github.com/distrochooser/distrochooser
35、dockerlabs:适合所有阶段开发者的 Docker 教程。该教程的内容分为初、中、高三个级别,适合所有阶段的 Docker。内含 500 个动手实验,以及 Docker 和 Docker Compose 小抄,这一切全部开源且分文不取。
地址:https://github.com/collabnix/dockerlabs
36、flutter_twitter_clone:Flutter 写的推特客户端。这是一款用 Flutter 写的第三方 Twitter 客户端,实现了登录/注册、信息流、回复、通知、个人主页等功能。
地址:https://github.com/TheAlphamerc/flutter_twitter_clone
37、galagino:自制迷你的 80 年代街机。基于 ESP32 开发板的街机模拟器,可以运行吃豆人(Pac-Man)、小蜜蜂(Galaga) 和大金刚(Donkey Kong) 三款经典的街机游戏。
地址:https://github.com/harbaum/galagino
38、my-re0-k8s-security:从零开始的 Kubernetes 攻防。该项目包含了作者在多处攻防场景,所遇到的云原生相关的漏洞挖掘和漏洞利用实例。
地址:https://github.com/neargle/my-re0-k8s-security
39、static-marks:将浏览器书签转换为静态网站的工具。该项目能够将本地的浏览器书签,生成一个方便部署的独立 HTML 文件,轻松实现在线分享浏览器书签的功能。来自 @摸鱼的小灰栗。的分享
地址:https://github.com/darekkay/static-marks
开源书籍
40、build-lua-in-rust:《用 Rust 写个 Lua 解释器》。这本书介绍了如何用 Rust 语言从零实现一个 Lua 解释器。
地址:https://github.com/WuBingzheng/build-lua-in-rust
41、learn-javascript:一本教授 JavaScript 语言的电子书。这是一本从零开始教授 JavaScript 编程语言基础的书,内含丰富的在线练习。
地址:https://github.com/sumn2u/learn-javascript
42、vimllearn:《VimL 语言编程指北路》。一本关于 VimL(Vim Language) 脚本语言的书,VimL 是 Vim 内置的脚本语言。
地址:https://github.com/lymslive/vimllearn
机器学习
43、AnimatedDrawings:让画作动起来的 AI 项目。这是 Meta AI 研究院开源的动画库,它能让你的画作动起来。无论是小朋友画的小人,还是高水平的卡通人物,该项目都能让它们跟着你一起做动作。
地址:https://github.com/facebookresearch/AnimatedDrawings
44、bark:Text-Prompted 生成音频的模型。该项目可以根据你输入的文本提示生成音频,甚至可以指定背景声音,比如我爱 HG (大笑),生成的语音会包含爽朗的笑声。它还可以模拟音乐、声效,比传统的文本转语音更智能。
from bark import SAMPLE_RATE, generate_audio, preload_models
from IPython.display import Audio
# download and load all models
preload_models()
# generate audio from text
text_prompt = """
Hello, my name is Suno. And, uh — and I like pizza. [laughs]
But I also have other interests such as playing tic tac toe.
"""
audio_array = generate_audio(text_prompt)
# play text in notebook
Audio(audio_array, rate=SAMPLE_RATE)
地址:https://github.com/suno-ai/bark
45、segment-anything:分割一切的图像分割模型。它是来自 Meta AI 研究院的图像分割模型,只需一键就可以“切出”图像中的任何对象。它在 1100 万张图像和 11 亿个掩码(mask) 的数据集上完成了训练,能够在各种分割任务上具有很强的零样本(zero-shot) 性能。来自 @孤胆枪手 的分享
地址:https://github.com/facebookresearch/segment-anything
最后
以上就是本期的所有内容,还没看过瘾?点击阅读往期内容。
如果安装或运行开源项目遇到问题,就看这篇文章吧!
感谢您的阅读,如果觉得本期内容还不错的话 求赞、求分享 ❤️
- END -
👆 关注「HelloGitHub」收到第一时间的更新👆
点击阅读原文获得更好的阅读体验