下拉刷新
目录

《HelloGitHub》第 103 期

HelloGitHub 分享 GitHub 上有趣、入门级的开源项目,每月 28 号更新一期。这里有好玩和入门级的开源项目、开源书籍、实战项目、企业级项目,让你用极短的时间感受到开源的魅力,对开源产生兴趣。

C 项目
Star 3.5k
Fork 223
2 天前

仅用 C 语言开发 Android 应用。这是一个 Android 应用开发框架,可以让开发者不用 Java,仅用 C 和 Make 开发 Android 应用。它轻量且跨平台,支持 OpenGL ES、陀螺仪、多点触控及 Android 键盘,并能直接访问 USB 设备。

rawdrawandroid
2
taisei
Star 1.1k
Fork 96
2 天前

免费开源的东方 Project 系列的射击游戏。该项目是基于东方 Project 世界观的弹幕射击类游戏,拥有独立原创的故事情节、音乐和游戏机制。这款名为“泰西”的游戏,采用 C11、SDL2 和 OpenGL 开发,完全免费且开源,支持在 Windows、Linux、macOS 和 Chrome 等浏览器上运行。

taisei
C# 项目
Star 1.2w
Fork 585
2 天前

免费的 Windows 应用卸载神器。这是一个用 C# 开发的 Windows 软件卸载工具,能够快速删除大量不需要的应用程序。它完全免费、开箱即用,支持批量和强制卸载、清理残留文件、检测隐藏或受保护的已注册应用等功能。虽然面向 IT 专业人员设计,但其简单的默认设置,让任何人都能轻松上手。

Bulk-Crap-Uninstaller
Star 877
Fork 71
2 天前

将手机变成 Stream Deck 的工具。该项目可以将手机、平板等带浏览器的设备变成类似 Stream Deck 的远程自定义按键板,实现一键执行单步或多步操作,适用于直播和简化日常任务等场景。

Macro-Deck
C++ 项目
5
aria2
Star 3.6w
Fork 3.6k
2 天前

超快的命令行下载工具。这个跨平台命令行下载工具由 C++ 开发,支持 HTTP(S)、FTP、SFTP、BitTorrent 等多种协议。它操作简单、体积小、下载速度快,并提供后台运行、速度限制、分段下载和 BitTorrent 扩展等功能。

Star 1.5k
Fork 131
2 天前

速度与精准兼具的 C++ 数字解析库。该项目是用于快速解析数字字符串的 C++ 库,实现了类似 from_charts 函数的功能。它是一个速度极快、仅头文件的库,比标准库快数倍。支持解析 float、double 和整数类型的字符串,已被广泛应用在 Chromium、Redis 和 LLVM 等知名项目中。

#include "fast_float/fast_float.h" #include <iostream> int main() { const std::string input = "3.1416 xyz "; double result; auto answer = fast_float::from_chars(input.data(), input.data()+input.size(), result); if(answer.ec != std::errc()) { std::cerr << "parsing failure\n"; return EXIT_FAILURE; } std::cout << "parsed the number " << result << std::endl; return EXIT_SUCCESS; }
fast_float
7
mame
Star 8.2k
Fork 2k
2 天前

开源的街机模拟器。这是一款支持海量街机游戏的模拟器。它通过模拟多种硬件平台,实现了在电脑上运行各种复古软件的功能。不仅支持街机,还有老式电脑和游戏机。

mame
Go 项目
8
beszel
Star 1.9k
Fork 67
2 天前

轻量级高颜值的 Docker 监控平台。这是一个轻量级的服务器监控平台,包括 Docker 统计、历史数据和警报功能。它拥有友好的 Web 界面,配置简单、开箱即用,支持自动备份、多用户、OAuth 认证和 API 访问等功能。

beszel
9
envd
Star 2k
Fork 156
2 天前

高效的 AI 开发环境搭建工具。这是一个为 AI/ML 项目提供可复现开发环境的命令行工具。只需简单的配置语言和命令,即可快速创建基于容器的开发环境,支持远程构建、依赖缓存和导入远程仓库等功能。

envd
10
gophish
Star 1.1w
Fork 2.2k
2 天前

开源的网络钓鱼平台。该项目提供了一个开箱即用的网络钓鱼平台,可用于模拟钓鱼攻击。它拥有友好的 Web 管理后台,支持邮件模板、批量发送邮件、网站克隆和数据可视化,适用于企业安全培训和渗透测试等场景。

gophish
Star 2.3w
Fork 891
2 天前

实现基础设施即代码的开源方案。该项目是一个开源的基础设施即代码工具,专注于自动化地创建、管理和部署本地和云服务基础设施。作为 Terraform 的一个分支,它由社区驱动,支持使用高级配置语法描述基础设施、生成执行计划和构建资源依赖图,从而减少人为操作失误,实现复杂变更的自动化。

