侧边栏壁纸
  • 累计撰写 84 篇文章
  • 累计创建 82 个标签
  • 累计收到 117 条评论

目 录CONTENT

文章目录

S3免费客户端工具大赏

MinChess
2024-11-15 / 0 评论 / 0 点赞 / 48 阅读 / 3,480 字 / 正在检测是否收录...

1. S3 GUI

GitHub地址https://github.com/aminalaee/s3gui

aminalaee/s3gui - GitHub

  • 简介:S3 GUI 是一款基于 Flutter 构建的免费开源 S3 桌面客户端,支持桌面、移动和网络平台。

  • 特点:提供简洁直观的用户界面,方便用户轻松管理 S3 存储桶和对象。适用于多种操作系统,具有良好的跨平台兼容性。

  • 截图:

    image-20241115113149171

交互还是挺流畅的,但是功能太单一了

2. WinSCP(推荐)

GitHub地址https://github.com/winscp/winscp

官网https://winscp.net/eng/index.php

winscp/winscp - GitHub

  • 简介:WinSCP 是一款广受欢迎的免费 SFTP 和 FTP 客户端,专为 Windows 系统设计,同时也是强大的文件管理器,可大幅提升工作效率。

  • 特点:拥有易于使用的图形界面,支持多种协议(亚马逊 S3、FTP、FTPS、SCP、SFTP 或 WebDAV),便于在本地和远程计算机之间复制文件,还可在两个本地文件夹间进行文件复制。高级用户还能利用.NET 程序集实现自动化操作,且提供多种语言版本,包括英语等。

  • 适用场景:适用于 Windows 用户在进行文件传输和管理时,需要与多种协议的服务器进行交互,尤其是在涉及亚马逊 S3 存储的文件操作场景中,其丰富的功能和易用性可满足不同层次用户的需求。

  • 截图

    image-20241115113042383

界面也很舒服,支持多种语言包括中文,功能也非常的完备,文档很完善,社区也比较活跃;缺点可能就是跨平台的兼容性吧;

3. Filestash

GitHub地址https://github.com/mickael-kerjean/filestash

官网https://www.filestash.app/docs/

mickael-kerjean/filestash - GitHub

  • 简介:Filestash 是一款自托管的基于网络的文件客户端,原生支持亚马逊 S3,可作为个人和企业的云文件备份门户。

  • 特点:安装、使用和配置过程简单,支持多种存储后端,用户可轻松访问广泛的存储服务。提供便捷的文件管理功能,可通过网络随时随地访问和管理文件。

  • 适用场景:适用于个人用户进行云文件备份,以及企业用户在需要统一管理多种存储后端的文件时,提供了一站式的解决方案,方便用户集中管理和备份文件。

  • 截图

    img

功能丰富,社区也比较活跃,可以使用docker安装,文档也很清晰;

4. S3 Browser

官网地址https://s3browser.com/

  • 简介:S3 Browser 是一款免费的 Windows 客户端,专注于亚马逊 S3 和亚马逊 CloudFront 服务。

  • 特点:为亚马逊 S3 提供直观的用户界面,方便用户进行存储和检索数据操作。对于亚马逊 CloudFront(内容分发网络),可帮助用户通过全球边缘位置网络高效分发文件,提升文件访问速度和效率。

  • 适用场景:专为 Windows 用户设计,适用于需要频繁管理亚马逊 S3 存储和利用 CloudFront 进行内容分发的场景,如网站管理员、开发者等,可简化操作流程,提高工作效率。

  • 截图

    image-20241115143158587

aws 官方维护的工具,更新的速度很快,功能也很强大;

5. Rclone(推荐)

官网https://rclone.org/docs/

GitHub地址https://github.com/rclone/rclone

