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

GitHub开源项目分享

分享 上有趣、入门级的开源项目。这里有好玩和入门级的开源项目、开源书籍、实战项目、企业级项目,让你用极短的时间感受到开源的魅力,对开源产生兴趣。下面分享的GitHub项目,在GitHub网站中搜索对应的项目名称即可直达项目页面。

1、Barco

Star 952
Fork 45

用 C 语言从头写一个 容器。该项目仅依赖底层的 Linux 功能,用 C 语言实现的一个 Linux 容器,可用来了解更多关于 Linux 容器和内核的技术细节。

$ sudo ./bin/barco -u 0 -m / -c /bin/sh -a . [-v]

22:08:41 INFO ./src/barco.c:96: initializing socket pair...
22:08:41 INFO ./src/barco.c:103: setting socket flags...
22:08:41 INFO ./src/barco.c:112: initializing container stack...
22:08:41 INFO ./src/barco.c:120: initializing container...
22:08:41 INFO ./src/barco.c:131: initializing cgroups...
22:08:41 INFO ./src/cgroups.c:73: setting memory.max to 1G...
22:08:41 INFO ./src/cgroups.c:73: setting cpu.weight to 256...
22:08:41 INFO ./src/cgroups.c:73: setting pids.max to 64...
22:08:41 INFO ./src/cgroups.c:73: setting cgroup.procs to 1458...
22:08:41 INFO ./src/barco.c:139: configuring user namespace...
22:08:41 INFO ./src/barco.c:147: waiting for container to exit...
22:08:41 INFO ./src/container.c:43: ### BARCONTAINER STARTING - type 'exit' to quit ###

# ls
bin home lib32 media root sys vmlinuz
boot initrd.img lib64 mnt run tmp vmlinuz.old
dev initrd.img.old libx32 opt sbin usr
etc lib lost+found proc srv var
# echo "i am a container"
i am a container

2、Quake2-Rerelease-Dll

Star 1.7k
Fork 132

《雷神之锤 2》官方重制版源码。《雷神之锤 2》是 id Software 在 1997 年发布的一款第一人称射击游戏,被许多玩家视为经典。该项目是官方 2023 年重新发布的 《雷神之锤 2》游戏源码。

分享 GitHub 上有趣、入门级的开源项目-1

3、Trurl

Star 2.5k
Fork 86

解析和操作 URL 的命令行工具。该项目是 cURL 作者的新作,可用来解析 URL、替换/提取/设置 URL 中的参数。

C# 项目

4、GeekDesk

Star 1k
Fork 110

小巧的 桌面启动工具。这款名为极客桌面的免费工具,拥有极简的界面,支持搜索全盘文件、一键呼出、自定义壁纸、定时提醒等功能。

分享 GitHub 上有趣、入门级的开源项目-2

5、Starward

Star 1.2k
Fork 57

一款开源的 miHoYo 游戏启动器。这是一款支持米哈游旗下所有桌面端游戏的启动器,支持下载游戏、记录游戏时间、切换账号、保存抽卡记录、米游社工具箱等功能,可运行在 及以上的操作系统。

分享 GitHub 上有趣、入门级的开源项目-3

C++ 项目

6、Citra

Star 9k
Fork 1.7k

开源的任天堂 3DS 模拟器。能够完美运行几乎所有 3DS 游戏的模拟器,支持 Windows、Linux、 操作系统。

分享 GitHub 上有趣、入门级的开源项目-4

7、Implot

Star 3.6k
Fork 379

实时绘图的 GUI 库。该项目可根据用户交互和数据更新,实时更新图像的 Dear ImGui 绘图库,支持 加速、多种绘图类型、混合绘图等功能。仅需少量的代码,就能集成实时数据可视化的功能。

int bar_data[11] = ...;
float x_data[1000] = ...;
float y_data[1000] = ...;
ImGui::Begin("My Window");
if (ImPlot::BeginPlot("My Plot")) {
ImPlot::PlotBars("My Bar Plot", bar_data, 11);
ImPlot::PlotLine("My Line Plot", x_data, y_data, 1000);
...
ImPlot::EndPlot();
}
ImGui::End();

 

分享 GitHub 上有趣、入门级的开源项目-5

8、Wslg

Star 9k
Fork 281

