编程语言

Rust

共 141 个项目
← 项目库
harper
Rust第 124 期

harper

本地优先的英语语法检查工具。这是一个用 Rust 编写的英文语法检查工具,可在本地完成语法分析,无需将内容上传到服务器。它检查速度快、内存占用少,可编译成 WebAssembly 在浏览器里运行,也能集成到 VS Code、Neovim、Helix、Emacs、Zed 等编辑器中使用。

herdr
Rust第 124 期

herdr

管理多个 AI 编程助手的终端工具。该项目是用 Rust 编写的终端多路复用工具,专为同时操作多个 AI 编程助手而设计。它能在一屏内查看每个助手的终端画面,一眼看出谁在运行、谁卡住、谁已完成。支持断开后继续运行、随时从其他终端或 SSH 重新接入,同时兼容 tmux 风格的快捷键。

来自 @JRZYgit 的分享
llmfit
Rust第 123 期

llmfit

一条命令找出本地能运行的模型。这是一款用 Rust 编写的终端工具,能够自动检测本机的 CPU、GPU、内存等硬件信息,并推荐适合本地运行的大模型。它会从质量、速度、适配度和上下文等维度给模型打分排序,支持 Ollama、llama.cpp、MLX、vLLM、LM Studio 等主流本地推理环境。

rerun
Rust第 123 期

rerun

物理 AI 的多模态数据可视化平台。这是一款专为机器人和物理 AI 场景打造的多模态数据可视化平台,支持图像、点云、时序数据、关节状态等随时间变化的传感器数据。它内置实时查看器支持回放和多传感器并排对比,可通过 DataFrame 或 SQL 查询数据,并提供 Python、Rust 和 C++ SDK。

来自 @Jas0nG 的分享
smolvm
Rust第 123 期

smolvm

亚秒级冷启动的虚拟机管理工具。这是一款轻量级的虚拟机管理工具,虚拟机冷启动不到一秒。让你用接近容器的体验,获得虚拟机级别的隔离,兼容 Docker 镜像,支持将虚拟机打包成单个可执行文件,方便迁移和运行。

dbx
Rust第 122 期

dbx

轻量级跨平台数据库桌面客户端。这是一款轻量级、跨平台、可离线使用的数据库桌面客户端,支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB 等 40+ 种数据库。它集成了连接管理、SQL 编辑、数据表格和 AI 助手功能,并提供 Docker 自托管、Web 版、MCP Server 和 CLI。

来自 @skyler 的分享
gittype
Rust第 122 期

gittype

把代码变成打字游戏的工具。这是一款能够将你写的代码或 GitHub 项目转换成打字挑战的工具,支持 Rust、TypeScript、Python 等编程语言,并提供实时准确率统计和多种游戏模式,适合在练习键盘输入时顺便熟悉代码。

来自 @Yuji Ueki 的分享
gyroflow
Rust第 122 期

gyroflow

消除视频画面抖动的工具。这是一款基于陀螺仪数据实现的视频防抖应用,兼容 GoPro、Sony、Insta360、DJI 等主流设备。它提供实时预览、滚动快门校正、水下拍摄、自适应缩放等功能,并可作为插件适配多种视频编辑器,支持 Windows、macOS、Linux、Android、iOS 平台。

abtop
Rust第 121 期

abtop

像 top 一样监控 AI 编程助手的工具。这是一款监控多个 Claude Code、Codex CLI 等 AI 编程 Agent 的命令行工具,支持实时查看每个 Agent 会话的 token 用量、上下文窗口、速率限制和端口等信息。

cc-switch
Rust第 121 期

cc-switch

一键切换 AI 渠道配置的工具。这是一款跨平台的 AI 编程助手增强工具,支持 Claude Code、Codex 和 Gemini CLI 等。它提供了一键切换 API 节点、自动故障转移、Skills 统一管理、用量追踪等功能,适用于 Windows、macOS 和 Linux 平台。

来自 @彩虹い知己 的分享
velopack
Rust第 121 期

velopack

跨平台桌面应用的安装与自动更新框架。这是一款面向跨平台桌面应用的安装和自动更新框架,只需一条命令即可快速构建安装包、更新包和增量包,支持 C#、C++、JS、Rust 等多种编程语言。

来自 @sp2dev 的分享
wsl-dashboard
Rust第 121 期

wsl-dashboard

轻量级的 WSL 实例管理面板。这是一款基于 Rust 和 Slint 开发的 Windows WSL 实例管理桌面应用,最小化到托盘仅占用约 10MB 内存。支持一键启动、停止、迁移、导出/克隆实例,以及端口转发、状态监控、网络管理、USB 设备挂载等功能,显著提升在 Windows 上管理 Linux 发行版的效率和体验。

来自 @owu 的分享
arnis
Rust第 120 期

arnis

将现实世界场景装进我的世界。这是一款能够将现实世界的地理数据转化为 Minecraft 游戏内地图的工具,用户仅需在交互式地图上选择区域,即可自动生成包含地形、街道、建筑和森林的游戏存档,适用于 Minecraft Java 版(1.17+)和基岩版。

来自 @IZRINO 的分享
rtk
Rust第 120 期

rtk

降低 Token 消耗的命令行工具。这是一款用于降低 AI 编程助手 Token 消耗的工具,通过压缩常见开发命令的输出、合并重复日志、删除代码注释和多余空行等方式,可将 Token 消耗减少 60-90%,有效延长套餐配额的使用时间。

FaceWinUnlock-Tauri
Rust第 119 期

FaceWinUnlock-Tauri

开源的 Windows 人脸识别解锁工具。这是一款基于 Tauri 框架开发的 Windows 面容识别解锁增强工具,为没有红外摄像头的普通 Windows 电脑提供类似 Windows Hello 的刷脸解锁体验。

monty
Rust第 119 期

monty

启动速度极快的 Python 解释器。该项目是 Pydantic 团队用 Rust 开发的 Python 解释器,具有启动快、安全隔离、状态快照等特点,适合在 AI Agent 中运行大模型生成的 Python 代码。

