17个版本

0.5.10 2022年8月25日
0.5.9 2022年8月24日
0.5.8 2022年7月24日
0.5.5 2022年6月24日
0.4.10 2022年3月28日

#354HTTP服务器

每月 30次下载

自定义许可证

265KB
4K SLoC

logo

Docker Image Size (latest by date) Docker Image Version (latest semver) GitHub

TUS 协议在Rust中的实现。

功能

本实现具有多个功能,旨在尽可能简化使用。

  • Rustus健壮,因为它使用异步Rust;
  • 它可以将上传信息存储在数据库中;
  • 您可以指定目录结构以组织您的上传;
  • 它具有许多钩子选项,并且可以组合钩子。
  • 高度可配置;

请查看文档以获取有关配置和部署的更多信息。

安装

您可以通过四种不同的方式安装rustus。

从源码

要从中构建它,必须安装Rust。首选版本是1.59.0。

git clone https://github.com/s3rius/rustus.git
cd rustus
cargo install --path . --features=all,metrics

您还可以通过禁用一些功能来加快构建速度。

可用功能

  • amqp_notifier - 添加用于通知上传状态的amqp协议支持;
  • db_info_storage - 添加将上传信息存储在不同数据库(Postgres、MySQL、SQLite)中的支持;
  • http_notifier - 添加通过http协议通知上传状态的支持;
  • redis_info_storage - 添加将上传信息存储在redis数据库中的支持;
  • hashers - 添加校验和验证的支持;
  • metrics - 添加rustus特定度量到prometheus端点;
  • all - 启用除metrics之外的所有rustus功能。

所有预编译的二进制文件都启用了所有功能。

使用cargo

如果您已安装cargo,则可能更容易直接从crates.io安装它。

cargo install rustus --features=all

二进制文件

所有预编译的二进制文件都可在GitHub发行页面找到。您可以在此下载二进制文件,解压并运行。

./rustus

请确保您下载适用于您的CPU和操作系统的版本。

使用docker

运行rustus最简单的方法之一是使用docker。

Rustus为每个版本都有两个容器。

  1. 基于debian的镜像
  2. 基于alpine的镜像

基于alpine的镜像比debian更轻量。

要运行rustus,只需运行此命令

docker run --rm -p "1081:1081" -d s3rius/rustus --log-level "DEBUG"

依赖项

~21–40MB
~750K SLoC