《HelloGitHub》第 90 期
HelloGitHub 分享 GitHub 上有趣、入门级的开源项目,每月 28 号更新一期。这里有好玩和入门级的开源项目、开源书籍、实战项目、企业级项目,让你用极短的时间感受到开源的魅力,对开源产生兴趣。
适用于 macOS 的虚拟音频驱动。在 macOS 上录制过视频的同学,应该都遇到过收录电脑声音的问题,采用公放的方式对环境要求极高。该项目是一款 macOS 上的虚拟音频驱动,它可以零延迟地将输出的音频传递给其他应用,从而不受周围环境的影响,轻松录制电脑的声音,支持 Intel 和 Apple 芯片。
用 4 个函数实现的 C 语言编译器。该项目仅用了 500+ 行代码、4 个函数,就实现了一个小型 C 语言编译器。但因为它的代码过于精简,所以源码阅读起来并不轻松。
超好用的 Windows 优化器。这是一款强大的 Windows 系统优化工具,它体积小、功能丰富,支持包括中文在内的 22 种语言,能够禁用不必要的 Windows 服务、删除多余的启动程序、关闭用不到的功能,提升 Windows 系统的使用体验和性能。
免费开源的屏幕实时翻译工具。该项目可以对屏幕上选定区域内显示的文本进行实时翻译,可识别英语、俄语、中文等语言。用户可自行选择 Tesseract、WindowsOCR、EasyOCR 多种 OCR 引擎,以及包括谷歌翻译在内的多种翻译源。
一款类似 SQLite 的分析型数据库。该项目是用 C++ 写的 OLAP(联机分析处理)数据库,没有外部依赖项、不作为独立进程运行,可以看作是 OLAP 版本的 SQLite。它方便、快速、易于使用,提供了丰富的 SQL 方言,支持 JOIN、聚合、窗口函数、直接查询 CSV 和 JSON 文件等功能。
SELECT * FROM 'HelloGitHub.csv'; SELECT * FROM 'HelloGitHub.parquet';
一款神似 Vim 的代码编辑器。拥有极简的界面和便捷的编辑模型的代码编辑器,虽然它的设计灵感源自 Vim,但在功能和交互性上“青出于蓝而胜于蓝”。操作上更加的快捷方便,默认支持语法高亮、自动补全等功能,适用于 Linux 和 macOS 操作系统。
一款简单好用的 Web 应用防火墙。该项目底层基于 Nginx 的 Web 网关,作为反向代理接入网络。采用智能语意分析算法,清洗来自黑客的恶意流量,保护你的网站不受黑客攻击。它安装简单、免费版功能够用,但项目仅开源了核心算法和底层引擎。
自己动手制作一款触感智能旋钮。这是一款开源的智能旋钮设备,可自定义端点位置、虚拟制动、触觉反馈,并带有一个圆形 LCD,十分炫酷好玩。
一款快如闪电的开源搜索引擎。该项目是用 C++ 编写的即时搜索引擎,具有开箱即用、搜索速度快、自动更正拼写错误、地理搜索、默认分词器支持中文等特点。
炫酷的神奇宝贝卡牌 CSS 效果。该项目是口袋怪兽卡高级 CSS 样式集合,使用了 3D 变换、滤镜、渐变等技术,实现了眩光、纹理、银河全息、垂直光束等效果。
纯 Go 写的简单、可靠的分布式任务队列。这是一个基于 Redis 的轻量级异步任务队列,它会为每个任务启动一个 goroutine,支持任务失败重试、优先级队列、定时任务、唯一任务等功能。
一个对开发者友好的 Go 时间处理库。这是一个功能丰富、容易上手的 Go 时间库,支持时间转换、时间差、时间旅行、星座、季节、农历、多语言等功能。
lang := carbon.NewLanguage() lang.SetLocale("zh-CN") c := carbon.SetLanguage(lang) if c.Error != nil { // 错误处理 log.Fatal(err) } c.Now().AddHours(1).DiffForHumans() // 1 小时后 c.Now().AddHours(1).ToMonthString() // 八月 c.Now().AddHours(1).ToShortMonthString() // 8月 c.Now().AddHours(1).ToWeekString() // 星期二 c.Now().AddHours(1).ToShortWeekString() // 周二 c.Now().AddHours(1).Constellation() // 狮子座 c.Now().AddHours(1).Season() // 夏季
国产的轻量级服务器监控工具。这是一款名为“哪吒”的服务器监控面板,它安装简单、开箱即用,支持监控多个服务器的系统状态、SSL 证书状态、报警通知、流量监控、设置定时任务等功能,适用于 Linux、Windows、macOS、OpenWRT 等主流系统。
Go 语言的分布式 ID 生成库。该项目是索尼开源的分布式唯一 ID 生成器,灵感来自知名的 Twitter 雪花算法(Snowflake)。它比 Snowflake 慢,但拥有更长的寿命,可以在更多的机器上工作,适用于更大的分布式集群。
一个用 Java 实现的算法和数据结构的集合。算法和数据结构的重要性无需多言,该项目提供了常见的数据结构和算法最简单、优雅的 Java 代码实现,不管是用于学习还是开发都是不错的选择。
允许对 PDF 文件做各种操作的 Web 应用。这是一款功能强大、开箱即用的 PDF 工具,支持拆分/合并文件、添加/提取图片、压缩、加水印、添加/删除密码等功能,满足你对 PDF 文件的所有需求。
类似豆瓣的二次元爱好者社区客户端。这是一个基于 React Native 构建的二次元社区 Bangumi 第三方客户端。它免费、无广告、因爱好而生、专为移动端设计,支持番组进度管理、用户动态、贴吧、搜索、排行榜、标签等功能。
通过 PageRank 找到代码库中最重要的文件。该项目基于 PageRank 算法和源文件依赖关系,找到 JavaScript/TypeScript 代码仓库中被依赖最多的文件。
仅需 30 秒、不用写代码就能模拟接口数据。这是一款小巧的接口模拟工具,它使用起来十分简单,只需创建 JSON 文件,然后一条命令就能快速启动接口服务。
# 安装 npm install -g json-server # 启动 json-server --watch db.json
一个好用的 Web 思维导图。该项目包含一个不依赖任何框架的思维导图 JavaScript 库,以及一个采用 Vue.js+ElementUI 开发的支持本地部署、功能丰富的在线思维导图应用。
import MindMap from "simple-mind-map"; const mindMap = new MindMap({ el: document.getElementById('mindMapContainer'), data: { "data": { "text": "根节点" }, "children": [] } });
自定义屏幕点击的 Android 应用。该项目是基于无障碍功能的手机自动点击工具,支持自定义或订阅点击规则,可用来自动完成点击跳过广告、同意按钮、领红包等操作。
用 Python 写的开源离线翻译库。该项目是基于 OpenNMT(神经网络机器翻译框架)的离线翻译 Python 库,它不依赖任何第三方翻译接口,支持翻译包括中文在内的 30 多种语言。
import argostranslate.package import argostranslate.translate from_code = "en" to_code = "es" # Download and install Argos Translate package argostranslate.package.update_package_index() available_packages = argostranslate.package.get_available_packages() package_to_install = next( filter( lambda x: x.from_code == from_code and x.to_code == to_code, available_packages ) ) argostranslate.package.install_from_path(package_to_install.download()) # Translate translatedText = argostranslate.translate.translate("Hello World", from_code, to_code) print(translatedText) # '¡Hola Mundo!'
一个用 Python 写的开源、非营利搜索引擎。这是一款采用 pandas、FastAPI、scikit-learn、jusText 构建的非营利、无广告、无跟踪的小型搜索引擎,它界面简约、速度快,搜索结果无“外界因素”干扰。
绘制好看的地图海报的 Python 库。该项目可以将 OpenStreetMap 的地图数据绘制成漂亮的地图海报,上手简单可自定义填充颜色。
轻松管理 WebDriver 的 Python 库。经常写爬虫的小伙伴应该都遇到过找 WebDriver 路径的情况吧!用了这个项目,将无需一次又一次地重复寻找 WebDriver 在哪里啦。
# 之前 from selenium import webdriver driver = webdriver.Chrome('/home/user/drivers/chromedriver') # 现在 from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager driver = webdriver.Chrome(ChromeDriverManager().install())
模拟计算机操作系统的游戏。这是一个 Python 写的 Web 游戏,在游戏中玩家扮演的是一台计算机的操作系统。玩家必须通过管理进程、内存和 I/O 事件,不让进程闲置太久,因为进程等待太久就会退出,如果退出的进程达到一定数量后,计算机就会重启则游戏失败。
开源的文件在线签署平台。这是一款用 Ruby 写的在线签署文件平台,它开箱即用、容易上手、移动端友好,支持拖拽的方式创建 PDF 表单、在线填写和签名、自动发送邮件、用户管理等功能。
极简的开源 RSS 阅读器。这是一款基于 Tauri 开发的桌面 RSS 阅读器,它免费、无广告、界面清爽,适用于 macOS 和 Windows 操作系统。
Rust 写的跟踪和广告拦截工具。该项目基于 MITM 中间人攻击原理,在两端之间建立双向隧道,通过过滤 URL 地址阻止广告的请求,实现拦截广告的效果。它占用内存少、速度快,支持自动更新过滤列表、统计信息显示、自定义过滤列表等功能。
精致的 macOS 菜单栏番茄时钟。这是一款 macOS 上的番茄时钟应用,它小巧精致、界面简洁,支持设置工作和休息间隔、提示音、全局热键等功能。
Xcode 安装和切换的实用工具。Xcode 是 macOS 系统向开发人员提供的集成开发环境,该项目可以轻松安装和切换各个版本的 Xcode,采用 aria2 下载速度更快,Xcode 发行版数据来自苹果官网。
优雅地处理 hCaptcha 验证码的库。该项目不依赖浏览器插件和第三方反验证码服务,通过机器学习的方式处理 hCaptcha 验证码。它采用 ResNet 和 YOLOv8 处理分类和检测问题,通过 ONNX 打包模型降低使用门槛,让用户可在没有 GPU 的设备上运行代码,且无需安装 PyTorch 等依赖,优雅地面对 hCaptcha 验证码。
import os from pathlib import Path import hcaptcha_challenger as solver # Init local-side of the ModelHub solver.install() # Challenge prompt of binary challenge prompt = "diamond bracelet" # Load challenge images, assuming you've already downloaded them. label_dir = Path(__file__).parent.joinpath("diamond_bracelet") images = [label_dir.joinpath(fn).read_bytes() for fn in os.listdir(label_dir)] def bytedance(): classifier = solver.BinaryClassifier() # type: List[bool | None] # IF True --> click image # ELIF False --> bypass image # ELSE --> Something err if result := classifier.execute(prompt, images): for i, name in enumerate(os.listdir(label_dir)): print(f"{name} - {result[i]}") if __name__ == "__main__": bytedance()
谷歌开源的高性能科学计算库。这是一个结合了即时编译(JIT)、自动求导(Autograd)、线性代数编译器(XLA) 的数值计算 Python 库,用法和 NumPy 差不多。但 JAX 更快、更省内存,支持自动微分、自动向量化、并行计算等功能。
from jax import grad import jax.numpy as jnp def tanh(x): # Define a function y = jnp.exp(-2.0 * x) return (1.0 - y) / (1.0 + y) grad_tanh = grad(tanh) # Obtain its gradient function print(grad_tanh(1.0)) # Evaluate it at x = 1.0 # prints 0.4199743 # 自动求导 print(grad(grad(grad(tanh)))(1.0)) # prints 0.62162673
你的智能 AI 照片生成工具。这是一款用于生成 AI 肖像画的 WebUI 插件,可用于生成专业质感的照片,相当于免费、可本地部署的妙鸭相机。
超看好的主题配色方案。该项目是由社区驱动的配色方案,内含以暖色调为主、色彩丰富的主题,可用于 VSCode、JetBrains、Vim 等编辑器和 IDE,同样适用于各种编程语言的开发库、终端、操作系统、浏览器等应用。
一款免费的实时键鼠输入可视化软件。该项目可以将鼠标和键盘的操作展示到屏幕上,让观众可以看到你的键鼠操作。适用于截图、录制视频、演示和协作等场景,支持 Windows、Linux 和 macOS 操作系统。
免费开源的 AIGC 课程。该项目对新手友好、无需 AI 知识也可轻松学习,它不仅会传授如何用好 AIGC,还会深入讨论 AI 相关的知识,内容包括 ChatGPT、Runway、Midjourney、Stable Diffusion、AI 数字人等方面。
Python 潮流周刊。这是一份由「豌豆花下猫」制作的每周更新的 Python 周刊,内容包括 Python 的精品文章、教程、开源项目、工具、视频和热门话题等。
显示 GitHub 项目所用技术栈的浏览器插件。该项目可以展示用户正在访问的 GitHub 仓库的技术栈,帮助用户快速了解项目的更多信息。
从基础理论讲起的 WebGL 教程。这是一份从基础的数学知识讲起的 WebGL 系列教程,内含中文翻译版本。
《CSS 动画入门秘籍》。这本书主要是介绍 CSS 中的动画(CSS animation),内容包含什么是 CSS animation、transition 属性、如何制作复杂的动效以及丰富的示例,教会你如何将 CSS 动画应用到你的项目中。
《跟我一起写 Makefile》。该项目是陈皓整理自《GNU Make Manual 》的系列文章 PDF 重制版,作者对其进行了排版优化、代码高亮等操作,阅读起来更加舒服,可作为初学者上手 Makefile 的教程。
- C 项目
- C# 项目
- C++ 项目
- CSS 项目
- Go 项目
- Java 项目
- JavaScript 项目
- Kotlin 项目
- Python 项目
- Ruby 项目
- Rust 项目
- Swift 项目
- 人工智能
- 其它
- 开源书籍