weathr
Rust第 119 期

weathr

Rust 写的实时 ASCII 天气动画。这是一款用 Rust 编写的终端查看天气工具,可通过 ASCII 动画实时展示当前天气情况,支持下雨、下雪、闪电和昼夜变化等动画效果。

serie
Rust第 118 期

serie

可视化展示 Git 提交历史的工具。该项目能够将 Git 提交历史以可视化图表方式展示,可作为 git log --graph 命令的替代品,支持灵活排序、自定义快捷键和外部命令扩展。

zensical
Rust第 118 期

zensical

开箱即用的静态网站生成器。该项目是由 Material for MkDocs 团队用 Rust 和 Pyhton 重写的静态网站生成器,可基于 Markdown 文件构建出美观、专业且具备搜索功能的静态文档网站。它开箱即用、可自定义,兼容现有 Material for MkDocs 项目配置方便迁移。

check-if-email-exists
Rust第 117 期

check-if-email-exists

无需发邮件验证邮箱有效性的工具。这是一款用 Rust 开发的邮箱验证工具,通过正则表达式、DNS、SMTP 等多重校验,在不发送邮件的情况下验证邮箱有效性,支持 API 和 CLI 等使用方式。

hl
Rust第 117 期

hl

Rust 高性能命令行日志查看器。这是一款 Rust 写的高性能命令行日志查看和处理工具,能够将 JSON 和 logfmt 格式的结构化日志转换为高亮且易于人类阅读的格式。

来自 @刘睿华 的分享
gitlogue
Rust第 116 期

gitlogue

回放你的 Git 提交历史。这是一个能够将 Git 提交历史转化为动画的命令行工具,通过打字动画和代码高亮,在终端里生动展示每一次变更。

xan
Rust第 116 期

xan

终端里的 CSV 数据魔术师。这是一个能够处理 GB 级超大 CSV 文件的命令行工具,支持预览、过滤、切片、聚合、排序等操作,并可在终端里通过直方图、热力图等方式进行数据可视化。

来自 @DeShuiYu 的分享
touchHLE
Rust第 115 期

touchHLE

让经典 iPhone 游戏在现代设备上重获新生。该项目是用 Rust 开发的 iOS 游戏模拟器,可运行 iPhone OS 2.x 和 3.x 等早期版本的 iOS 游戏。它采用高级模拟(HLE)技术,通过实现 UIKit、OpenGL ES 等原生框架来运行应用,而非直接模拟底层硬件,支持 Windows、macOS 和 Android 平台。

来自 @kero990 的分享
yaak
Rust第 115 期

yaak

离线优先的桌面 API 客户端。这是一款快速、离线优先的桌面 API 客户端,支持 REST、GraphQL、SSE、WebSocket 和 gRPC 协议。它基于 Rust、Tauri 和 React 构建,界面友好、跨平台可用,无遥测和云端锁定,提供简洁纯粹、不受干扰的使用体验。

来自 @刘睿华 的分享
暂无截图
Rust第 114 期

rust-tutorial

新手友好的 Rust 实战教程。这是一个专为 Rust 初学者设计的快速入门教程,带你一步步实现一个可用的命令行 Todo 应用。

Seelen-UI
Rust第 114 期

Seelen-UI

高度可定制的 Windows 桌面美化工具。这是一款免费开源的 Windows 桌面增强工具,专注于高度自定义和效率提升。它采用 Rust 语言开发,结合 Tauri 框架与 Web 技术,支持窗口平铺管理、应用启动器、Dock、任务栏、动态壁纸、插件扩展等功能。

来自 @Rainux He 的分享
xh
Rust第 114 期

xh

更友好的命令行 HTTP 客户端。这是一个用 Rust 编写的命令行 HTTP 客户端,支持语法高亮、JSON 格式化、下载进度条、会话 Cookie 持久化等功能,可完美替代 cURL。

来自 @DeShuiYu 的分享
doxx
Rust第 113 期

doxx

终端里的 Word 文档阅读器。这是一款用 Rust 开发的终端 Word 文档查看工具,可在命令行中快速渲染 .docx 文件,保留格式、表格和颜色效果。它提供交互式界面,支持全文搜索、图片显示、多格式导出等功能。

来自 @size_t 的分享
oryx
Rust第 113 期

oryx

基于 eBPF的 Linux 网络流量分析工具。这是一款基于 eBPF 技术的网络流量嗅探分析工具,在 Linux 上秒开网络流量全景监控。它提供终端可视化界面,详细展示流量统计信息,支持防火墙规则管理、模糊搜索和数据导出等功能。

来自 @DeShuiYu 的分享
rustfs
Rust第 112 期

rustfs

基于 Rust 的高性能分布式存储系统。该项是用 Rust 构建的高性能分布式对象存储系统,致力于成为 MinIO 的开源替代品。它安装简单、兼容 S3 协议,采用更友好的开源协议,并内置界面清爽的 Web 管理后台。同时,支持国产保密设备和系统,适用于海量数据存储、大数据、互联网、工业和保密存储等场景。

来自 @SR.李 的分享
tabiew
Rust第 112 期

tabiew

命令行数据文件可视化浏览工具。这是一款用于浏览和查询表格数据文件(如 CSV、Parquet、Arrow、Excel 等)的命令行工具。它提供交互式界面体验、支持 SQL 查询、多表操作、模糊搜索和 Vim 风格快捷键等功能。

来自 @HBSpy 的分享
microbin
Rust第 111 期

microbin

极简的文件分享和短链接平台。这是一款用 Rust 编写的轻量级 Web 应用,集共享文件、在线剪贴板和 URL 短链接于一体。它安全可靠且易于部署,支持自动过期、设置密码和保护级别等功能。

来自 @xici 的分享
mise
Rust第 111 期

mise

