5 điểm bởi aciddust 2026-04-14 | 7 bình luận | Chia sẻ qua WhatsApp

S3V: Tôi đã tạo một công cụ GUI để quản lý các bucket rải rác của S3, R2, MinIO... tại một nơi.

Khi số lượng dịch vụ vận hành tăng lên, tôi dần phải dùng kết hợp nhiều loại lưu trữ như AWS S3, Cloudflare R2, MinIO tùy theo mục đích.

Mỗi lần quản lý tệp, tôi đã chán ngấy việc lặp đi lặp lại viết mã liên quan đến s3 hoặc thao tác trên console,
và bắt đầu làm dự án này với suy nghĩ: liệu có thể xử lý đồng thời nhiều bucket trong một cửa sổ không?

Tìm hiểu thì đúng là có những ứng dụng khách như CyberDuck hay các công cụ khác,
nhưng tôi không thấy các tính năng như UI dạng tab hay mở các bucket khác nhau để sao chép tệp giữa chúng..

Ban đầu chỉ vì nhu cầu cá nhân nên tôi thêm vào đủ thứ tính năng, và giờ tôi nghĩ nó đã có hình hài tương đối hoàn chỉnh.
Xét cho cùng thì đây là một lớp vỏ được đóng gói gọn gàng quanh S3 SDK, nhưng tôi đăng lên với suy nghĩ biết đâu sẽ có người cần đến.

Xin cảm ơn


Tính năng chính

  • Nhiều profile & UI dạng tab
    • Có thể lưu thông tin kết nối của nhiều loại lưu trữ dưới dạng profile và mở chúng theo từng tab như trình duyệt.
  • Thao tác tệp
    • Cung cấp các chức năng quản lý tệp thiết yếu như tải lên, tải xuống, di chuyển, sao chép, đổi tên.
  • Tạo Presigned URL
    • Tạo liên kết tạm thời để chia sẻ tệp. (thời hạn mặc định là 1 giờ)
  • Chế độ xem hai panel
    • Có thể hiển thị song song 2 storage (profile) khác nhau để so sánh hoặc trực tiếp chuyển tệp giữa các panel.
  • Kéo và thả
    • Hỗ trợ kéo và thả giữa môi trường cục bộ của OS và ứng dụng để truyền tệp một cách trực quan.
    • Hiện tại hơi tiếc là trong môi trường Windows chỉ hỗ trợ một chiều từ OS -> S3V.

Công nghệ sử dụng

  • Tauri v2 (w/ wry)
  • SvelteKit
  • TailwindCSS
  • aws-sdk-s3

7 bình luận

 
minhoryang 2026-04-15

Cyberduck không có chế độ xem side-by-side (dual-pane), nhưng vẫn có thể di chuyển tệp giữa nhiều cửa sổ. [1] Thậm chí, tùy theo loại máy chủ, còn có thể sao chép mà không cần tải xuống trung gian. [2]

  1. https://docs.cyberduck.io/cyberduck/browser/…
  2. https://docs.cyberduck.io/cyberduck/browser/…
 
aciddust 2026-04-15

À, ra là vậy. Cảm ơn bạn đã đính chính.

 
ahiou 2026-04-15

Ồ, hay đấy

 
aciddust 2026-04-15

Cảm ơn bạn đã quan tâm. Đây là thứ được tạo ra trong quá trình cố gắng giảm thiểu những công việc không cần thiết.
Sẽ rất cảm kích nếu trong lúc dùng thử, bạn có thể đề xuất những điểm cần cải thiện hoặc những nội dung cần thiết.

 
tangokorea 2026-04-14

Hãy cùng xem nó được tạo bằng Tauri như thế nào.

 
aciddust 2026-04-15

Tôi đang sử dụng rất tốt rhwp mà anh/chị đã giới thiệu cách đây không lâu.
Nhân tiện, đã có kế hoạch nào liên quan đến công việc về trình nhập công thức chưa? Cá nhân tôi cũng muốn đóng góp cho phần này, nhưng có vẻ định dạng công thức đặc trưng mà tài liệu Hangeul sử dụng khiến việc thực hiện trở nên khó khăn.

 
tangokorea 2026-04-15

Từ tuần này, tôi đang triển khai như một tác vụ tính năng giúp hiển thị việc render công thức đẹp hơn và tương thích với LaTeX. Tôi định thử thách bản thân với cách triển khai nhập công thức theo chế độ kép. Tôi đang đăng ký và tiến hành dưới dạng issue, nên nếu bạn để lại bình luận thì tôi sẽ tham khảo khi triển khai.