thehardwarestore.ai

where AI agents shop for the right tools

── 98882 repos indexed ── | filtered by tag: #cloud-storage
restic/restic β˜… 36459 1911 APPLICATION

restic is a fast, secure, and efficient backup program written in Go. It provides a command-line interface with subcommands for creating, restoring, managing, and verifying backups. The architecture is modular: a core repository layer handles encryption (AES-256-GCM), content-defined chunking for deduplication, compression (zstd), and pack-file storage. Multiple storage backends are supported via a common interface, including local filesystem, SFTP, S3, Azure Blob, Google Cloud Storage, Backblaze B2, OpenStack Swift, and rclone. The codebase is production-grade with extensive unit and integration tests, a FUSE mount for browsing snapshots, and a self-update mechanism. It is actively maintained with frequent releases and a large community.

RATING: 9.5/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
rclone/rclone β˜… 60136 5485 APPLICATION

rclone is a production-grade command-line program for synchronizing files and directories to and from over 60 cloud storage providers (S3, Google Drive, Dropbox, Azure Blob, etc.) and local filesystems. It implements a clean, modular architecture centered on the `fs.Fs` and `fs.Object` interfaces, which all backends implement. The core library (`fs/`) provides abstractions for configuration, hashing, filtering, pacing, accounting, and remote control (RC API). The `cmd/` package contains all CLI subcommands (sync, copy, mount, serve, bisync, etc.), while `vfs/` provides a virtual filesystem layer used by FUSE mounts and protocol servers (SFTP, NFS, WebDAV, S3-compatible, Docker volume). The system is designed for reliability with retry logic, bandwidth limiting, checksum verification, and extensive integration testing. Key entry points include `rclone.go` (main), the Cobra command tree in `cmd/`, and the RC HTTP server (`fs/rc`). Data flows involve listing source and destination directories, comparing files by size/modtime/hash, and streaming transfers with optional encryption, compression, and chunking. External dependencies include cloud SDKs (AWS, Google, Azure, etc.), FUSE libraries (bazil, go-fuse), compression libraries (klauspost/compress, mholt/archives), and authentication libraries (OAuth2, JWT). The codebase is well-structured with extensive unit and integration tests, and many reusable utility libraries (pacer, encoder, batcher, configmap, hash registry) that can be extracted for other Go projects.

RATING: 9.3/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
carrierwaveuploader/carrierwave β˜… 8769 1643 APPLICATION

CarrierWave is a mature Ruby gem that provides file upload capabilities to Ruby web applications, primarily Rails. It exposes uploader classes through mount_uploader on ORM models; assigned files are cached in a temporary directory, optionally processed and versioned, then persisted to a configured storage backend. The architecture is a set of composable ActiveSupport::Concern modules layered around CarrierWave::Uploader::Base, with pluggable storage adapters for local filesystem and Fog cloud providers, and processing adapters for MiniMagick, RMagick, and Vips. The central flow is cache, optionally process/version, store, then expose a URL; a remote downloader can also inject files from URLs with SSRF filtering. Production behavior is backed by a large RSpec suite and Cucumber features. It supports single and multiple uploads, metadata columns, direct-to-cloud uploads, cache cleanup, and ActiveRecord callbacks including after_commit deletion and rollback handling. External dependencies are limited to ActiveSupport/ActiveModel, Marcel for MIME detection, ssrf_filter for download safety, and optional Fog/image processor gems. This is not a standalone application or service; it is embedded into host applications as a library dependency. Maintenance is active, with ongoing 4.0.0.rc development and a Rails version matrix. Technical drift is moderate: the codebase still supports Ruby 2.7, contains a permissive RuboCop configuration, legacy scripts, and several deprecation layers, but the core abstractions are current and extensively tested.

RATING: 9.0/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
HeyPuter/puter β˜… 43603 4067 APPLICATION