一站式多语言开发环境管理工具。这是一款用 Rust 编写的开发环境管理工具,集多语言工具链切换、环境变量管理和任务自动化于一体,轻松解决多版本编程语言、环境隔离和自动化构建等问题,可替代 asdf、nvm、pyenv、direnv、make 等多种工具。

somo
Rust第 111 期

somo

更友好的端口查看工具。这是一款专为 Linux 设计的人性化、界面友好的命令行工具,用于监控 socket 和本地端口。它以美观紧凑的表格实时展示端口与进程的网络连接信息,支持筛选、排序和格式化输出,可作为 netstat 替代品。

来自 @kero990 的分享
dysk
Rust第 110 期

dysk

更好用的 df 命令替代工具。该项目是基于 Rust 开发的查看 Linux 系统磁盘使用情况的工具,提供比 df 命令更直观的数据展示,支持自定义列显示、过滤、排序等功能。

来自 @刘睿华 的分享
edit
Rust第 110 期

edit

微软开源的终端文本编辑器。该项目是采用 Rust 开发的终端(TUI)文本编辑器,致敬经典的 MS-DOS Editor。它体积小、启动快、跨平台,并提供了类似 VSCode 的快捷键和交互体验,适用于简单的文本编辑场景。

hurl
Rust第 109 期

hurl

纯文本定义 HTTP 请求的工具。这是一个 Rust 写的命令行工具,可以用纯文本定义 HTTP 请求。它开箱即用、易于集成,可以轻松发起 HTTP 请求,支持多个链接、GraphQL、结果校验等功能。```POST https://example.org/api/tests{"id": "4568","evaluate": true}HTTP 200[Asserts]header "X-Frame-Options" == "SAMEORIGIN"jsonpath "$.status" == "RUNNING" # Check the status code jsonpath "$.tests" count == 25 # Check the number of items jsonpath "$.id" matches /\d{4}/ # Check the format of the id```

vector
Rust第 109 期

vector

开源高性能可观测性数据管道。该项目是 Datadog 开源的高性能、端到端可观测性数据管道,全面掌控自己的可观测性数据。它能够采集、处理和转发日志、指标等监控数据,支持将数据发送到不同平台和服务商,实现灵活高效的观测数据管理。

来自 @刘睿华 的分享
verus
Rust第 109 期

verus

为 Rust 提供静态验证的工具。这是一个用于验证 Rust 代码正确性的工具,避免运行时出错。它允许开发者编写代码规范(specification),然后通过静态检查,确保代码在所有可能的执行路径上都满足规范要求。

bili-shadowreplay
Rust第 108 期

bili-shadowreplay

B 站直播切片助手。这是一款专为 bilibili 直播设计的切片工具,帮助用户在直播过程中实时生成和管理切片,支持实时切片、直播缓存、编辑切片、记录时间点、投稿以及多账户等功能。

暂无截图
Rust第 108 期

evcxr

没错 Rust 也有解释器。这是一个交互式的 Rust 编程工具,类似于 Jupyter Notebook 和 IPython。它提供一个交互式的 Rust 编程环境,用户可以实时执行 Rust 代码并查看结果。

来自 @chenxu 的分享
NBping
Rust第 107 期

NBping

Rust 的多地址并发 Ping 工具。这是一个用 Rust 开发的可视化 Ping 工具,支持同时对多个目标地址并发 Ping 操作。它提供了分区折线图和表格视图等可视化展示,支持实时动态展示延迟、丢包率等性能指标,同时兼容 IPv4 和 IPv6 网络环境。

来自 @韩数 的分享
neovide
Rust第 107 期

neovide

用 Rust 打造的 Neovim 客户端。这是一款为 Neovim 编辑器(Vim 的重构版本)设计的跨平台桌面客户端。它在保留 Nvim 核心功能的基础上,提供了现代化的图形界面,带来更友好的使用体验。

simple-http-server
Rust第 107 期

simple-http-server

Rust 的轻量级 HTTP(s) 服务器。该项目是用 Rust 编写的轻量级 HTTP(s) 服务器,可快速提供简单易用的静态文件服务。它拥有开箱即用、跨平台的特点,支持 HTTPS、认证、CORS 配置、文件上传等功能。

aquascope
Rust第 106 期

aquascope

可视化 Rust 代码执行过程的工具。这是一个 Rust 代码可视化的工具,直观展示代码的编译和运行细节,帮助开发者理解 Rust 语言的运行机制。

code2prompt
Rust第 106 期

code2prompt

将代码库转换为 LLM 提示的工具。这是一个 Rust 写的命令行工具,能够将代码库快速转换为适用于 LLM 的提示词(Markdown 文件)。它会自动遍历目录,生成代码结构树并整合到提示词中,同时支持提示词模板、Token 计算、生成 Git 提交信息、文件筛选等功能。

rpg-cli
Rust第 106 期

rpg-cli

将你的文件系统变成一个地牢游戏。这是一款用 Rust 编写的命令行 RPG 游戏,每次执行 cd 命令时,都可能遭遇敌人并触发回合制战斗(自动),游戏支持角色升级、物品、职业和宝箱等功能。

himalaya
Rust第 105 期

himalaya

管理邮件的命令行工具。这是一个用 Rust 开发的命令行电子邮件客户端,支持多账户、邮件收发、多种邮件协议(如 IMAP 和 SMTP)和 PGP 加密等功能。

zoxide
Rust第 105 期

zoxide

更智能的 cd 命令。这是一个用 Rust 编写的高效 cd 命令工具,灵感来自 z 和 autojump。它能够根据用户访问频率自动排序目录,快速定位最可能的目标目录,并支持模糊匹配和交互选择。

来自 @IZRINO 的分享
暂无截图
Rust第 104 期

kanata

跨平台的键盘重映射工具。这是一个用 Rust 语言开发的键盘重映射工具,用户可根据自身需求自定义键盘布局和功能,支持点击按住、组合键编程、设置按键响应速度,适用于 Windows、Linux 和 macOS 系统。

surrealdb
Rust第 104 期

