《HelloGitHub》第 81 期
HelloGitHub 分享 GitHub 上有趣、入门级的开源项目,每月 28 号更新一期。这里有好玩和入门级的开源项目、开源书籍、实战项目、企业级项目,让你用极短的时间感受到开源的魅力,对开源产生兴趣。
一款无需 CA 证书即可抓取 HTTPS 明文的工具。该项目基于 eBPF 技术实现了 TLS 加密的明文捕获,可用于 MySQL 数据库的查询审计、bash 命令捕获等场景,仅支持 Linux 和 Android 系统。
一款可快速创建 DNS 隧道的工具。该项目包含 C 语言写的 DNS 隧道服务器和客户端,可快速搭建 DNS 隧道传输 IPv4 数据,常用于绕过防火墙等场景。因为一般情况下防火墙的 DNS 端口是打开的,所以将流量伪装成 DNS 数据包,就可以突破防火墙限制啦。
从零开始写 RISC-V 处理器。该项目是采用 Verilog 语言实现一个单核 32 位的小型 RISC-V 处理器核,包含全部代码和详细的教程。RISC-V 是一种开源指令集架构,它允许任何人设计、制造和销售 RISC-V 芯片和软件。
虚幻引擎 5 之 GAS 插件上手教程。该项目是讲解如何使用虚幻引擎 5 的 GameplayAbilitySystem 插件,作者从什么是 GAS 开始,最后用 GAS 做出了一个简单的多人射击游戏。如果你对虚幻引擎 5 感兴趣而且会 C++ 的话,那么看完这份教程一定会让你有所收获。
一款免费、没广告的离线地图应用。适用于旅行者、游客、徒步旅行者和骑行者的 Android 和 iOS 离线地图应用,它使用 OpenStreetMap 数据,支持详细的离线地图、骑行路线、语音导航、等高线、海拔剖面、山峰和坡度等功能。
一款“老当益壮”的 OCR 引擎。这个项目最早诞生于 1985 年,几经易主在 2005 年的时候 HP 将其开源。目前,Tesseract 已经成为 OCR 领域 Star 数最多的开源项目,它支持包括中文在内的 100 多种语言,具有精准度高、跨平台等特点。
一款极为流行的 Tailwind CSS 组件库。作为当下最流行的 Tailwind CSS 组件库,具有高颜值、更纯净的 HTML、深度自定义等特点。
<ul class="menu p-3 bg-base-200 rounded-xl"> <li class="menu-title"> <span>Menu Title</span> </li> <li><a>First Menu Item</a></li> <li><a>Second Menu Item</a></li> <li><a>Third Menu Item</a></li> </ul>
Go 语言实现的 B-树 数据结构。由谷歌开源的 B-树 Go 语言实现,代码整洁、注释丰富,推荐阅读源码。B-树 这种数据结构,能够让查找数据、顺序访问、插入及删除操作,都在对数时间内完成,多用于数据库和文件系统。
适用于多种 shell 的终端提示个性化工具。该项目内置多款主题开箱即用,支持 Windows、Linux、macOS 三个系统上的 PowerShell、Bash、Zsh 等多种 shell,自动补全你输入的每个命令。
Raft 算法的 Go 语言实现。Raft 是一种分布式一致性算法(共识算法),常用于分布式集群内的任意节点,在某种状态转换上保持一致。
一款开源的 Kafka 管理平台。由开源社区建立和维护的 Kafka Web UI 管理工具,承诺永久免费。可方便地查看 Kafka Brokers、Topics、消息、Consumer 等情况,支持多集群管理、性能监控、访问控制等功能。
刷 LeetCode 的 IDE 插件。让你可以在 IDE 里刷 LeetCode 算法题的插件,支持 IntelliJ IDEA、PyCharm、GoLand 在内的 Jetbrains 全家桶。
一款支持多种格式的 Android 电子书阅读器。适用于 Android 设备的阅读应用,支持最流行的文档格式,包括 PDF、EPUB、MOBI、DjVu、FB2、TXT、RTF、AZW、HTML、CBZ、DOC 等多种电子书格式。
一款帮助团队同步环境变量的工具。该项目可用于团队成员之前同步环境变量,拥有简单易懂的操作界面,支持端到端加密、自托管、权限控制、集成 CI/CD 等功能。
前端业务代码的工具库。该项目包含了前端开发中,经常会用到的日期格式化、浏览器类型判断、检测是否为手机号等函数。
/** * * @desc 获取操作系统类型 * @return {String} */ function getOS() { var userAgent = 'navigator' in window && 'userAgent' in navigator && navigator.userAgent.toLowerCase() || ''; var vendor = 'navigator' in window && 'vendor' in navigator && navigator.vendor.toLowerCase() || ''; var appVersion = 'navigator' in window && 'appVersion' in navigator && navigator.appVersion.toLowerCase() || ''; if (/iphone/i.test(userAgent) || /ipad/i.test(userAgent) || /ipod/i.test(userAgent)) return 'ios' if (/android/i.test(userAgent)) return 'android' if (/win/i.test(appVersion) && /phone/i.test(userAgent)) return 'windowsPhone' if (/mac/i.test(appVersion)) return 'MacOSX' if (/win/i.test(appVersion)) return 'windows' if (/linux/i.test(appVersion)) return 'linux' }
和你的好友一起在线听播客。该项目无需注册和登录,即可创建/进入房间和三五好友,一起收听同一个博客,支持收听小宇宙、Apple Podcast 中国区等音源。
让 DOM 像眼睛一样注视的 JS 动画库。这是一个简易的动画库,主要用于计算一个 DOM 与观察目标,比如鼠标、DOM、输入框值之间的位置,从而做出一些有趣的动画,比方说让它变成跟眼睛一样。
一款 IT 资产管理系统。该项目是基于 Laravel 8 构建的适用于中小型企业的 IT 资产管理系统,支持资产分配、生成二维码标签、资产审计、保修到期提醒等功能。
一款可轻松实现 Linux 上运行 Windows 软件的工具。该项目提供了清爽易用的 GUI 界面,用户就算不懂任何编程技巧,也可以轻而易举地在 Linux 系统上,运行 Windows 的游戏和软件。
一款灵活的 Django ORM 缓存库。该项目使用 redis 作为缓存,可通过装饰器设置数据库查询结果的过期时间。
from cacheops import cached_as @cached_as(Article, timeout=120) def article_stats(): return { 'tags': list(Article.objects.values('tag').annotate(Count('id'))) 'categories': list(Article.objects.values('category').annotate(Count('id'))) }
一款匿名口令分享文本和文件的服务。该项目是基于 FastAPI+SQLite3 开发的文件分享服务,支持分享文件、口令提取文件等功能,无需注册即可完成文件提取。
用 Python 编写 systemd 服务的教程。许多 Linux 发行版都用 systemd 来管理系统的服务,比如开机启动、自动重启、守护进程等。该项目讲解了如何入门 systemd,并提供了一个 Python 脚本和 systemd unit 文件,可以在此基础上快速开发出 systemd 服务。
if __name__ == '__main__': import time import systemd.daemon print('Starting up ...') time.sleep(10) print('Startup complete') systemd.daemon.notify('READY=1') while True: print('Hello from the Python Demo Service') time.sleep(5)
学习如何用 Rust 编写嵌入式操作系统。该教程会从零开始,一步步地指导你如何用 Rust 开发出一个功能齐全的嵌入式操作系统的内核。它包含了实现一般操作系统的任务,例如开发串口控制台、设置虚拟内存和处理硬件异常。教程中的所有代码,均可运行在树莓派 3 和 4 上。
一款 Rust 写的跨平台文件管理工具。它基于用 Rust 编写的虚拟分布式文件系统(VDFS),可以将 macOS、Windows、Linux、iOS、Android 等不同操作系统的设备连接到一起,统一管理所有的文件。该项目还处于开发阶段,客户端需要自行编译。
将网站变成 Mac 桌面壁纸。这是一款适用于 macOS 的桌面壁纸应用,支持将多种网站设置为壁纸,这些网站并不局限于图片网站,还可以是新闻、气象等站点。
一款轻量级的机器学习可视化工具。该项目是用于可视化和跟踪机器学习实验的工具,通过几行代码就可以实现跟踪、比较和可视化机器学习实验。
import wandb # 1. Start a W&B run wandb.init(project="gpt3") # 2. Save model inputs and hyperparameters config = wandb.config config.learning_rate = 0.01 # Model training code here ... # 3. Log metrics over time to visualize performance for i in range(10): wandb.log({"loss": loss})
中文个人独立博客网站合集。如果说中文独立博客的时代已经过去,那么至少还有这么一块地方,属于热爱自由的博主们。
一款用 Flutter 写的豆瓣客户端。该项目用 Flutter 还原了豆瓣客户端的首页、书影音、小组、市集及个人中心等功能。
自制电子墨水屏的日历。基于 ESP32 的电子墨水屏日历,使用 4 节 7 号电池可运行多年,支持通过 OpenWeatherMap 实现天气显示等功能。
一本动画图解数据结构与算法的入门书。《Hello,算法》一书通过动画和代码诠释数据结构和经典算法,学习曲线平滑,支持电脑、手机等多种终端在线阅读。
- C 项目
- C# 项目
- C++ 项目
- CSS 项目
- Go 项目
- Java 项目
- JavaScript 项目
- PHP 项目
- Python 项目
- Rust 项目
- Swift 项目
- 人工智能
- 其它
- 开源书籍