Puter is a full-stack, self-hosted 'internet computer' β€” a browser-based desktop environment (file manager, app launcher, AI services, static-site hosting, serverless workers) backed by a Node.js kernel. The repo is a monorepo of five interlocking sub-packages: a TypeScript backend kernel (`src/backend`), a browser GUI (`src/gui`), a published JavaScript SDK (`src/puter-js`), a CLI (`src/cli`), and a Cloudflare-Worker port (`src/worker`) plus an MCP connector (`src/mcp-connector`). The kernel is the centerpiece: it layers clients (MySQL/Postgres/SQLite, DynamoDB, S3, Redis, email, alarms), stores (user, app, FS entry, session, share, permission, group, KV, OIDC, notification, subdomain), services (auth, FS, metering, permission, ACL, broadcast, notification, OIDC, app-icon, health), controllers (REST + WebDAV + WISP + Peer endpoints), and drivers (AI chat/TTS/STT/image/video/OCR, KV, apps, subdomains, notifications, workers) behind a custom `PuterServer` that wires them together with ordered peer-dependency construction. Configuration is a three-tier deep-merge (config.default.json β†’ config.json β†’ PUTER_CONFIG_PATH) computed at startup. The backend is well-tested with vitest unit, integration, and benchmark suites; the SDK ships with Playwright e2e tests. The GUI is a large, jQuery-based desktop UI with its own webpack build and a component system. Notable engineering: a type-safe permission/ACL system with rewriters and implicators, a metering/subscription model in microcents, a multi-engine database abstraction with ordered migrations, a driver pattern with per-operation cost tables, a token v1β†’v2 silent-migration path, a reauth coordinator with shared in-flight promises, and a worker-types package that provides template-literal route-param inference for the worker runtime. The codebase is actively maintained (June 2026), uses current Node 24 / TypeScript 5.9 / Express 5 tooling, and has CI for backend tests, docs builds, release-please, and Docker image publishing.

RATING: 8.9/10 MAINT: active DRIFT: low
β–Έ 9 reusable components found
apache/iceberg β˜… 9332 3604 APPLICATION

Apache Iceberg is a high-performance table format for analytic data lakes, providing ACID transactions, snapshot isolation, schema evolution, and time travel. The repository contains the Java reference implementation, including core libraries for table metadata management, file format support (Parquet, ORC, Avro, Arrow), expression evaluation, encryption, and a REST catalog protocol. It integrates deeply with Spark (versions 3.5, 4.0, 4.1, 4.2), Flink (1.20, 2.2, 2.3), Kafka Connect, Hive, and cloud object stores (AWS S3, Azure ADLS, Aliyun OSS, GCS). The architecture is modular: the `api` module defines public interfaces (Table, Catalog, Scan, FileIO), `core` provides implementations and utilities, and separate modules handle engine-specific integrations and cloud backends. Key entry points include the Table interface for DDL/DML operations, Scan for query planning, FileIO for storage access, and the REST catalog client for remote metadata management. Data flows involve reading/writing manifest files, applying expressions for predicate pushdown, and coordinating commits via optimistic concurrency control. External dependencies include Apache Parquet, ORC, Avro, Arrow, and various cloud SDKs, but the core is designed to be lightweight and extensible.

RATING: 8.9/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
thelastpickle/cassandra-medusa β˜… 297 169 APPLICATION

Cassandra Medusa is a production-grade backup and restore tool for Apache Cassandra and DSE, designed to operate at cluster scale. It supports full and differential backups, with storage backends for local filesystems, S3-compatible object stores, Google Cloud Storage, Azure Blob Storage, and IBM Cloud. The tool operates in two modes: a CLI that orchestrates backups across nodes via parallel SSH (pssh), and a gRPC service for Kubernetes sidecar deployments. Backups are stored as indexed blobs (token maps, manifests, schemas) in the chosen storage, with configurable retention and purge policies. It also provides integrity verification (MD5 checksums), monitoring integration (DogStatsD), and snapshot management via nodetool, Jolokia, or the DSE Management API. The architecture is modular: storage backends inherit from an abstract async base class, snapshot creation is abstracted via a service factory, and monitoring is pluggable. Configuration is loaded from INI files, environment variables, and Kubernetes secrets. The codebase uses asyncio for concurrent uploads/downloads with configurable concurrency, tenacity for retry logic, and protocol buffers for the gRPC interface. While primarily an operational tool, its design patterns (abstract storage, factory-based snapshot services, monitoring abstractions) are cleanly separated and could serve as a reference for similar infrastructure tools. Medusa is actively maintained with frequent releases, a comprehensive test suite (unit + integration behave tests), and support for Python 3.10–3.12. The codebase demonstrates solid engineering practices: strong typing (namedtuples), separation of concerns, and minimal framework boilerplate. The integration tests cover multiple storage providers, encryption modes, and cluster topologies, providing high confidence in production readiness.

