下拉刷新
Rust 项目
分类

这里是按照「分类」阅读往期的 HelloGitHub 月刊内容, 您目前在查看 HelloGitHub Rust 项目 集合。

Star 5.1k
Fork 71

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

tailspin
2
Weylus
Star 6.4k
Fork 247

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

Weylus
Star 7.6k
Fork 151

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

git-cliff
Star 3.8k
Fork 950

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

5
ruff
Star 2.7w
Fork 851

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

ruff
6
helix
Star 3w
Fork 2.2k

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

helix
Star 3.5k
Fork 413

Rust 写的迷你 Redis。该项目是用 Tokio 构建的 Redis,仅实现了 PING、GET、SET、PUBLISH 等命令。可作为 Tokio 的练手项目,不可用于生产环境。

use tokio::net::TcpListener; use tokio::io::{AsyncReadExt, AsyncWriteExt}; #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { 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; } } }); } }
Star 6.6k
Fork 355

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

Star 1.3k
Fork 56

极简的开源 RSS 阅读器。这是一款基于 Tauri 开发的桌面 RSS 阅读器,它免费、无广告、界面清爽,适用于 macOS 和 Windows 操作系统。

lettura
10
privaxy
Star 2.3k
Fork 92

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

privaxy