opentofu
Star 5.2k
Fork 395
2 天前

极简的照片管理平台。这是一款用于自建云相册的 Web 应用,它拥有直观的用户界面和丰富的功能,支持自动整理照片、生成缩略图、共享相册、EXIF 解析和多用户管理。还提供了 iOS 应用,方便用户在手机上访问。

photoview
Java 项目
13
GoGoGo
Star 4.3k
Fork 545
2 天前

开源的 Android 虚拟定位应用。该项目是一个基于 Android 调试 API 和百度地图实现的虚拟定位工具,无需 ROOT 权限即可修改地理位置。它支持位置搜索和手动输入坐标,并提供了一个可自由移动的摇杆来模拟位移。

GoGoGo
14
karate
Star 8.2k
Fork 1.9k
2 天前

开源的 API 自动测试框架。这是一款基于 Java 的 API 测试框架,可与 Spring Boot、Maven 等 Java 生态系统无缝集成。它整合了 API 测试自动化、模拟、性能测试和 UI 自动化等功能,支持使用类似 Cucumber 的语法编写测试用例,并提供了一个跨平台的可执行文件,即使对 Java 不熟悉也能轻松上手。

karate
JavaScript 项目
15
icones
Star 5.4k
Fork 256
2 天前

极简的图标搜索网站。这是一个用于快速查找各种图标的网站,支持分类过滤和多选模式。用户可将选择的图标打包为字体或直接下载 SVG 格式。

icones
Star 1.6k
Fork 68
2 天前

打造现代化网页播放器界面的组件库。这是一个用于定制网页音频和视频播放器界面的库,兼容各种 JavaScript 框架。它高度可定制,开发者可以轻松调整组件的外观和功能,支持字幕、投屏、快捷键、倍速、预览缩略图、移动端和静音按钮等功能。

<media-controller audio> <audio slot="media" src="xxxxxx" ></audio> <media-control-bar> <media-play-button></media-play-button> <media-time-display showduration></media-time-display> <media-time-range></media-time-range> <media-playback-rate-button></media-playback-rate-button> <media-mute-button></media-mute-button> <media-volume-range></media-volume-range> </media-control-bar> </media-controller>
media-chrome
Star 1.5k
Fork 196
2 天前

可爱的网站计数器。该项目是一个用于统计页面访问人数的计数器。它不仅简单易用,还提供多种可爱风格的主题,用户可根据个人喜好进行选择。

Moe-Counter
18
piscina
Star 4.3k
Fork 105
2 天前

灵活高效的 Node.js 线程池。该项目是用 TypeScript 编写的高性能 Node Worker 线程池,旨在简化 Node.js 多线程编程。它提供简单易用的 API,支持线程间通信、动态调整线程池大小、取消任务、设置内存限制和异步任务跟踪等功能。