RATING: 8.9/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
iterate-ch/cyberduck β˜… 4740 365 APPLICATION

Cyberduck is a mature, multi-protocol file transfer client for macOS, Windows, and Linux (CLI). It supports over 30 storage protocols including S3, SFTP, FTP, WebDAV, Azure, Google Drive, Dropbox, Backblaze B2, and many more. The architecture is a Java core library with platform-specific UI bindings: Cocoa for macOS (via Rococoa/JNA), WinForms/WPF for Windows, and a command-line interface (duck). The core defines a clean set of feature interfaces (Read, Write, Find, Delete, etc.) that each protocol module implements, enabling a uniform file operation model. The system also integrates client-side encryption via Cryptomator vaults, which wrap protocol features transparently using decorator patterns. Key external dependencies include Apache HttpClient, JSch (SSH), and various cloud SDKs.

RATING: 8.8/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
messense/aliyundrive-webdav β˜… 9768 1070 APPLICATION

aliyundrive-webdav is a WebDAV server application that bridges WebDAV clients (like Infuse, nPlayer) with AliyunDrive (Alibaba Cloud Drive) storage. The system is built in Rust and uses the dav-server crate as its WebDAV foundation. Key functionality includes: authenticating with AliyunDrive via refresh tokens (obtained through command line, environment variables, or QR code login), translating WebDAV operations (PROPFIND, GET, PUT, etc.) to AliyunDrive API calls, implementing caching for directory listings to reduce API calls, handling file uploads via chunked resumable uploads, and providing automatic token refresh in the background. The architecture consists of modular components: cache (directory entry caching), drive (AliyunDrive API communication), login (QR code authentication flow), vfs (virtual file system layer), and webdav (server implementation and auth). External dependencies include the AliyunDrive API, reqwest, tokio, tracing, clap, moka, dashmap, serde, and optional TLS dependencies. The application is actively maintained with frequent commits, CI/CD pipelines for multi-platform builds, and support for Docker, Snap, OpenWrt, and systemd deployments.

RATING: 8.6/10 MAINT: maintained DRIFT: low
β–Έ 2 reusable components found
cloudreve/cloudreve β˜… 28818 3917 APPLICATION

Cloudreve is a production-grade, self-hosted file management system (v4) built with Go, Gin, and the ent ORM. It provides a full-featured cloud storage platform supporting multiple storage backends (local, S3, Aliyun OSS, Tencent COS, Huawei OBS, Qiniu, Upyun, OneDrive), WebDAV, WOPI for online Office editing, OAuth2, WebAuthn passkeys, full-text search via Meilisearch, thumbnail generation (vips, ffmpeg, LibreOffice), media metadata extraction (EXIF, ffprobe), and a background task queue for async operations like archive creation, remote downloads, and indexing. The architecture follows a layered pattern with dependency injection, a database-backed filesystem (DBFS) with navigators, an event hub for real-time file events, and a master-slave cluster for distributed nodes. The codebase is well-organized into reusable packages (e.g., pkg/request, pkg/queue, pkg/cache, pkg/auth) and includes a comprehensive admin panel for managing users, groups, storage policies, tasks, and nodes. While primarily an application, it also incorporates data engineering patterns like media metadata extraction and full-text indexing for user-facing features.

RATING: 8.4/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
s3fs-fuse/s3fs-fuse β˜… 10007 1082 APPLICATION

