介绍几个Github上的Rust开源项目-第六期

1年以前 | 1347 次阅读

1,EasyTier

EasyTier一个简单、安全、去中心化的内网穿透 VPN 组网方案,使用 Rust 语言和 Tokio 框架实现。

特性- **去中心化:**无需依赖中心化服务,节点平等且独立。

  • **安全:**支持利用 WireGuard 加密通信,也支持 AES-GCM 加密保护中转流量。
  • **高性能:**全链路零拷贝,性能与主流组网软件相当。
  • **跨平台:**支持 MacOS/Linux/Windows,未来将支持 IOS 和 Android。可执行文件静态链接,部署简单。
  • **无公网 IP 组网:**支持利用共享的公网节点组网,可参考 配置指南
  • **NAT 穿透:**支持基于 UDP 的 NAT 穿透,即使在复杂的网络环境下也能建立稳定的连接。
  • **子网代理(点对网):**节点可以将可访问的网段作为代理暴露给 VPN 子网,允许其他节点通过该节点访问这些子网。
  • **智能路由:**根据流量智能选择链路,减少延迟,提高吞吐量。
  • **TCP 支持:**在 UDP 受限的情况下,通过并发 TCP 链接提供可靠的数据传输,优化性能。
  • **高可用性:**支持多路径和在检测到高丢包率或网络错误时切换到健康路径。
  • **IPV6 支持:**支持利用 IPV6 组网。
  • **多协议类型:**支持使用 WebSocket、QUIC 等协议进行节点间通信。

github链接:https://github.com/EasyTier/EasyTier

2,FileFly

FileFly是一个Rust命令行实用程序,用于处理文件和文件夹操作,如复制、删除、替换和同步。它提供了一个简单的接口来执行这些操作,并具有进度跟踪和日志记录功能。

特性

  • **进度跟踪:**FileFly显示文件操作的进度条,让你了解正在进行的任务。
  • **日志记录:**该实用程序提供详细的日志记录,包括成功、错误和信息消息。
  • **目录同步:**synchronize命令通过复制丢失的文件和删除不相关的文件来确保源目录和目标目录是相同的。

使用例子:

复制

filefly copy -s /path/to/source -d /path/to/destination

删除

filefly delete -s /path/to/file_or_folder

替换

filefly replace -s /path/to/source -d /path/to/destination

同步

filefly synchronize -s /path/to/source -d /path/to/destination

github链接:https://github.com/theprantadutta/filefly

3,CXX-Qt

CXX-Qt是一套Rust板条箱,用于使用Qt创建双向Rust ⇄ C++绑定。它可以使用CMake将Rust集成到C++应用程序中,也可以使用Cargo构建Rust应用程序。CXX-Qt提供了在Rust中实现QObject子类的工具,这些工具可以在C++、QML和JavaScript中使用。

它由两部分组成:

  • **cxx-qt-lib:**一个用CXX制作的通用QtCore和QtGui类的Rust绑定库
  • **cxx-qt & cxx-qt-build:**一对Rust和C++代码生成器,它是CXX的超集,加上与Qt的信号&插槽和属性系统接口的附加属性。cxx-qt crate实现了Rust代码生成的宏。在Cargo构建脚本中使用cxx-qt-build来生成和编译相应的C++代码。

CXX-Qt在Linux、Windows和macOS(都在x86_64上)的CI上进行了测试。

github链接:https://github.com/KDAB/cxx-qt

4,goldboot

Goldboot是一个为真实硬件构建机器映像的工具,它可以帮助你实现接近不可变的基础设施,而无需创建大量额外的工作。

在goldboot中,需要为部署的每台机器创建一个声明性配置文件。使用这个配置,goldboot可以在本地机器或像Github Actions这样的CI平台上构建映像。生成的映像可以通过USB驱动器或PXE引导部署到实际硬件上。

这些机器映像(也称为黄金映像)包含操作系统、应用程序、软件补丁和配置,所有这些都集成到一个易于部署的包中。

与Docker映像一样,你的goldboot映像可以存储在注册表中,并将其拉到实际硬件上。

github链接:https://github.com/KDAB/cxx-qt

5,eguiegui

eguiegui是一个简单、快速、高度可移植的Rust即时模式GUI库。Egui运行在网页上,原生机器上。

egui的目标是成为最容易使用的Rust GUI库,以及用Rust制作web应用程序的最简单方法。

Egui可以用于任何可以绘制纹理三角形的地方,这意味着可以轻松地将其集成到你选择的游戏引擎中。

eframe是官方的egui框架,支持为Web、Linux、Mac、Windows和Android编写应用程序。

github链接:https://github.com/emilk/egui