在 Windows 上运行 Linux 图形化应用的工具。该项目是微软开源的支持在 Windows 操作系统上,运行 Linux GUI 应用的工具。提供了原生和自然的 Linux GUI 应用使用体验,比如跨 Windows 和 Linux 应用的剪切粘贴等功能。WSLg 已内置在 Windows 10 及以上的系统中,可直接通过 wsl 命令启动。

分享 GitHub 上有趣、入门级的开源项目-6

Go 项目

9、Etree

Star 1.2k
Fork 162

更好用的轻量级 Go 语言 XML 库。虽然 Go 语言内置了处理 XML 的库,但在使用时必须按照嵌套层级定义结构体非常繁琐。这个项目的设计灵感来源于 语言的 ElementTree 库,可以在无需定义结构体的情况下灵活的读取、生成 XML 文档。

doc := etree.NewDocument()
doc.CreateProcInst("xml", `version="1.0" encoding="UTF-8"`)
doc.CreateProcInst("xml-stylesheet", `type="text/xsl" href="style.xsl"`)people := doc.CreateElement("People")
people.CreateComment("These are all known people")jon := people.CreateElement("Person")
jon.CreateAttr("name", "Jon")

sally := people.CreateElement("Person")
sally.CreateAttr("name", "Sally")

doc.Indent(2)
doc.WriteTo(os.Stdout)

 

10、Golang-Design-Pattern

Star 7.7k
Fork 2k

Go 语言设计模式的实例代码。该项目是作者阅读《研磨设计模式》一书的读书笔记,并用 Go 语言实现了书中涉及的 23 个设计模式。

11、Ls-Lint

Star 1.5k
Fork 27

检查目录和文件命名风格的工具。这是一款 Go 编写的目录和文件名 Lint 工具,它依赖少、速度快,可通过 yml 配置文件自定义检测规则和忽略目录,适用于 Git Hooks、GitHub Action、 Image 等多种场景。

ls:
.js: snake_case
.ts: snake_case | camelCase
.d.ts: PascalCase
.html: regex:[a-z0-9]+
ignore:
- node_modules

 

分享 GitHub 上有趣、入门级的开源项目-7

12、Webp_server_go

Star 1k
Fork 122

一款开箱即用的 服务器。WebP 是谷歌开发的一种为了提升图像加载速度的图片格式,该项目是用 Go 写的 WebP 服务,无需二次开发就能实现将 、BMP、SVG 等格式的图片,转化成 WebP 格式的服务,能够有效地减小图片体积、节省带宽、提升图片加载速度。

分享 GitHub 上有趣、入门级的开源项目-8

项目

13、Jailer

Star 2k
Fork 78

一款强大的数据库提取数据工具。用于数据库子集和关系数据浏览的工具,支持按照表之间关系浏览数据库、生成 DML 拓扑关系等功能。可用来从生产数据库中提取出,支持测试一条完整业务线所需的数据库表和数据。

分享 GitHub 上有趣、入门级的开源项目-9

14、OneAccount

Star 620
Fork 145

一款简约的 Android 记账应用。这是一款支持自定义支出/收入分类、定时提醒、预算设置、花费统计等功能的记账

分享 GitHub 上有趣、入门级的开源项目-10

15、Triplea

Star 974
Fork 486

一款 Java 的回合制战争游戏。这是一款免费、开源的战争棋盘类游戏,玩家可以在游戏中模拟第二次世界大战、拿破仑战争等经典战役,支持 Windows、Linux 和 macOS 操作系统。

分享 GitHub 上有趣、入门级的开源项目-11

JavaScript 项目

16、Biomes-Game

Star 1.8k
Fork 208

一款开源沙盒 MMORPG 游戏。这是由已被 收购的 Global Illumination 公司,采用 React+Next.js+TypeScript 和 WebAssembly 等技术,构建的大型多人在线角色扮演游戏。玩家可以在游戏里探索世界、建造房子、交易、社交等,无需下载打开浏览器就可以玩。

分享 GitHub 上有趣、入门级的开源项目-12

17、Docsify

Star 2.4w
Fork 5.6k

开箱即用的文档网站生成器。该项目可以帮你快速生成文档网站,开箱即用无需构建,写完文档即可发布。支持全文搜索、自定义主题、丰富的 API、 等实用功能。