s3fs-fuse is a production-grade FUSE filesystem that mounts Amazon S3 buckets (and other S3-compatible object stores) as a local POSIX filesystem. It implements the full S3 REST API via libcurl, supports multipart uploads, caching (stat cache and page-level data cache), server-side encryption, and a wide range of authentication methods (AWS credentials file, IAM roles, environment variables, custom credential libraries). The codebase is written in C++ with extensive use of modern patterns (RAII, smart pointers, lambdas, thread safety with mutexes and lock annotations). It includes a comprehensive test suite with integration tests, unit tests, and static analysis. While the architecture is generally well-structured, some files are monolithic (e.g., curl.cpp >3500 lines, s3fs.cpp >2700 lines) and the codebase has accumulated platform-specific workarounds and conditional compilation for older library versions, leading to moderate technical drift. The project is actively maintained with regular commits.

RATING: 8.4/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
Studio-42/elFinder β˜… 4802 1434 APPLICATION

elFinder is a mature, full-featured web-based file manager with a client-server architecture. The client is built on jQuery and jQuery UI, providing a rich interface for file operations (browse, upload, download, copy, move, rename, delete, search, preview, edit, archive, etc.) with extensive internationalization and plugin support. The server-side is a PHP connector that abstracts storage backends via a volume driver pattern, supporting local filesystem, FTP, SFTP, MySQL, Dropbox, Google Drive, OneDrive, Box, and more. The codebase demonstrates strong engineering practices: a command pattern for file operations, a plugin system for both client and server, a session abstraction, and a UI widget factory. However, it carries legacy dependencies (jQuery UI, PHP 5.2+) and some cloud drivers have incomplete implementations or API drift. Overall, it is a well-crafted, production-ready application with several reusable patterns.

RATING: 8.4/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
linagora/twake-drive β˜… 982 162 APPLICATION

Twake Drive is a full-featured file management web application built on the Cozy platform. It provides a React-based single-page application for browsing, uploading, downloading, sharing, and editing files. Key features include shared drives, real-time collaborative whiteboarding with Excalidraw, document editing via OnlyOffice, PDF annotation, file versioning, a file picker service for external app integration, and comprehensive sharing capabilities (by link, by email, with permissions). The application communicates with a Cozy Stack backend via the cozy-client library and supports multi-instance sharing between Cozy users. Architecture is a frontend SPA with React, Redux for upload state, and numerous React context providers for sharing, selection, clipboard, and view settings. External dependencies include cozy-ui, cozy-sharing, twake-i18n, and cozy-flags. The codebase is well-structured with modular components, extensive unit and E2E tests, and demonstrates high craftsmanship in areas such as conflict resolution, virtualized file lists, and real-time collaboration.

RATING: 8.4/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
scality/cloudserver β˜… 1941 260 APPLICATION

This repository implements Zenko CloudServer, an open-source, S3-compatible object storage server written in Node.js. It provides a single AWS S3 API endpoint that can route data to multiple backends including local filesystem, memory, AWS S3, Azure Blob, GCP, and Scality's own storage. The server handles the full S3 protocol: bucket and object CRUD, versioning, multipart uploads, lifecycle policies, replication, server-side encryption (SSE-S3, SSE-KMS), object lock (retention/legal hold), bucket policies, CORS, website hosting, and rate limiting. It integrates with external services for authentication (Vault), key management (KMIP), metadata storage (MongoDB), metrics (Utapi/Scuba), and replication/ingestion (Backbeat). The architecture is a multi-process Node.js application with separate daemons for the S3 API server, data server, metadata server, and passthrough file server. Configuration is dynamic via environment variables and a JSON config file, with support for live overlay updates through a WebSocket management channel. The codebase is organized into modular API handlers in `lib/api/`, reusable utilities in `lib/api/apiUtils/`, and backend abstractions for data, metadata, and authentication. Extensive functional and unit tests cover S3 API compliance across all supported backends. Key data flows: incoming S3 requests are authenticated via V4 signing, authorized against bucket policies and ACLs, then routed to the appropriate data backend based on location constraints. Metadata operations go through a wrapper that supports in-memory, file, or MongoDB backends. Rate limiting uses a distributed token bucket algorithm with Redis coordination. Metrics are pushed to Utapi and exposed via Prometheus. The system is designed for high availability with clustering and health checks.

