#s3 #file-transfer #tui #aws #ratatui #local-file #softwaremill

app s3tui

适用于多个 s3 账户操作的简单 TUI 应用程序

5 个版本

0.1.4 2024 年 6 月 10 日
0.1.3 2024 年 5 月 26 日
0.1.2 2024 年 5 月 22 日
0.1.1 2024 年 5 月 21 日
0.1.0 2024 年 5 月 20 日

#251 in 异步

31 每月下载量

MIT 许可证

4MB
5.5K SLoC

        _____ __        _ 
   ____|__  // /___  __(_)
  / ___//_  / __/ / / / / 
 (__  )__/ / /_/ /_/ / /  
/____/____/\__/\__,_/_/

CI crates MIT UNSAFE TWEET dep_status


s3tui - AWS S3 传输 CLI

s3tui 是一个基于终端的强大应用程序,它可以使您在本地计算机和多个 AWS S3 账户之间实现无缝的文件传输。使用 ratatui Rust TUI 框架构建,s3tui 提供了一个健壮的用户界面,用于同时管理上传和下载,通过 S3 服务提高您的生产力。

s3tui

功能

  • 多账户支持:使用 's' 命令轻松配置并在运行时切换到不同的 S3 账户。
  • 同时传输:利用 tokio 库的多线程功能,一次传输多个文件,包括到和从 S3 的文件。
  • 交互式命令:
    • Tab, - 在本地和 s3 面板之间移动
    • s - 选择当前使用的账户。
    • Esc - 返回文件管理器窗口。
    • / j / k - 在列表中上下移动。
    • t - 选择/取消选择要传输的文件。
    • c - 创建存储桶。
    • / Del - 删除项目。
    • l - 显示当前选定的传输文件。
    • r - 执行所选传输。
    • q - 退出应用程序。
    • ? - 访问包含所有可用命令的帮助页面。
  • 环境配置:通过环境变量自定义设置或使用符合 XDG Base Directory 规范的默认设置。
  • 错误处理:集成 color_eyre panic 钩子,以便进行清晰且带有颜色的错误报告。
  • 版本信息:使用 --version 命令快速查看应用程序版本。

设置

  1. 配置环境变量:

     export S3TUI_CONFIG=`pwd`/.config
     export S3TUI_DATA=`pwd`/.data
     export S3TUI_LOGLEVEL=info
    

    或者,使用根据XDG基本目录规范设置的默认路径。

    您可以通过运行s3tui --version来检查您的配置,这将显示当前正在使用的路径。

  2. 添加您的s3凭证

    • creds目录下添加尽可能多的配置(在您通过S3TUI_DATA环境变量指定的.data目录内)
    • 文件应如下所示
access_key=YOUR_ACCESS_KEY
secret_key=YOUR_SECRET_KEY
default_region=eu-west-1

确保文件末尾有一个新行,并且行首没有空白。

  1. 从crates.io安装:

    • 请确保您已安装Rust和cargo
    • 使用cargo安装
      cargo install s3tui
    
  2. 本地构建:

    • 请确保您已安装Rust和cargo
    • 克隆仓库并构建项目
      git clone <repository-url>
      cd s3tui
      cargo build --release
    
  3. 运行s3tui:

  • 导航到项目目录并运行
./target/release/s3tui

日志

应用程序日志被高效管理和存储在由S3TUI_DATA指定的目录中,让您了解所有操作,并有助于故障排除。

入门

一旦s3tui开始运行,请按?打开帮助页面,该页面显示所有命令及其功能,让您可以立即开始传输文件。

使用s3tui,这个易于使用的命令行界面,轻松地在本地文件管理和云存储之间架起桥梁,提高您的生产力。无论是管理大型数据集还是执行常规备份,s3tui都使S3文件传输任务直观且易于在终端中管理。

依赖项

~42–57MB
~870K SLoC