分享 GitHub 上有趣、入门级的开源项目-13

18、Poster-Design

Star 698
Fork 99

一款强大的在线设计图片工具。采用 Vue3+Vite2+Vuex+ElementPlus 技术实现的在线海报图片设计工具,可用于生成电商分享图、文章长图、视频/公众号封面等。

分享 GitHub 上有趣、入门级的开源项目-14

19、Warriorjs

Star 9k
Fork 523

一个有趣的 JavaScript 编程 RPG 游戏。在游戏中你将通过 JavaScript 语法指挥战士与敌人战斗、营救俘虏,一步步走向塔顶,获得传说中的 JavaScript 之剑。

分享 GitHub 上有趣、入门级的开源项目-15

20、WeHalo

Star 1.6k
Fork 341

清爽的微信小程序版博客。该项目是基于 Halo 博客后端的微信小程序,可以轻松地将博客内容搬到微信小程序上,支持个人名片、博文展示、评论、搜索文章、自定义导航栏等功能。

分享 GitHub 上有趣、入门级的开源项目-16

Python 项目

21、DrissionPage

Star 1.7k
Fork 205

类似 selenuium 的网页自动化工具。这是一个基于 Python 的网页自动化工具,支持 Chromium 内核浏览器。它将控制浏览器和收发请求两大功能合二为一,并提供了统一、简洁的接口。

# 下载星巴克产品图
from DrissionPage import SessionPage
from re import search# 以s模式创建页面对象
page = SessionPage()
# 访问目标网页
page.get('https://www.starbucks.com.cn/menu/')# 获取所有class属性为preview circle的元素
divs = page.eles('.preview circle')
# 遍历这些元素
for div in divs:
# 用相对定位获取当前div元素后一个兄弟元素,并获取其文本
name = div.next().text

# 在div元素的style属性中提取图片网址并进行拼接
img_url = div.attr('style')
img_url = search(r'"(.*)"', img_url).group(1)
img_url = f'https://www.starbucks.com.cn{img_url}'

# 执行下载
page.download(img_url, r'.\imgs', rename=name)

 

22、Learndb-Py

Star 750
Fork 23

从头用 Python 写一个数据库。该项目是用 Python 从零实现一个关系型数据库,从而更好地了解数据的内部构造,此数据库仅可作为学习和练手项目,无法应用在生产环境。

23、Nvitop

Star 2.4k
Fork 93

用 top 命令的方式查看 NVIDIA GPU 和进程状态。这是一款 NVIDIA 设备和进程监控工具,拥有多彩高亮的界面,实时更新的进程和设备信息,支持过滤进程、鼠标控制、发送信号等功能。

分享 GitHub 上有趣、入门级的开源项目-17

24、Upiano

Star 294
Fork 8

运行在命令行里的电子琴。这是一个小型的电子琴命令行应用,它安装简单、运行方便,支持鼠标和键盘两种操作方式。

分享 GitHub 上有趣、入门级的开源项目-18

25、Watchgha

Star 224
Fork 6

在本地查看 GitHub Action 运行状态的工具。仅需一条命令就可以实时显示当前分支,在 GitHub Action 上运行状态的命令行工具。

分享 GitHub 上有趣、入门级的开源项目-19

Ruby 项目

26、OpenFarm

Star 1.1k
Fork 220

一个教你如何种植农作物的网站。这是一个关于种植农作物的知识库,你可以在里面找到如何种植西红柿、土豆、草莓等植物的步骤,这一切都是免费的。

分享 GitHub 上有趣、入门级的开源项目-20

Rust 项目

27、Rjvm

Star 999
Fork 57

用 Rust 写一个迷你 JVM 的学习项目。这是一个用 Rust 写 JVM7 的练手项目,已实现 Java 基础类型、异常处理、堆栈跟踪、垃圾回收、解析 .class 文件等功能。

28、Starship

Star 3.6w
Fork 1.5k

轻量、速度超快的高颜值终端。这是一个 Rust 写的高颜值、适用于各种 Shell 的终端,它开箱即用,可定制各式各样的提示符,适用于 Windows、Linux、Android 和 macOS 系统。

分享 GitHub 上有趣、入门级的开源项目-21

Swift 项目

29、Mist

Star 1.1k
Fork 46