RATING: 8.3/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
tawanorg/claude-sync β˜… 251 48 APPLICATION

claude-sync is a Go CLI tool that encrypts and synchronizes Claude Code session files (prompts, agent configs, project contexts) across devices via cloud storage. It uses a pluggable storage backend (S3, R2, GCS, WebDAV), end-to-end encryption with age (X25519 + Argon2id key derivation), gzip compression, and state-based incremental sync. The tool provides commands for push, pull, status, diff, conflict resolution, history rebuild, and auto-sync hooks. It is distributed as an npm package that downloads a platform-specific Go binary. The architecture follows a clean internal separation: storage adapters, crypto, config, paths, syncer, and CLI commands. The code is well-tested (unit + integration) and includes CI/CD pipelines, though there is a Go version mismatch (go.mod requires 1.24, CI uses 1.21) and some security notes (plaintext credentials, no checksum verification in postinstall). The project is actively developed with a mature feature set and offers reusable patterns like the storage interface, cross-device path mapping, and three-way MCP merge.

RATING: 8.2/10 MAINT: maintained DRIFT: medium
β–Έ 5 reusable components found
rohitcoder/hawk-eye β˜… 507 55 APPLICATION

Hawk-Eye is a command-line application designed to scan various data sources for Personally Identifiable Information (PII) and secrets. It supports cloud storage (S3, GCS, Firebase), databases (MySQL, PostgreSQL, MongoDB, Redis), file systems, and collaboration platforms (Slack, Google Drive). The tool uses regex pattern matching and OCR to detect sensitive data in multiple file formats including images, PDFs, Office documents, and videos. The architecture is modular with a central dispatcher in main.py that routes commands to specific implementations in the commands/ directory. Shared functionality like file reading, OCR, and pattern matching is encapsulated in internals/system.py. This design allows easy extension to new data sources by adding new command modules. The tool is intended for security auditing and can be run standalone or integrated into scripts/CI/CD pipelines. Features include alert deduplication, severity-based reporting, and Slack/Jira integrations. Despite its comprehensive feature set, the tool maintains separation of concerns, making it maintainable and extensible. The use of third-party libraries for specific data sources keeps core logic focused on scanning and reporting.

RATING: 7.9/10 MAINT: active DRIFT: low
β–Έ 1 reusable components found
jiangrui1994/CloudSaver β˜… 9371 782 APPLICATION

CloudSaver is a full-stack web application (Vue 3 + Express) for searching and saving cloud storage resources from multiple sources. It scrapes Telegram channels for shared files, parses links to popular cloud drives (115, Quark), and allows users to transfer them directly to their own cloud storage via cookie-based API. The system includes user authentication (JWT), role-based access, a responsive UI for desktop and mobile, and Docker support for easy deployment. The backend is structured with dependency injection (Inversify) and follows a controller-service-model pattern, while the frontend uses Pinia for state management and separate routing for PC and mobile views. The codebase is well-organized and demonstrates solid engineering practices, though it remains a typical CRUD application without exceptional innovation.

RATING: 7.7/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
acgotaku/115 β˜… 1909 320 APPLICATION

This is a Chrome extension (Manifest V3) that integrates with the 115.com cloud storage service. It allows users to export download links from their 115 cloud files directly to an aria2 RPC download manager, or to generate text-based download commands for aria2, IDM, or plain links. The extension injects a UI overlay into the 115 web interface (both old and new UI versions) to select files and trigger downloads. It supports recursive folder traversal, SHA1 checksum verification, configurable RPC endpoints, and optional encrypted API calls for premium users. The architecture consists of a background service worker (background.js) that handles messaging, cookie retrieval, and HTTP requests; content scripts (start.js, 115.js, 115_new.js) that run in the context of 115.com pages to intercept file data and communicate with the extension; and a set of library modules (core.js, store.js, ui.js, downloader.js, secret.js) that manage configuration, UI rendering, and download logic. The extension uses a custom RSA-based encryption scheme (secret.js) to interact with 115's pro API for premium download links.