const path = require('path'); const Piscina = require('piscina'); const piscina = new Piscina({ filename: path.resolve(__dirname, 'worker.js') }); (async function() { const result = await piscina.run({ a: 4, b: 6 }); console.log(result); // Prints 10 })();
19
swapy
Star 6.2k
Fork 120
2 天前

轻松实现拖动交换布局的库。该项目可以将任意布局转换为可拖动交换的形式,仅需几行代码即可实现。它支持设置交互动画,可以在 React、Vue、Svelte 等框架中使用,适用于各种需要交互式布局的场景。

import { createSwapy } from 'swapy' const container = document.querySelector('.container') const swapy = createSwapy(container, { animation: 'dynamic' // or spring or none }) // You can disable and enable it anytime you want swapy.enable(true)
swapy
Kotlin 项目
Star 1.5k
Fork 139
2 天前

在手机上制作 USB 启动盘的工具。这是一个开源的 Android 应用,专为在手机上制作操作系统 USB 启动盘而设计。它无需 ROOT 权限,即可将操作系统镜像写入 USB 设备,支持 Ubuntu、树莓派等多个系统,适用在无法使用电脑时制作启动 U 盘。

etchdroid
Star 1.2k
Fork 156
2 天前

Android 按键重映射应用。这是一个免费开源的 Android 应用,可以自定义 Android 设备的按键、指纹和手势操作。无需 ROOT 权限,支持蓝牙和有线键盘,提供灵活的按键重映射体验。

KeyMapper
Python 项目
Star 1.4w
Fork 3.9k
2 天前

Python 量化交易回测框架。该项目是用 Python 编写的回测库,专为开发和测试交易策略而设计。它可以从 CSV 文件、在线数据源和 pandas 中提取数据,支持多策略同步运行、生成交易策略的可视化图表等功能。内置 100 多种指标,包括趋势、成交量和波动性等指标。

from datetime import datetime import backtrader as bt class SmaCross(bt.SignalStrategy): def __init__(self): sma1, sma2 = bt.ind.SMA(period=10), bt.ind.SMA(period=30) crossover = bt.ind.CrossOver(sma1, sma2) self.signal_add(bt.SIGNAL_LONG, crossover) cerebro = bt.Cerebro() cerebro.addstrategy(SmaCross) data0 = bt.feeds.YahooFinanceData(dataname='MSFT', fromdate=datetime(2011, 1, 1), todate=datetime(2012, 12, 31)) cerebro.adddata(data0) cerebro.run() cerebro.plot()
backtrader
23
core
Star 7.3w
Fork 3.1w
2 天前

开源的智能家居平台。这是一个用 Python 编写的智能家居平台,旨在整合不同品牌的智能设备,提供个性化的家庭自动化体验。它解决了传统系统互操作性(Interoperability)差的问题,允许用户在同一平台上自由控制和联动 Apple HomeKit、米家、Aqara、涂鸦等设备,极大提升了智能家居的灵活性和便捷性。适合希望打破单一平台限制的用户,尤其是追求高性价比的 DIY 智能家居爱好者。

core
Star 2w
Fork 1.1k
2 天前

纸质文档数字化存档工具。这是一个基于 Django 的文档管理系统,可将纸质文档转换成可搜索的在线存档。不同于普通的扫描仪将实体书变为难以检索的图片或 PDF 格式,它通过文档扫描器实现电子化,转化为易于检索的格式。

paperless-ngx
25
pipreqs
Star 6.6k
Fork 393
2 天前

快速生成 Python 项目依赖文件的工具。该项目可以根据 Python 项目中的导入语句,生成 requirements.txt 文件。它能够自动识别项目中使用的库,无需安装即可生成依赖库列表。

26
pokeapi
Star 4.3k
Fork 949
2 天前

宝可梦数据的 API 服务。这是一个基于 Django 构建的宝可梦数据 RESTful API 服务,为开发者提供全面的宝可梦数据库,包括小精灵的动作、属性、技能和进化信息等详细资料。

Rust 项目
27
insta
Star 2.2k
Fork 100
2 天前

Rust 的快照测试库。这是一个用于 Rust 项目的快照测试库,特别适用于参考值非常大或经常变化的场景。它提供了 VSCode 插件和命令行工具,当测试因参考值变动而失败时,可以通过 review 命令查看问题,并一键更新快照(参考值),从而快速通过单元测试。

fn split_words(s: &str) -> Vec<&str> { s.split_whitespace().collect() } #[test] fn test_split_words() { let words = split_words("hello from the other side"); insta::assert_yaml_snapshot!(words); }
insta
28
oha
Star 6k
Fork 147
2 天前

Rust 驱动的 HTTP 压测工具。这是一个用 Rust 开发的 HTTP 请求压测工具,它操作简单、带 TUI 动画界面,支持生成请求延迟、吞吐量等指标的报告,以及动态 URL 和更灵活的请求间隔(burst-delay)等功能。

oha
29
steel
Star 1.2k
Fork 53
2 天前

基于 Rust 的嵌入式 Scheme 解释器。这是一个用 Rust 编写的嵌入式 Scheme 解释器,旨在提供轻量级且快速的脚本语言支持。它解决了在嵌入式环境或小型应用中对高效、灵活脚本引擎的需求。

steel
Swift 项目
Star 868
Fork 45
2 天前

灵感来自 Winamp 的 macOS 音乐播放器。该项目是受经典的 Winamp 播放器启发,用 Swift 编程语言开发的适用于 macOS 的音乐播放器。它内置音效和均衡器,支持多种音频格式、回放、歌词显示、自定义界面等功能。

aural-player
Star 1.4k
Fork 34
2 天前

适用于 macOS 的窗口预览工具。该项目是用 Swift 和 SwiftUI 开发的 Dock 窗口预览工具。只需将鼠标悬停在 Dock 上的应用图标,即可预览其打开的窗口,还支持类似 Windows 的 Alt+Tab 切换和自定义快捷键的功能。

DockDoor
人工智能
Star 5.2k
Fork 451
2 天前

小型的视觉语言模型。这是一个可在资源受限的设备上运行的小型视觉语言模型,它能够理解并生成与图像相关的自然语言描述,支持图像识别、生成描述和问答等功能。

from transformers import AutoModelForCausalLM, AutoTokenizer from PIL import Image model_id = "vikhyatk/moondream2" revision = "2024-08-26" model = AutoModelForCausalLM.from_pretrained( model_id, trust_remote_code=True, revision=revision ) tokenizer = AutoTokenizer.from_pretrained(model_id, revision=revision) image = Image.open('<IMAGE_PATH>') enc_image = model.encode_image(image) print(model.answer_question(enc_image, "Describe this image.", tokenizer))
moondream
Star 1.3k
Fork 138
2 天前

全面的提示工程实战指南。这份教程致力于帮助用户掌握与大型语言模型(LLM)沟通的技巧。内容涵盖从基础到高级的提示工程技术,附有详细的实现指南和示例代码。

34
spaCy
Star 3w
Fork 4.4k
2 天前

强大的自然语言处理 Python 库。这是一个工业级的自然语言处理(NLP)库,支持 70 多种语言的分词和训练。它采用 Python 编写,可实现标注、解析和文本分类等功能,并支持模型打包与部署。

# pip install -U spacy # python -m spacy download en_core_web_sm import spacy # Load English tokenizer, tagger, parser and NER nlp = spacy.load("en_core_web_sm") # Process whole documents text = ("When Sebastian Thrun started working on self-driving cars at " "Google in 2007, few people outside of the company took him " "seriously. “I can tell you very senior CEOs of major American " "car companies would shake my hand and turn away because I wasn’t " "worth talking to,” said Thrun, in an interview with Recode earlier " "this week.") doc = nlp(text) # Analyze syntax print("Noun phrases:", [chunk.text for chunk in doc.noun_chunks]) print("Verbs:", [token.lemma_ for token in doc if token.pos_ == "VERB"]) # Find named entities, phrases and concepts for entity in doc.ents: print(entity.text, entity.label_)
Star 3.2w
Fork 6.1k
2 天前

先进的对象检测和跟踪模型。该项目是基于之前的 YOLO 版本,增加了新功能并改进了模型,在对象检测、跟踪、实例分割和图像分类等任务中表现出色。

from ultralytics import YOLO # Load a model model = YOLO("yolo11n.pt") # Train the model train_results = model.train( data="coco8.yaml", # path to dataset YAML epochs=100, # number of training epochs imgsz=640, # training image size device="cpu", # device to run on, i.e. device=0 or device=0,1,2,3 or device=cpu ) # Evaluate model performance on the validation set metrics = model.val() # Perform object detection on an image results = model("path/to/image.jpg") results[0].show() # Export the model to ONNX format path = model.export(format="onnx") # return path to exported model
ultralytics
其它
Star 1.7k
Fork 36
2 天前

B 站视频空降助手。这是一款能够自动跳过 B 站视频中恰饭片段和开场、结尾动画的浏览器插件,所有标注数据均由网友贡献,支持 Chrome、Edge 和 FireFox 浏览器。

BilibiliSponsorBlock
Star 4.8k
Fork 98
2 天前

降低开发者认知负荷的建议。这是一篇关于如何在软件开发过程中,降低认知负荷的文章。即简化代码、提高代码的可读性,减轻开发者在阅读和理解代码时的负担。

cognitive-load
38
dockerc
Star 3k
Fork 47
2 天前

将 Docker 镜像编译为独立可执行文件的工具。该项目能将 Docker 镜像转化为二进制可执行文件,无需配置 Docker 环境或安装依赖,简化了软件的分发和运行流程。

Star 4.3k
Fork 706
2 天前

Kubernetes 安全攻防演练平台。该项目是用于构建漏洞百出、易受攻击的集群环境,让开发者可以在真实场景中学习 K8s 攻击和防御技巧。

Star 6.7k
Fork 263
2 天前

开源的 bilibili 第三方客户端。该项目是用 Flutter 开发的 B 站第三方客户端,支持 Android 和 iOS 平台。它提供了推荐视频列表、热门直播、番剧、离线缓存、回复评论、弹幕和搜索等功能。

pilipala
Star 1.2k
Fork 244
2 天前

卡西欧 F-91W 手表的开源电路板。该项目是为经典 Casio F-91W 手表自制电路板,采用 ARM Cortex-M0+ 微控制器(SAM L22)。配备十位数段液晶显示屏、五个指示段、LED 背光和三个按钮,支持用户通过 USB 编程,在手表上运行自定义程序。

Sensor-Watch
Star 1.7k
Fork 281
2 天前

挑战写作效率极限的工具。这是一个帮助用户进入写作“心流”状态的 Web 应用。如果你停止输入超过 5 秒,屏幕上的文字就会逐渐变得模糊,最终会彻底消失。

themostdangerouswritingapp
开源书籍
43
udlbook
Star 6.4k
Fork 1.3k
2 天前

《Understanding Deep Learning》理解深度学习。该书是由 Simon J.D. Prince 编写的一本关于深度学习的专业书籍,内容涵盖深度学习的理论基础、性能评估、卷积网络、Transformers、图神经网络、生成对抗网络(GANs)、扩散模型(Diffusion Models)、强化学习等主题,并附有大量练习题。

udlbook
目录
  • C 项目
  • C# 项目
  • C++ 项目
  • Go 项目
  • Java 项目
  • JavaScript 项目
  • Kotlin 项目
  • Python 项目
  • Rust 项目
  • Swift 项目
  • 人工智能
  • 其它
  • 开源书籍