rclone/rclone - GitHub

  • 简介:Rclone 是一款功能强大的命令行程序,用于将文件和目录同步到多种云存储提供商,包括亚马逊 S3、Google Drive、Dropbox 等。

  • 特点:具备多种高级功能,如始终检查 MD5/SHA1 哈希确保文件完整性、保留文件时间戳、支持部分同步、多种同步模式(复制、单向同步、检查等),还可实现跨网络同步(如不同云账户间)。支持加密后端、缓存后端、分块后端、联合后端等多种后端类型,可通过 HTTP/ WebDav/ FTP/ SFTP/dlna 提供文件服务,支持多线程下载,实验性提供基于网络的 GUI。

  • 适用场景:适合技术能力较强的用户,在需要进行复杂的云存储同步操作,如大规模数据迁移、多账户云存储管理、构建自定义云存储架构等场景中,可发挥其强大的功能优势,实现高效、灵活的文件同步和管理。

rclone主要是命令行程序,在某些方面来讲,和之前介绍的 s3cmd或者 s5cmd有些许类似;但是它现在也提供了基于 web 的 Gui 程序,但是官方提示还在试验阶段,但是基本使用肯定是没问题的;下面是其 Gui 的开源地址和截图;

GitHub地址https://github.com/rclone/rclone-webui-react

rclone/rclone-webui-react - GitHub

  • 截图

image-20241115144906225

6. Mountain Duck(推荐)

GitHub地址https://github.com/iterate-ch/cyberduck

官网https://cyberduck.io/

iterate-ch/cyberduck - GitHub

  • 简介:Mountain Duck 是一款多平台应用程序,可帮助 macOS 和 Windows 用户轻松挂载服务器存储,支持多种协议,包括亚马逊 S3。
  • 特点:支持FTPSFTPWebDAVAmazon S3OpenStack SwiftBackblaze B2Microsoft Azure 和 OneDriveGoogle DriveDropbox 等,提供广泛的服务器连接选项。支持智能文件同步,可自动保持本地和远程文件的一致性。与 Windows 和 macOS 的文件管理器集成,使用户能在熟悉的环境中操作远程文件,提升操作体验。
  • 适用场景:适用于需要频繁访问和管理远程服务器存储(特别是亚马逊 S3 存储)的 macOS 和 Windows 用户,无论是设计师、开发者还是普通办公人员,都能方便地在本地文件管理器中操作远程文件,提高工作效率。
  • 截图

Browser

跨平台、易用、界面友好、初学者和老手都适合,功能全面,不止针对 s3,值得一试;

7. s3manager

GitHub地址https://github.com/cloudlena/s3manager

cloudlena/s3manager - GitHub

  • 简介s3manager 是一个由 Cloudlena 开发的 Web GUI(图形用户界面),用于管理和操作 Amazon S3 存储桶。这个工具提供了一个直观的界面,使得用户可以更方便地与 S3 服务交互,而不需要直接使用命令行或编程接口。

  • 特点:提供了一个用户友好的界面,使得用户可以轻松地上传、下载、删除和管理 S3 存储桶中的文件。

  • 适用场景s3manager 适合那些希望避免使用命令行工具或编程接口,但又需要管理 S3 存储桶的用户。它特别适合非技术用户或那些希望快速上手 S3 管理的用户。

  • 截图

    image-20241115150133713

用 go 写的专注于 s3 的 web 端管理其,相比其他的在功能上还是会有些薄弱;也可以通过 docker 部署;

8. 其他相关项目

8.1. s3-client

GitHub地址https://github.com/thobiast/s3_client

thobiast/s3_client - GitHub

这是一个 Python 脚本,用于与 Amazon S3 交互。它提供了一个简单的命令行界面来执行常见的 S3 操作,如上传、下载、列出存储桶内容等。

8.2. S3Sync

GitHub地址https://github.com/larrabee/s3sync

larrabee/s3sync - GitHub

S3Sync 是一个快速的同步工具,用于在本地文件系统和 Amazon S3 之间同步文件。它旨在提供高效的数据同步,减少数据传输时间。采用 Golang 编写,支持多线程文件传输。

8.3. S3 Web Uploader

GitHub地址https://github.com/gaplo917/S3WebUploader

gaplo917/S3WebUploader - GitHub

这是一款基于 Web 的实用工具,提供了一个简洁而高效的最小化 UI,方便从 AWS S3 兼容服务上传和下载文件。用户界面设计紧凑,功能布局合理,使用户能够迅速上手并专注于文件操作。基于 Angular 框架开发,具备类似树状结构的文件夹浏览器,如同在本地文件管理器中操作一样,用户可以快速定位到所需文件。