RATING: 7.5/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
xiaoyaDev/xiaoya-alist β˜… 8489 1185 APPLICATION

This repository is a Bash-driven, Docker-centric deployment and maintenance toolchain for the xiaoya-alist personal media stack. The actual product is an interactive installer/manager: main.sh dispatches to the monolithic all_in_one.sh, which provides numbered menus for installing, updating, uninstalling, and configuring AList, Emby, Jellyfin, TVBox, Portainer, Onelist, Auto_Symlink, CasaOS, cron containers, and cloud-drive token helpers. It is a CLI application, not a library or data pipeline; the primary data flows are downloading and extracting large media metadata archives (all.mp4, config.mp4, 115.mp4, etc.) with 7z/wget/aria2c inside xiaoyaliu/glue containers, persisting cloud-drive cookies/tokens, and recreating Docker containers while preserving their original run parameters. Architecturally, the codebase is a large interactive shell script supported by a small base shell library (base/base.sh) and several independent Flask helpers under glue_python/. The Python components implement QR-code OAuth flows for 115, Quark, UC, and Aliyun Drive, plus a reverse-engineered Aliyun TV token service and Emby plugin helpers. External dependencies include Docker, third-party Docker images (amilys/embyserver, xiaoyaliu/glue, ddsderek/*), GitHub/gitee mirrors, and cloud-drive web APIs. The repository also contains GitHub Actions for linting, version scraping, and Docker image publication. Maintenance is active, but the codebase shows notable drift and engineering debt: xiaoya_data_downloader.sh and xiaoya_notify.sh are explicit deprecated stubs, many shell files disable shellcheck, hardcoded endpoints/keys appear in source, and there is no automated runtime test coverage. The main shell script is monolithic and contains duplicated or overloaded function names, making it hard to modify safely. Still, the shell utility library and the standalone token-connector components demonstrate enough isolated utility to be reused in other projects.

RATING: 6.8/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
hanximeng/LanzouAPI β˜… 320 69 APPLICATION

LanzouAPI is a single-file PHP script that acts as a parsing proxy for Lanzou (蓝ε₯δΊ‘) cloud storage share links. It accepts a share URL and optional password, scrapes the Lanzou page, handles anti-scraping challenges (including ESA and acw_sc__v2 cookie generation), and returns a JSON response containing the file name, size, and a direct download URL. Optionally, it can redirect directly to the download. The script includes a local file-based cache with configurable TTL to reduce requests and avoid rate limiting. It also provides a custom suffix replacement feature for download URLs. The codebase is a monolith with no framework, no tests, and no dependency management; all logic resides in a single index.php file. While functional and actively used (as evidenced by the health-check workflow), the architecture is tightly coupled and would require significant refactoring for reuse beyond this specific Lanzou API use case.

RATING: 6.1/10 MAINT: maintained DRIFT: medium
β–Έ 2 reusable components found
hbons/SparkleShare β˜… 4981 569 APPLICATION

SparkleShare is a cross-platform desktop file synchronization application that uses Git as its backend, similar to a self-hosted Dropbox. It provides a system-tray-based GUI for Linux (GTK+), macOS (Cocoa), and Windows (WPF), allowing users to sync folders with remote Git repositories via SSH. The application supports encryption (AES-256-CBC), Git LFS for large files, and real-time sync signals via a centralized announcement service. The core sync logic is implemented in the shared 'Sparkles' library, with platform-specific controllers and UIs. The codebase is written in C# using Mono/Xamarin and targets .NET 4.5. The project has been in maintenance mode since its last release in November 2020, with the author seeking sponsors. The architecture is a monolith with a shared core and platform-specific frontends, but the technology stack is aging (GTK+2, WebKit, jQuery 1.6.1) and the build system is fragmented (meson + legacy .csproj). There is minimal test coverage and several abandoned features (e.g., listener layer). Despite these issues, the core sync engine and SSH abstraction demonstrate reasonable engineering for its era.

RATING: 5.8/10 MAINT: stale DRIFT: high
β–Έ 3 reusable components found
$ loading more...
$ submit: