精品软件与实用教程
GitHub开源项目分享
分享 GitHub 上有趣、入门级的开源项目。这里有好玩和入门级的开源项目、开源书籍、实战项目、企业级项目,让你用极短的时间感受到开源的魅力,对开源产生兴趣。下面分享的GitHub项目,在GitHub网站中搜索对应的项目名称即可直达项目页面。
1、Barco
Star 952
Fork 45
用 C 语言从头写一个 Linux 容器。该项目仅依赖底层的 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》游戏源码。
3、Trurl
Star 2.5k
Fork 86
解析和操作 URL 的命令行工具。该项目是 cURL 作者的新作,可用来解析 URL、替换/提取/设置 URL 中的参数。
C# 项目
4、GeekDesk
Star 1k
Fork 110
小巧的 Windows 桌面启动工具。这款名为极客桌面的免费工具,拥有极简的界面,支持搜索全盘文件、一键呼出、自定义壁纸、定时提醒等功能。
5、Starward
Star 1.2k
Fork 57
一款开源的 miHoYo 游戏启动器。这是一款支持米哈游旗下所有桌面端游戏的启动器,支持下载游戏、记录游戏时间、切换账号、保存抽卡记录、米游社工具箱等功能,可运行在 Windows 10 及以上的操作系统。
C++ 项目
6、Citra
Star 9k
Fork 1.7k
开源的任天堂 3DS 模拟器。能够完美运行几乎所有 3DS 游戏的模拟器,支持 Windows、Linux、macOS 和 Android 操作系统。
7、Implot
Star 3.6k
Fork 379
实时绘图的 GUI 库。该项目可根据用户交互和数据更新,实时更新图像的 Dear ImGui 绘图库,支持 GPU 加速、多种绘图类型、混合绘图等功能。仅需少量的代码,就能集成实时数据可视化的功能。
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();
8、Wslg
Star 9k
Fork 281
在 Windows 上运行 Linux 图形化应用的工具。该项目是微软开源的支持在 Windows 操作系统上,运行 Linux GUI 应用的工具。提供了原生和自然的 Linux GUI 应用使用体验,比如跨 Windows 和 Linux 应用的剪切粘贴等功能。WSLg 已内置在 Windows 10 及以上的系统中,可直接通过 wsl 命令启动。
Go 项目
9、Etree
Star 1.2k
Fork 162
更好用的轻量级 Go 语言 XML 库。虽然 Go 语言内置了处理 XML 的库,但在使用时必须按照嵌套层级定义结构体非常繁琐。这个项目的设计灵感来源于 Python 语言的 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、Docker Image 等多种场景。
ls: .js: snake_case .ts: snake_case | camelCase .d.ts: PascalCase .html: regex:[a-z0-9]+ ignore: - node_modules
12、Webp_server_go
Star 1k
Fork 122
一款开箱即用的 WebP 服务器。WebP 是谷歌开发的一种为了提升图像加载速度的图片格式,该项目是用 Go 写的 WebP 服务,无需二次开发就能实现将 JPG、PNG、BMP、SVG 等格式的图片,转化成 WebP 格式的服务,能够有效地减小图片体积、节省带宽、提升图片加载速度。
Java 项目
13、Jailer
Star 2k
Fork 78
一款强大的数据库提取数据工具。用于数据库子集和关系数据浏览的工具,支持按照表之间关系浏览数据库、生成 DML 拓扑关系等功能。可用来从生产数据库中提取出,支持测试一条完整业务线所需的数据库表和数据。
14、OneAccount
Star 620
Fork 145
一款简约的 Android 记账应用。这是一款支持自定义支出/收入分类、定时提醒、预算设置、花费统计等功能的记账 APP。
15、Triplea
Star 974
Fork 486
一款 Java 的回合制战争游戏。这是一款免费、开源的战争棋盘类游戏,玩家可以在游戏中模拟第二次世界大战、拿破仑战争等经典战役,支持 Windows、Linux 和 macOS 操作系统。
JavaScript 项目
16、Biomes-Game
Star 1.8k
Fork 208
一款开源沙盒 MMORPG 游戏。这是由已被 OpenAI 收购的 Global Illumination 公司,采用 React+Next.js+TypeScript 和 WebAssembly 等技术,构建的大型多人在线角色扮演游戏。玩家可以在游戏里探索世界、建造房子、交易、社交等,无需下载打开浏览器就可以玩。
17、Docsify
Star 2.4w
Fork 5.6k
开箱即用的文档网站生成器。该项目可以帮你快速生成文档网站,开箱即用无需构建,写完文档即可发布。支持全文搜索、自定义主题、丰富的 API、Emoji 等实用功能。
18、Poster-Design
Star 698
Fork 99
一款强大的在线设计图片工具。采用 Vue3+Vite2+Vuex+ElementPlus 技术实现的在线海报图片设计工具,可用于生成电商分享图、文章长图、视频/公众号封面等。
19、Warriorjs
Star 9k
Fork 523
一个有趣的 JavaScript 编程 RPG 游戏。在游戏中你将通过 JavaScript 语法指挥战士与敌人战斗、营救俘虏,一步步走向塔顶,获得传说中的 JavaScript 之剑。
20、WeHalo
Star 1.6k
Fork 341
清爽的微信小程序版博客。该项目是基于 Halo 博客后端的微信小程序,可以轻松地将博客内容搬到微信小程序上,支持个人名片、博文展示、评论、搜索文章、自定义导航栏等功能。
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 设备和进程监控工具,拥有多彩高亮的界面,实时更新的进程和设备信息,支持过滤进程、鼠标控制、发送信号等功能。
24、Upiano
Star 294
Fork 8
运行在命令行里的电子琴。这是一个小型的电子琴命令行应用,它安装简单、运行方便,支持鼠标和键盘两种操作方式。
25、Watchgha
Star 224
Fork 6
在本地查看 GitHub Action 运行状态的工具。仅需一条命令就可以实时显示当前分支,在 GitHub Action 上运行状态的命令行工具。
Ruby 项目
26、OpenFarm
Star 1.1k
Fork 220
一个教你如何种植农作物的网站。这是一个关于种植农作物的知识库,你可以在里面找到如何种植西红柿、土豆、草莓等植物的步骤,这一切都是免费的。
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 系统。
Swift 项目
29、Mist
Star 1.1k
Fork 46
自动下载 macOS 系统固件的工具。这款工具可以列出所有可供下载的 macOS 固件/安装程序的信息,包括名称、版本号、发布日期和大小。
30、SkeletonView
Star 1.2w
Fork 1.1k
一款优雅的 Swift 骨架屏库。骨架屏是在页面展示所需的数据还未加载完成时,先展示出页面大致结构的一项技术。这个 Swift 骨架屏库容易上手、接口友好,支持所有 UIView、自定义动画等功能。
其它
31、Beepy
Star 332
Fork 29
一款全键盘便携式的 Linux 计算机。这是一个结合了黑莓键盘、400*200 LCD 显示屏、2000mAh 电池的板子,售价 79 美元。插上树莓派 Zero W,立马变成了一个黑莓版的 Linux 游乐场。
32、Cloc
Star 1.7w
Fork 932
计算代码行数的工具。这是一款可以统计源码中空白行、注释、不同编程语言代码行数的工具。
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 如何加载可执行文件等。
38、TheByteBook
Star 1.6k
Fork 104
《深入架构原理与实践》。随着云计算的兴起,技术架构的关注点也从集群可用性治理,发展到云原生和 FinOps 成本管理。该书涵盖了网络、容器、网关、微服务与分布式、云原生、质量监测和成本管理方面的内容,帮助读者快速理清云时代下的技术架构体系。
39、Typescript-Tutorial
Star 1.4k
Fork 118
阮一峰的 TypeScript 教程。这是一份面向初学者的 TypeScript 开源教程,内容涵盖 TypeScript 的基本概念和用法。
机器学习
40、Audiocraft
Star 1.5w
Fork 1.4k
Meta 开源的文本生成音乐的库。该项目可根据文本提示词生成高质量、高保真的音频和音乐,比如吹着风吹口哨、一段适合海滩场景的流行舞曲,生成效果十分惊艳。
41、Fooocus
Star 8.3k
Fork 538
一款开箱即用的图片生成软件。该项目在设计时吸收了 Stable Diffusion 和 Midjourney 的优点,它安装简单、操作方便,省去了复杂的参数调节步骤。用户只需要输入提示词,就可以生成与 Midjourney 水平相当的图片。支持本地部署、离线使用,最低配置要求 8GB 内存和 4GB 的 Nvidia 显卡。
42、Machine-Learning-Notes
Star 7.6k
Fork 1.7k
徐亦达的机器学习课程。该项目是香港浸会大学(HKBU)徐亦达教授开源的关于机器学习、概率模型、深度学习的讲义和视频课程链接。