8.4. s3-sync-client

GitHub地址https://github.com/jeanbmar/s3-sync-client

jeanbmar/s3-sync-client - GitHub

这是是一款现代的 TypeScript 客户端,用于执行文件系统和 S3 桶之间的 S3 同步操作,继承了官方 AWS CLI 命令的精神。具备强大的同步功能,支持从 S3 桶到本地文件系统、本地文件系统到 S3 桶(支持多部分上传)以及 S3 桶到另一个 S3 桶的同步操作,且仅同步新的和更新的对象,有效节省时间和带宽。支持众多 AWS CLI 选项,如--delete--dryrun--size-only--include--exclude--follow-symlinks--no-follow-symlinks等,提供高度的定制化。同时支持 AWS SDK 原生命令输入选项,方便与其他 AWS 服务集成。可监控同步进度,让用户实时了解同步状态。能同步任意数量的对象,无 1000 个对象的限制,适用于大规模数据同步场景。支持并发传输对象,进一步提高同步效率。通过重新定位可轻松管理文件夹结构之间的差异,方便文件整理。

8.5. STU

GitHub地址https://github.com/lusingander/stu

lusingander/stu - GitHub

STU 是一款精心打造的免费开源 TUI(文本用户界面)应用程序,专为 AWS S3 存储服务设计,使用 Rust 语言编写,并借助 ratatui 库构建而成。界面设计简洁直观,用户无需复杂的图形界面操作,即可在命令行环境下高效管理 AWS S3。


  • 简单总结下

S3 协议是由亚马逊 **AWS(Amazon Web Services)**推出的。随着云计算的兴起和对海量数据存储需求的不断增长,亚马逊意识到需要一种高效、灵活的存储服务来满足用户存储各种类型数据(如网页内容、备份数据、多媒体文件等)的需求。于是在 2006 年,亚马逊推出了 S3(Simple Storage Service),与之相伴的 S3 协议也应运而生。它最初是为了方便用户在 AWS 的云计算环境中存储和管理对象而设计的。

S3 协议是基于 HTTP/HTTPS 的 **RESTful(Representational State Transfer)**协议。这意味着它使用标准的 HTTP 方法(如 GET、PUT、DELETE 等)来操作存储资源。例如,通过 GET 请求可以获取存储桶中的对象内容,PUT 请求用于上传新的对象,DELETE 请求用于删除对象或存储桶。它通过 URL(统一资源定位符)来标识存储桶和对象,其 URL 格式通常为s3://bucket - name/object - key,其中bucket - name是存储桶名称,object - key是对象在存储桶中的唯一标识符。

现在市面上绝大多数的对象存储服务都支撑 S3 协议,像 OSS(阿里云对象存储服务)、R2(Cloudflare R2)等主流对象存储服务都支持 S3 协议,用户可以使用相同的工具和客户端库来管理不同存储服务中的数据。例如,一个开发团队如果之前在 AWS S3 上构建了应用程序,当他们考虑使用阿里云 OSS 时,由于 OSS 支持 S3 协议,可以很容易地将应用程序迁移过来,减少了对特定存储服务的依赖,提高了应用程序的灵活性和可移植性。对于开发者来说,主流对象存储服务支持 S3 协议意味着可以使用统一的开发模式。无论是开发一个简单的网站应用程序存储用户上传的文件,还是构建一个复杂的大数据存储和分析系统,都可以使用熟悉的 S3 协议相关的 API 和工具这大大简化了开发流程,减少了学习不同存储服务协议的成本,使得开发者能够更专注于应用程序本身的功能和性能。

现在大多数场景都需要使用到 S3 协议,但是很多厂商提供的控制台,对可视化管理都不是特别友好,当然如果你的业务系统有可视化管理功能另说;例如我就是使用 S3 进行博客网站的图片存储,利用 piclist 管理都不算管理,不能全局管理,而且有些时候 piclist 操作会有些小问题,所以就需要客户端工具来操作一下;

然后就在网上搜寻了一圈,整理了一下就有了这篇博客!其实还有很多其他的工具,我挑了一些个人觉得比较有代表性的工具推荐了;

如果你有更好的建议,欢迎讨论~

0

评论区