< 返回版块

Mike Tang 发表于 2026-05-12 09:08

iroh 1.0.0-rc.0 - 首个候选发布版本

iroh 发布了首个 1.0 版本的候选版本(rc.0)。iroh 是一个用 Rust 编写的模块化网络协议栈,用于在设备之间建立直接连接。经过四年开发和 50 多个版本迭代后,终于迎来了首个 1.0 候选版本。

主要变更

API 优化

  • 精简了 API 表面,消除了几乎所有来自 1.0 之前版本的类型重导出
  • noq(QUIC 实现)也获得了 1.0 候选版本,将与 iroh 一起稳定发布
  • 改进了 NAT 穿透功能和修复了多个错误

功能模块迁移 为了实现独立的版本控制和发布周期,部分可选功能已迁移到独立的代码库:

  • DhtAddressLookup 迁移至 iroh-mainline-address-lookup
  • MdnsAddressLookup 迁移至 iroh-mdns-address-lookup
  • AccessLimit 迁移至 iroh-util

API 改进亮点

路径观察 API 重新设计

  • 将原来的 PathWatcher 拆分为两个独立的基础组件:
    • Connection::paths() - 返回当前打开路径的快照
    • Connection::path_events() - 返回路径变化事件流

原文链接:https://www.iroh.computer/blog/iroh-1-0-0-rc-0

Ratty:一款支持内联 3D 图形的终端模拟器

核心概念

Ratty 是一个使用 GPU 渲染的终端模拟器,支持内联 3D 图形显示。它受 TempleOS 启发,使用 Rust 和 Ratatui 构建。

灵感来源

  • TempleOS 的独特设计:作者被 TempleOS 中 Terry Davis 设计的命令行功能所震撼——可以将图像、3D 网格和宏(可点击链接)直接插入命令行,而不仅仅是文本
  • 命令行中的精灵图:TempleOS 允许在源代码文件中直接包含精灵数据,实现代码与图形资源的统一管理
  • 创新理念:命令行成为一切操作的直接界面——编写代码、与系统交互和渲染图形都在同一个地方完成

技术实现

  • 使用 Rust 编程语言
  • 基于 Ratatui 框架
  • GPU 渲染支持
  • 设计了自定义终端图形协议

项目意义

Ratty 实现了“如果终端是 3D 的会怎样”这一设想,让终端光标可以是旋转的老鼠模型,整个终端环境支持 3D 渲染。

原文链接:https://blog.orhun.dev/introducing-ratty/

Ferrous-Browser:纯Rust浏览器自动化工具

项目简介

Ferrous-browser是一个快速、异步的Rust浏览器自动化库,通过Chrome DevTools Protocol (CDP)实现,无需Node.js依赖。

核心优势

  • 零Node.js依赖 — 纯Rust实现,单个二进制文件
  • 异步优先 — 基于Tokio构建,无缝集成异步Rust项目
  • 正确的多页面隔离 — 追踪CDP会话ID,避免并发页面事件交叉污染
  • 无竞态条件 — 在触发命令前注册事件处理器
  • 人性化API — 受Playwright启发的locator()、evaluate()等接口

主要功能

导航等待模式:

  • DomContentLoaded — 等待DOM解析完成
  • Load — 等待所有资源加载(默认)
  • NetworkIdle — 等待500ms无网络活动(适合SPA应用)

定位器API:

  • 点击元素:locator("button#submit").click()
  • 输入文本:locator("input").type_text()

原文链接:https://github.com/theoxfaber/ferrous-browser

Spotify 零延迟歌词 TUI 工具 (Rust 实现)

项目背景

开发者因为无法忍受 Spotify Web API 的延迟,使用 Rust 构建了一个 Spotify 歌词工具。

技术实现要点

  • 绕过 Web API:使用 zbus 监听用户会话中的 org.mpris.MediaPlayer2.Player D-Bus 接口
  • 架构设计
    • 使用少量 tokio actors 和 mpsc 通道
    • D-Bus 轮询组件
    • 60Hz 刷新率的计时器实现平滑插值
    • LRCLIB 歌词获取器
    • ratatui 循环处理界面

开发挑战

  • 异步编程并非最大难点
  • 主要困难:在 NixOS 中处理 C 链接器,以生成能在其他发行版上正常运行的 100% 静态 MUSL 二进制文件

反馈需求

开发者希望获得关于 actors 之间通道同步的反馈意见

项目地址:https://github.com/Jirevelaz/sptlrx-rs

原文链接:https://github.com/Jirevelaz/sptlrx-rs

评论区

写评论

还没有评论

1 共 0 条评论, 1 页