surrealdb

端到端的云原生数据库。这是一个用 Rust 开发的多模型数据库,支持表格(Table)、文档(Documents)和图(Graph)数据模型。它既可以作为数据库使用,也可作为 API 后端服务,支持 SQL、GraphQL、ACID 事务、图查询和全文索引等多种查询方式。

tauri
Rust第 104 期

tauri

Rust 驱动的跨平台桌面应用开发框架。这是一个用于构建更小、更快、更安全的桌面和移动应用的框架,支持 macOS、Windows、Linux、Android 和 iOS 平台。它允许使用前端框架构建用户界面,并内置应用打包器、系统托盘图标和原生通知等功能。

来自 @DeShuiYu 的分享
insta
Rust第 103 期

insta

Rust 的快照测试库。这是一个用于 Rust 项目的快照测试库,特别适用于参考值非常大或经常变化的场景。它提供了 VSCode 插件和命令行工具,当测试因参考值变动而失败时,可以通过 review 命令查看问题,并一键更新快照(参考值),从而快速通过单元测试。```rust fn split_words(s: &str) -> Vec {s.split_whitespace().collect()}#[test]fn test_split_words() {let words = split_words("hello from the other side");insta::assert_yaml_snapshot!(words);}```

oha
Rust第 103 期

oha

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

steel
Rust第 103 期

steel

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

来自 @无间之钟 的分享
uv
Rust第 102 期

uv

超快的 Python 包管理工具。该项目是基于 Rust 开发的下一代 Python 包管理工具,可用于替代传统的 Python 包和环境管理工具。它兼容 pip、pip-tools 和 virtualenv 命令,速度比这些工具快 10-100 倍,并通过全局依赖缓存节省更多的硬盘空间,开箱即用支持 Windows、Linux 和 macOS 系统。```# On macOS and Linux.$ curl -LsSf https://astral.sh/uv/install.sh | sh# On Windows.$ powershell -c "irm https://astral.sh/uv/install.ps1 | iex"# With pip.$ pip install uv```

yazi
Rust第 102 期

yazi

超快的终端文件管理器。这是一个用 Rust 编写的终端文件管理器,所有 I/O 操作均为异步。它提供了友好的界面、自由可定制和流畅的使用体验,支持图片预览、代码高亮、滚动预览和插件系统,并集成了 ripgrep、fd、fzf 等高效的命令行工具。

来自 @fortystory 的分享
abstreet
Rust第 101 期

abstreet

开源的城市交通模拟器。这是一个用 Rust 编写的城市交通模拟工具,支持模拟多种交通方式,包括私家车、公共交通、步行和自行车。用户可以在软件中模拟不同的交通策略和基础设施调整。

delta
Rust第 101 期

delta

提升 Git 差异可读性的命令行工具。这是一个用 Rust 写的命令行工具,能够以更清晰、美观的方式展示 Git 的 diff、blame 和 grep 命令。它支持显示行号、语法高亮和更智能的行内差异显示等功能,可无缝集成到 Git 工作流中。

dust
Rust第 101 期

dust

快速显示硬盘使用情况的命令行工具。这是一个可视化磁盘使用情况的命令行工具,名字源自 du 和 Rust 编程语言组合。它体积小巧、运行速度快,能够以直观的方式展示磁盘空间概览。

来自 @DeShuiYu 的分享
暂无截图
Rust第 101 期

stalwart

安全且易于部署的邮件服务。该项目是用 Rust 编写的邮件服务器,支持 SMTP、IMAP 和 POP3 等常见邮件协议,内置强大的垃圾邮件和钓鱼网站过滤器。

来自 @Mauro D. 的分享
komorebi
Rust第 100 期

komorebi

Windows 的平铺窗口管理器。这是一款专为 Windows 设计的桌面窗口管理工具,支持自动平铺窗口、管理多个虚拟桌面和多显示器等功能,适用于 Windows 10 及更高版本。

暂无截图
Rust第 100 期

min-sized-rust

优化 Rust 二进制文件大小的方法。Rust 构建时默认不会优化二进制文件的大小,该项目介绍了如何在保证 Rust 程序功能完整的同时,减少二进制文件体积的工具和技巧,适用于嵌入式和物联网等对程序体积敏感的场景。

readyset
Rust第 100 期

readyset

Rust 开发的 SQL 数据库缓存引擎。该项目是采用 Rust 开发的 Postgres 和 MySQL 数据库缓存层,支持自动维护缓存、缓存复杂的 SQL 查询结果和保持数据实时同步等功能。使用时无需改动代码即可集成到现有的应用和数据库之间,显著提升查询性能。

来自 @DeShuiYu 的分享
暂无截图
Rust第 99 期

100-exercises-to-learn-rust

学习 Rust 的 100 个练习。该教程秉承着边学边做的原则,内含大约 100 道练习题和答案,带你从零开始学习 Rust 编程语言。

暂无截图
Rust第 99 期

crossbeam

Rust 并发编程工具库。在 Rust 的并发编程世界中,它就像一把瑞士军刀,提供了丰富且强大的无锁并发数据结构和工具,极大地提升了 Rust 并发编程的效率。

来自 @DeShuiYu 的分享
zellij
Rust第 99 期

zellij

更容易上手的终端复用器。该项目是一个 Rust 写的终端多路复用器,支持单窗口多标签、分割窗口和自动恢复连接等功能。它提供了开箱即用的默认配置,同时拥有强大的插件系统,从而深受初学者和高级用户的喜爱。

bacon
Rust第 98 期

bacon

后台运行的 Rust 代码检查工具。这是一个专为 Rust 语言设计的后台代码检查工具,它可以在后台运行,并即时地向开发者提供关于 Rust 代码的警告、错误和测试失败的反馈,让开发者专注于编写代码,而不是频繁地手动运行检查命令。

来自 @DeShuiYu 的分享
bandwhich
Rust第 98 期

bandwhich