自动下载 macOS 系统固件的工具。这款工具可以列出所有可供下载的 macOS 固件/安装程序的信息,包括名称、版本号、发布日期和大小。

分享 GitHub 上有趣、入门级的开源项目-22

30、SkeletonView

Star 1.2w
Fork 1.1k

一款优雅的 Swift 骨架屏库。骨架屏是在页面展示所需的数据还未加载完成时,先展示出页面大致结构的一项技术。这个 Swift 骨架屏库容易上手、接口友好,支持所有 UIView、自定义动画等功能。

分享 GitHub 上有趣、入门级的开源项目-23

其它

31、Beepy

Star 332
Fork 29

一款全键盘便携式的 Linux 计算机。这是一个结合了黑莓键盘、400*200 LCD 显示屏、2000mAh 电池的板子,售价 79 美元。插上树莓派 Zero W,立马变成了一个黑莓版的 Linux 游乐场。

分享 GitHub 上有趣、入门级的开源项目-24

32、Cloc

Star 1.7w
Fork 932

计算代码行数的工具。这是一款可以统计源码中空白行、注释、不同编程语言代码行数的工具。

分享 GitHub 上有趣、入门级的开源项目-25

33、How-To-Secure-A-Linux-Server

Star 1.5w
Fork 1k

一份 Linux 服务器安全指南。这是一份专注于保护非企业场景下的 Linux 服务器安全的操作指南,它虽然不够专业但对于个人来说足够了。

34、Linux-Tutorial

Star 1.8k
Fork 520

一份实用的 Linux 教程。不同于大而全的 Linux 教程,该项目的内容主要侧重于实用性,内容包括 Linux 常用命令、Linux 系统运维、软件运维、常用 shell 脚本等。

35、Weekly

Star 1k
Fork 38

独立开发产品变现周刊。关于独立开发者、产品变现相关内容的周刊。

开源书籍

36、Lean-Side-Bussiness

Star 5.4k
Fork 358

《精益副业:程序员如何优雅地做副业》。该书扩展了《程序员如何优雅地挣零花钱》的内容,引入了精益创业流程,将其优化为副业专用精益副业流程,并增添了独立开发变现和网课变现实践的内容。

37、Putting-The-You-In-Cpu

Star 3.3k
Fork 73

当你运行程序时发生了什么?这是一份关于程序是如何跑起来的迷你书,内容涉及计算机基础、操作系统、Linux 如何加载可执行文件等。

分享 GitHub 上有趣、入门级的开源项目-26

38、TheByteBook

Star 1.6k
Fork 104

《深入架构原理与实践》。随着云计算的兴起,技术架构的关注点也从集群可用性治理,发展到云原生和 FinOps 成本管理。该书涵盖了网络、容器、网关、微服务与分布式、云原生、质量监测和成本管理方面的内容,帮助读者快速理清云时代下的技术架构体系。

分享 GitHub 上有趣、入门级的开源项目-27

39、Typescript-Tutorial

Star 1.4k
Fork 118

阮一峰的 TypeScript 教程。这是一份面向初学者的 TypeScript 开源教程,内容涵盖 TypeScript 的基本概念和用法。

机器学习

40、Audiocraft

Star 1.5w
Fork 1.4k

开源的文本生成音乐的库。该项目可根据文本提示词生成高质量、高保真的音频和音乐,比如吹着风吹口哨、一段适合海滩场景的流行舞曲,生成效果十分惊艳。

分享 GitHub 上有趣、入门级的开源项目-28

41、Fooocus

Star 8.3k
Fork 538

一款开箱即用的图片生成软件。该项目在设计时吸收了 和 Midjourney 的优点,它安装简单、操作方便,省去了复杂的参数调节步骤。用户只需要输入提示词,就可以生成与 Midjourney 水平相当的图片。支持本地部署、离线使用,最低配置要求 8GB 内存和 4GB 的 Nvidia 显卡。

分享 GitHub 上有趣、入门级的开源项目-29

42、Machine-Learning-Notes

Star 7.6k
Fork 1.7k

徐亦达的机器学习课程。该项目是香港浸会大学(HKBU)徐亦达教授开源的关于机器学习、概率模型、深度学习的讲义和视频课程链接。

分享 GitHub 上有趣、入门级的开源项目-30

评分

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注