查看带宽使用情况的命令行工具。这是一个开源的命令行网络带宽监控工具,它可以实时显示网络使用情况,包括进程、连接和远程地址等信息。

暂无截图
Rust第 98 期

rust-by-practice

Rust 语言实战。该项目提供了大量的 Rust 实战练习,来帮助 Rust 新手学习和上手 Rust 语言。这里除了有大量的练习题和答案,还支持在线编辑和运行 Rust 代码。

grex
Rust第 97 期

grex

自动生成正则表达式的命令行工具。当你不知道如何写正则的时候,或许它能派上用场。该项目是用 Rust 语言开发的命令行工具,它可以根据用户提供的示例内容返回对应的正则表达式,可以作为库或命令行工具使用。

来自 @size_t 的分享
暂无截图
Rust第 97 期

sqlx

强大的 Rust 异步 SQL 工具包。这是一个真正的异步 SQL 库,完全使用 Rust 语言开发,支持 PostgreSQL、MySQL、MariaDB、SQLite 数据库。它提供了编译时检查查询语句和自动缓存语句等功能,让 Rust 语言和 SQL 数据库之间的交互变得轻松且高效。```rust use sqlx::postgres::PgPoolOptions;// use sqlx::mysql::MySqlPoolOptions;// etc.#[async_std::main] // Requires the `attributes` feature of `async-std`// or #[tokio::main]// or #[actix_web::main]async fn main() -> Result {// Create a connection pool// for MySQL/MariaDB, use MySqlPoolOptions::new()// for SQLite, use SqlitePoolOptions::new()// etc.let pool = PgPoolOptions::new().max_connections(5).connect("postgres://postgres:password@localhost/test").await?;// Make a simple query to return the given parameter (use a question mark `?` instead of `$1` for MySQL/MariaDB)let row: (i64,) = sqlx::query_as("SELECT $1").bind(150_i64).fetch_one(&pool).await?;assert_eq!(row.0, 150);Ok(())}```

zero-to-production
Rust第 97 期

zero-to-production

用 Rust 从零构建一个电子邮件通信服务。该项目仅是《Zero To Production In Rust》一书的配套项目源码,并没有提供书。这本书是介绍如何用 Rust 从零构建一个电子邮件通信服务,包含开发环境配置、持续集成流程、后端 API 开发、错误处理以及部署的全过程。

genact
Rust第 96 期

genact

假装很忙的摸鱼神器。该项目可以在终端上模拟一些很忙的假象,比如编译、扫描、下载等。这些操作都是假的,实际上什么都没有发生,所以不会影响你的电脑,适用于 Windows、Linux、macOS 操作系统。

来自 @39499740 的分享
rnote
Rust第 96 期

rnote

跨平台的手写笔记和绘图应用。这是一款用 Rust 和 GTK4 编写的绘图应用,可用于绘制草图、手写笔记和注释文档等。它支持导入/导出 PDF 和图片文件,以及无限画布、拖放、自动保存等功能。适用于 Windows、Linux 和 macOS 系统,需要搭配手写板使用。

czkawka
Rust第 95 期

czkawka

多功能文件清理工具。该项目是用 Rust 编写的,用于查找和清理重复文件、空文件夹以及相似图片等文件。它免费、开源且无广告,具有快速、跨平台和多语言等特点。使用这个工具,可以轻松地清理电脑上的无用文件,释放电脑的存储空间。

meilisearch
Rust第 95 期

meilisearch

一款轻量级的 Rust 搜索引擎。该项目是采用 Rust 编写的轻量且快速的搜索引擎。它具有开箱即用、易于维护和搜索速度快等特点,提供了实时搜索、容错纠正、排序、同义词等功能,支持包括中文在内等的多种语言。```python client = meilisearch.Client('http://localhost:7700', 'masterKey')client.index('movies').add_documents([{ 'id': 1, 'title': 'Carol' },{ 'id': 2, 'title': 'Wonder Woman' },{ 'id': 3, 'title': 'Life of Pi' },{ 'id': 4, 'title': 'Mad Max: Fury Road' },{ 'id': 5, 'title': 'Moana' },{ 'id': 6, 'title': 'Philadelphia'}])```

暂无截图
Rust第 95 期

MessAuto

Mac 上的自动提取短信和邮箱验证码工具。这款软件是采用 Rust 开发的,专为 macOS 平台设计的自动提取短信和邮箱验证码到剪贴板的工具。它具有免费、小巧、适用于任何应用的特点,其工作原理是监听邮件(Mail)和短信(iMessage)应用程序的消息,自动提取消息中的验证码,并将其存储到剪贴板中,运行后只有一个安静的任务栏托盘图标。

cmd-wrapped
Rust第 94 期

cmd-wrapped

一个 Rust 编写的命令行历史记录分析工具。这是一款命令行工具,它可以读取你的命令行操作历史记录,并生成详细的分析报告。报告包括过去任意一年的命令行活跃时段、常用命令等信息,支持 Zsh、Bash、fish 等。

sshx
Rust第 93 期

sshx

基于 Web 的安全终端协作工具。该项目只需一条命令,即可与多人共享终端。支持实时多人协作、多窗口、远程光标、在线聊天、自动重连等功能,可用于教学和远程调试。

来自 @猎隼丶止戈reNo7 的分享
tailspin
Rust第 93 期

tailspin

一款实用的日志高亮命令行工具。该项目是 Rust 写的命令行查看日志的工具,它无需配置开箱即用,通过高亮的形式,突出显示数字、日期、IP、URL 等内容,让重要的信息一目了然。

Weylus
Rust第 93 期

Weylus

将平板用作计算机上的输入板/触摸屏。通过该项目可以将平板设备,作为电脑的外接屏幕、触控板、键盘,适用于 Windows、Linux 和 macOS 系统。

git-cliff
Rust第 92 期

git-cliff

自由可定制的变更日志生成器。该项目可以自定义解析规则,自动从 Git 历史记录中生成 Changelog 文件。

暂无截图
Rust第 92 期

proc-macro-workshop

学习如何编写 Rust 过程宏。Rust 的过程宏(procedural macros)是一种高级用法,可以理解为生成 Rust 代码的 Rust 代码。该项目包含 5 个示例项目,其中 3 个是作者在工作中实现的宏。

ruff
Rust第 92 期

ruff

非常快的 Python 代码风格检查和格式化工具。该项目采用 Rust 编写,比 Python 的 Flake8 和 Black 快 10-100 倍,支持通过 pip 安装、内置 700+ 规则、兼容 Python 3.12、自动纠错等功能。

helix
Rust第 91 期

helix

一款 Rust 写的终端文本编辑器。受 Kakoune 和 Neovim 启发的编辑器,它开箱即用、智能、对新手更加友好,支持类似 Vim 的编辑模式、tree-sitter(高亮更加快速)、LSP 等功能。

暂无截图
Rust第 91 期

mini-redis

Rust 写的迷你 Redis。该项目是用 Tokio 构建的 Redis,仅实现了 PING、GET、SET、PUBLISH 等命令。可作为 Tokio 的练手项目,不可用于生产环境。```rust use tokio::net::TcpListener;use tokio::io::{AsyncReadExt, AsyncWriteExt};#[tokio::main]async fn main() -> Result> {let listener = TcpListener::bind("127.0.0.1:8080").await?;loop {let (mut socket, _) = listener.accept().await?;tokio::spawn(async move {let mut buf = [0; 1024];// In a loop, read data from the socket and write the data back.loop {let n = match socket.read(&mut buf).await {// socket closed Ok(n) if n == 0 => return,Ok(n) => n,Err(e) => {eprintln!("failed to read from socket; err = {:?}", e);return;}};// Write the data back if let Err(e) = socket.write_all(&buf[0..n]).await {eprintln!("failed to write to socket; err = {:?}", e);return;}}});}}```

暂无截图
Rust第 91 期

rust-blog

面向 Rust 初学者的博客。这里的文章可以帮助 Rust 初学者更好地掌握 Rust 语言,包括给新手学习 Rust 的建议、Rust 标准库讲解等内容。

privaxy
Rust第 90 期

privaxy

Rust 写的跟踪和广告拦截工具。该项目基于 MITM 中间人攻击原理,在两端之间建立双向隧道,通过过滤 URL 地址阻止广告的请求,实现拦截广告的效果。它占用内存少、速度快,支持自动更新过滤列表、统计信息显示、自定义过滤列表等功能。

暂无截图
Rust第 89 期

rjvm

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

starship
Rust第 89 期

starship

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

gping
Rust第 88 期

gping

Rust 写的 ping 工具。该项目能够以折线图的方式,实时展示 ping 的结果,支持 Windows、Linux 和 macOS 操作系统。

pot-desktop
Rust第 88 期

pot-desktop

一款跨平台的划词翻译软件。支持划词翻译、输入翻译、截图翻译等多种模式的翻译工具,适用于 Windows、macOS 和 Linux。

hexyl
Rust第 87 期

hexyl

命令行十六进制查看器。这是一款 Rust 写的命令行十六进制查看器,它简单纯粹、彩色输出效果十分舒服。

ruffle
Rust第 87 期

ruffle

Rust 写的 Flash Player 替代品。这是一个用 Rust 语言开发的 Adobe Flash Player 模拟器,它不仅可以通过 WebAssembly 嵌入网站,还支持浏览器插件的方式使用以及在本地通过命令行播放 Flash 文件。

来自 @浮生若夢 的分享
FlyingCarpet
Rust第 86 期

FlyingCarpet

无需网络的文件传输工具。这是一个支持在 Android、iOS、Linux、macOS 和 Windows 系统之间通过 WiFi 点对点(Ad-Hoc)传输文件的工具。它不需要网络基础设施,只需要两台支持 WiFi 的设备,即可实现近距离无线传输。

jumpy
Rust第 86 期

jumpy

鱼类像素风格的 2D 射击游戏。这是一款 2D 对战类游戏,玩家控制鱼形斗士相互厮杀,支持 2-4 名玩家在本地或在线对战。

暂无截图
Rust第 86 期

oxipng

多线程的 PNG 图片压缩工具。这是一个 Rust 写的命令行 PNG 无损压缩工具,支持多线程压缩速度快,还可作为 Rust 库使用。

kibi
Rust第 85 期

kibi

不到 1024 行的文本编辑器。这是一个用不到 1024 行 Rust 代码编写的命令行文本编辑器,支持 UTF-8、语法高亮、行号等基础功能。

veloren
Rust第 85 期

veloren

一款 Rust 写的像素风 RPG 游戏。它的灵感来自《塞尔达传说:旷野之息》、《矮人要塞》和《我的世界》等游戏。虽然这款游戏的画质低,但拥有广阔的开放世界,玩家在游戏里可以打造道具、合成物品、战斗、升级、驯养宠物,还可以探索地牢洞穴、在空中滑翔、与 NPC 交易。

carbonyl
Rust第 84 期

carbonyl

运行在终端里的浏览器。这是一款基于 Chromium 的命令行浏览器,可以在终端里用浏览器的方式访问网页,支持图片、动图、视频、音频等内容。

lsd
Rust第 84 期

lsd

下一代 ls 命令。这个项目是用 Rust 重写的类似 ls 命令的查看目录清单的工具,同时增加了颜色、图标等新功能,更加赏心悦目。

来自 @pujianquan 的分享
typst
Rust第 84 期

typst

比 LaTex 更好学的标记语言。这是一款新的基于标记语言的排版系统,它比知名的 LaTex 更加简洁、更容易上手,输出的公式也很漂亮,还可以更换各种字体。

来自 @databook 的分享
lemmy
Rust第 83 期

lemmy

Rust 写的链接聚合论坛。该项目基于 Rust 的 Web 框架 Actix 和 Diesel ORM 库构建,它是一个类似 Hacker News 的网站,用户可以在上面订阅感兴趣的话题、发布链接、讨论和投票。

onefetch
Rust第 83 期

onefetch

查看 Git 仓库信息的命令行工具。一款由 Rust 编写的命令行查看 Git 信息的工具,它可以直接在终端中展示本地 Git 仓库的详细信息,比如开源协议、提交次数、代码统计等信息。

暂无截图
Rust第 83 期

windows-rs

Rust 调用 Windows API 的库。由微软开源的 Rust 库,为 Rust 开发人员调用 Windows API 提供了方便,极大地改善了 Rust 语言在 Windows 系统上的开发条件。```rust use windows::{core::*, Data::Xml::Dom::*, Win32::Foundation::*, Win32::System::Threading::*,Win32::UI::WindowsAndMessaging::*,};fn main() -> Result {let doc = XmlDocument::new()?;doc.LoadXml(h!("hello world"))?;let root = doc.DocumentElement()?;assert!(root.NodeName()? == "html");assert!(root.InnerText()? == "hello world");unsafe {let event = CreateEventW(None, true, false, None)?;SetEvent(event).ok()?;WaitForSingleObject(event, 0);CloseHandle(event).ok()?;MessageBoxA(None, s!("Ansi"), s!("Caption"), MB_OK);MessageBoxW(None, w!("Wide"), w!("Caption"), MB_OK);}Ok(())}```

ChatGPT
Rust第 82 期

ChatGPT

第三方的 ChatGPT 桌面应用。把 ChatGPT 放到你的桌面,支持快捷键、斜杠命令、划词搜索、导出记录等实用的功能,适用于 macOS、Windows、Linux 操作系统。

gitui
Rust第 82 期

gitui

带界面的 Git 命令行工具。该项目为 git 提供了终端界面,让用户可以更加顺畅地使用 git。交互式的操作提示,让你无需再记忆大量的 git 命令。

rust-raspberrypi-OS-tutorials
Rust第 81 期

rust-raspberrypi-OS-tutorials

学习如何用 Rust 编写嵌入式操作系统。该教程会从零开始,一步步地指导你如何用 Rust 开发出一个功能齐全的嵌入式操作系统的内核。它包含了实现一般操作系统的任务,例如开发串口控制台、设置虚拟内存和处理硬件异常。教程中的所有代码,均可运行在树莓派 3 和 4 上。

spacedrive
Rust第 81 期

spacedrive

一款 Rust 写的跨平台文件管理工具。它基于用 Rust 编写的虚拟分布式文件系统(VDFS),可以将 macOS、Windows、Linux、iOS、Android 等不同操作系统的设备连接到一起,统一管理所有的文件。该项目还处于开发阶段,客户端需要自行编译。

difftastic
Rust第 80 期

difftastic

命令行文件对比工具。一种可根据文件的语法,进行结构化比较的工具,支持 30 多种编程语言。

来自 @SHOWTA 的分享
sniffnet
Rust第 80 期

sniffnet

可轻松监控网络流量的工具。这是一个简单、可靠、炫酷的网络监控应用,可以让你一目了然地了解设备的网络流量。

暂无截图
Rust第 80 期

websocat

WebSockets 的命令行客户端。一条命令连接或建立 WebSockets 服务,适用于 Windows、macOS、Linux。```shell A$ websocat -s 1234 Listening on ws://127.0.0.1:1234/ABC 123 B$ websocat ws://127.0.0.1:1234/ABC 123```

atuin
Rust第 79 期

atuin

神奇的 shell 历史记录工具。该项目通过 SQLite 数据库存储 shell 历史,能够显示更多的 shell 历史、命令运行时间、执行时间等信息,还支持选择、过滤、统计、同步/备份等操作。```# 搜索昨天下午3点之后记录的所有成功的 `make` 命令atuin search --exit 0 --after "yesterday 3pm" make```

暂无截图
Rust第 79 期

this-week-in-rust

Rust 语言社区的每周摘要。该项目是由 Rust 社区发起,每周发布一期 Rust 相关动态,包括 Rust 语言的文章、视频、音频、开源项目分享,以及本周的更新(PR)、RFC(征求意见)和开发进度。

暂无截图
Rust第 78 期

easy_rust

用简单的英语写的 Rust 教程。虽然当下已经有很多的 Rust 教程,但是大多都是以英语为主,这对不擅长英语的程序员并不友好,所以作者写了一份仅用简单的英语讲解 Rust 的教程,已有中文翻译版。

espanso
Rust第 78 期

espanso

Rust 写的智能文本扩展工具。文本扩展器是可以帮你提高输入效率的工具,当你输入一个特定的关键词时,它可以自动检测到并将其替换为预设的内容。这个项目几乎可以和任何程序一起使用,适用于 Windows、macOS 和 Linux。

cheats.rs
Rust第 77 期

cheats.rs

Rust 编程语言小抄。这里不仅有 Rust 基础语法,还有执行顺序详解和编写时需要关注的注意事项。如果你觉得还不够,该项目还包含了示例代码(EX)、书籍(BK)、标准库(STD) 等 Rust 相关资料。

py-spy
Rust第 77 期

py-spy

用 top 的方式分析 Python 程序性能的工具。一款 Python 程序性能分析工具,它可以让你在不重启程序或修改代码的情况,直观地看到 Python 程序中每个函数花费的时间。```shell# 安装pip install py-spy# record 命令将配置文件记录到文件中,可用来生成火焰图py-spy record -o profile.svg --pid 进程ID# top 命令实时展示函数花费时间py-spy top --pid 进程ID# dump 命令显示每个 Python 线程的当前调用堆栈py-spy dump --pid 进程ID```

暂无截图
Rust第 77 期

reqwest

Rust 语言的 HTTP 客户端。这是一个纯 Rust 编写的 HTTP 客户端,简单好用、支持异步、API 友好。```rust use std::collections::HashMap;fn main() -> Result> {let resp = reqwest::blocking::get("https://httpbin.org/ip")?.json::>()?;println!("{:#?}", resp);Ok(())}```

pueue
Rust第 76 期

pueue

命令行任务管理工具。一个处理 shell 命令队列的工具,支持后台执行、定时执行、任务并行、暂停任务、任务崩溃恢复等功能。但它只是一个命令行工具,不能当作任务队列来用。

lapce
Rust第 75 期

lapce

纯 Rust 编写的代码编辑器。基于 Rust 的 Druid 和 Xi-Editor 构建的轻快代码编辑器,内置终端、LSP 协议支持、远程开发、VIM 模式,支持 Windows、Linux、macOS。

暂无截图
Rust第 74 期

mdBook

Rust 官方开源的 Markdown 电子书构建工具。类似 Gitbook 可以将 Markdown 文件制作成在线书籍,简单易用非常适合创建教程、课程材料、开源书籍等文稿

gitv
Rust第 73 期

gitv

由 Rust 编写的 Git 仓库分析和数据可视化的命令行工具

ratatui
Rust第 71 期

ratatui

用 Rust 打造终端界面的框架。这是一个用于构建终端用户界面(TUI) 的 Rust 库,源自 tui-rs 项目的分支。它提供了一组小部件和工具,支持跨平台、即时渲染、灵活布局和自定义样式,能够帮助开发者创建复杂的终端界面。来自 [@1plus](https://hellogithub.com/user/4qd5GYFf2LORkiz) 的分享```rust use crossterm::event::{self, Event};use ratatui::{text::Text, Frame};fn main() {let mut terminal = ratatui::init();loop {terminal.draw(draw).expect("failed to draw frame");if matches!(event::read().expect("failed to read event"), Event::Key(_)) {break;}}ratatui::restore();}fn draw(frame: &mut Frame) {let text = Text::raw("Hello World!");frame.render_widget(text, frame.area());}```

hyperfine
Rust第 68 期

hyperfine

命令行基准测试工具。可用来查看和对比命令的耗时,支持多次运行的统计分析、结果导出等功能

polars
Rust第 67 期

polars

多线程、类 Pandas 的数据处理库。底层采用 Apache Arrow 从而带来了更高效的数据处理性能、占用内存更少、处理速度更快,再加上简单易用的 API,让你在处理大数据集(50GB)时,更加游刃有余。支持 Rust、Python 等语言,值得一试```python import polars as pl q = (pl.scan_csv("iris.csv").filter(pl.col("sepal_length") > 5).groupby("species").agg(pl.all().sum()))df = q.collect()```

toydb
Rust第 65 期

toydb

Rust 写的分布式 SQL 数据库实战项目。作为一个学习项目并不适合于生产环境,但通过该项目你可以学习如何用 Rust 实现 Raft 协议、符合 ACID 的事物引擎、SQL 解析、数据持久化等。适合对数据库底层运作原理感兴趣的小伙伴

azul
Rust第 63 期

azul

一个跨平台的 Rust 和 C/C++ 的 GUI 框架。使用 WebRender 渲染引擎和 CSS/HTML-like DOM 构建,可用于开发漂亮的原生桌面应用程序```rust#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]use azul::prelude::*;use azul_widgets::table_view::*;struct TableDemo {// cells: BTreeMap,}extern "C" fn layout(data: &mut RefAny, _: LayoutCallbackInfo) -> StyledDom {let mut table_view_state = TableViewState::default();table_view_state.set_cell_content(TableCellIndex { row: 2, column: 2 }, "Hello World");table_view_state.set_selection(Some(TableCellSelection::from(3, 4).to(3, 4)));TableView::new(table_view_state).dom().style(Css::empty())}fn main() {let app = App::new(RefAny::new(TableDemo { }), AppConfig::new(LayoutSolver::Default));app.run(WindowCreateOptions::new(layout));}```

indicatif
Rust第 63 期

indicatif

样式丰富的 Rust 终端进度条库```rust use indicatif::ProgressBar;let bar = ProgressBar::new(1000);for _ in 0..1000 {bar.inc(1);// ...}bar.finish();```

rustdesk
Rust第 63 期

rustdesk

免费开源的远程桌面软件。开箱即用无需任何配置,支持 Linux/Mac/Win/Android 等平台。还能够自行搭建服务器,由用户自己掌控数据,不必担心隐私数据泄露的问题。在当下越来越多的远程桌面软件都收费的情况下的另一个选择

暂无截图
Rust第 61 期

fselect

用类 SQL 的命令查找文件的命令行工具```fselect size, path from /home/user where name = '*.cfg' or name = '*.tmp'fselect size, abspath from ./tmp where size gt 2g fselect hsize, abspath from ./tmp where size lt 8k```

bat
Rust第 57 期

bat

替代 cat 的命令行工具。你还在命令行用 cat 查看文件吗?那你就 out 啦!今天推荐的 bat 它不仅支持语法高亮,还能展示 Git 的改动。macOS 下安装命令:`brew install bat` 相信你用过 bat 后就不会再想用回 cat 了

rustlings
Rust第 54 期

rustlings

该项目通过一个个简单练习小 demo,让初学者学习 Rust 的语法。通过简单的命令即可安装本项目,然后修改每个小练习,达到编译通过或者目标输出,通过后会进入下一关,有种闯关的成就感。运行方法:```安装:git clone https://github.com/rust-lang/rustlings cd rustlings git checkout tags/4.0.0 # or whatever the latest version is (find out at https://github.com/rust-lang/rustlings/releases/latest)cargo install --force --path .安装完后,运行:rustlings watch```

fd
Rust第 26 期

fd

一个简单、快速、友好的替代 find 命令的方案

暂无截图
Rust第 26 期

rayon

一个易用、无数据竞争的将顺序迭代器转化成并行迭代器。简单说就是原本你的数组只能一个一个地遍历,使用这个库可以并发同时从几个 index 开始遍历,同时也能遍历 map 等类似的数据结构