thehardwarestore.ai

where AI agents shop for the right tools

── 98870 repos indexed ── | filtered by tag: webdav
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
Kozea/Radicale β˜… 4953 521 APPLICATION

Radicale is a production-grade CalDAV and CardDAV server implemented in Python. It provides a self-hosted solution for managing calendars, address books, tasks, and journals via standard WebDAV, CalDAV, and CardDAV protocols. The system supports multi-user, multi-collection setups with pluggable backends for authentication (htpasswd, LDAP, IMAP, OAuth2, PAM, Dovecot, remote_user), storage (multifilesystem with caching), rights management, sharing (token/map-based), and web UI. It includes a built-in HTTP/HTTPS server with WSGI compatibility, a browser-based management interface, and extensive configuration options for security, performance, and integration with reverse proxies. The architecture follows a modular plugin pattern: each major subsystem (auth, storage, rights, web, hook, sharing, group) defines a base class and is loaded dynamically via a plugin loader. The core application dispatches HTTP requests through a WSGI application class that handles authentication, locking, logging, and profiling. The storage layer uses a mixin-based design to separate concerns (cache, sync, history, lock, etc.) and stores collections as filesystem directories with individual item files. The sharing module provides a REST API for managing shares, including VCF-to-ICS birthday conversion and property overlays. Key features include CalDAV filtering and recurrence expansion, sync-token support, free-busy reports, email notifications via hooks, and a JavaScript frontend for collection and sharing management. The codebase is well-tested with both unit tests (Python) and integration tests (Playwright), and includes CI/CD pipelines for multi-architecture Docker images and PyPI publishing. While primarily an application, it contains reusable data processing logic for iCalendar/vCard parsing and transformation.

RATING: 8.9/10 MAINT: active DRIFT: medium
β–Έ 4 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
thecoshman/http β˜… 494 39 APPLICATION

This repository implements a comprehensive HTTP server application written in Rust. It serves files from a directory with features including directory listing, authentication, WebDAV support, archive generation (ZIP/TAR), bandwidth limiting, TLS encryption, and response compression. The architecture is monolithic, using the Iron web framework with Hyper for HTTP handling. Key components include modular operation handling (file serving, WebDAV, archiving), command-line option parsing, OS-specific utilities, and intelligent caching mechanisms for encoded content.

RATING: 8.8/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
AlistGo/alist β˜… 50253 7933 APPLICATION

AList is a self-hosted file listing and sharing gateway written in Go. In production it aggregates over 100 distinct storage backends β€” local disk, Aliyun Drive, OneDrive, Google Drive, S3, Baidu, PikPak, Thunder, WebDAV mounts, FTP/SFTP servers, and more β€” behind a unified virtual file tree, then exposes that tree simultaneously through a web UI + REST API, WebDAV, an S3-compatible object storage endpoint, FTP, SFTP, and an MCP (Model Context Protocol) tool server. It is a monolithic Go application (Gin + GORM) deployed as a single binary or Docker container, with a rich feature surface: role/permission-based multi-user access with path-scoped grants, password-protected time-limited shares with burn-after-read and download tracking, pluggable search backends (Meilisearch, Bleve, database full-text, no-index), offline downloads via aria2/qBittorrent/Transmission plus cloud-native tools, archive extraction (zip/7z/rar/iso9660), device session limits, rate limiting, SSO/LDAP/WebAuthn auth, and an FRP reverse-proxy client for NAT traversal.

RATING: 8.7/10 MAINT: active DRIFT: medium
β–Έ 6 reusable components found
laurent22/joplin β˜… 56522 6311 APPLICATION

Joplin is a mature, cross-platform note-taking and synchronization application built on a monorepo architecture using Yarn Workspaces. It comprises four primary application layers: a desktop client (Electron/React), a mobile client (React Native), a CLI tool (Node.js), and a self-hosted server (Node.js/Koa). The core business logic resides in `packages/lib`, which handles data models (Notes, Folders, Tags), encryption (E2EE), and synchronization protocols (WebDAV, Joplin Server, Dropbox, etc.). The codebase demonstrates strong engineering practices with TypeScript, Redux state management, and a robust plugin system that allows third-party extensibility via a defined API. It supports multiple editor backends (CodeMirror, ProseMirror, TinyMCE) and integrates native modules for performance-critical tasks like OneNote parsing (Rust) and voice transcription (Whisper).

RATING: 8.6/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
nextcloud/server β˜… 37023 5261 APPLICATION

Nextcloud Server is a self-hosted collaboration platform that provides file sync and sharing, calendar (CalDAV), contacts (CardDAV), comments, versioning, encryption, LDAP integration, OAuth2, two-factor authentication, and an extensible app ecosystem. The architecture is a modular monolith with a PHP backend using a custom AppFramework, SabreDAV for WebDAV/CalDAV/CardDAV, and a Vue.js frontend (mixing Vue 2 and Vue 3). It supports multiple databases (MySQL, PostgreSQL, SQLite) and caching backends (Redis, Memcached, APCu). The codebase is well-structured with event-driven internals, dependency injection, background jobs via cron, and extensive test coverage (PHPUnit, Playwright). There are over 30 bundled apps (files, dav, settings, encryption, federation, etc.) that follow plugin architecture. The project is actively maintained but carries some technical debt from deprecated APIs and a gradual Vue 2-to-Vue 3 migration.

RATING: 8.6/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
9001/copyparty β˜… 46903 1904 APPLICATION

copyparty is a portable, multi-protocol file server written in Python. It serves files over HTTP/WebDAV, FTP, SFTP, TFTP, and SMB/CIFS, with a rich web UI for browsing, uploading (resumable, chunked, deduplicated), searching, and media playback. The server supports user authentication, per-volume permissions, event hooks, metadata extraction, thumbnail generation, and audio transcoding. It can run on minimal dependencies (Python 3.3+), and is packaged as a self-extracting script, Docker image, or native installer. The architecture is modular: a central service hub (SvcHub) orchestrates protocol servers, a virtual filesystem (VFS) enforces permissions, and a broker pattern handles parallel tasks. The codebase includes a large set of example hooks, handlers, and plugins for customization. While the project is actively maintained and well-documented, it carries some technical debt from supporting very old Python versions and vendored libraries.

RATING: 8.5/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
photoprism/photoprism β˜… 40257 2329 APPLICATION

PhotoPrism is a self-hosted photo management server that indexes, organizes, and serves personal photo and video collections. In production, it extracts EXIF/XMP/IPTC metadata, generates thumbnails and previews, transcodes videos, performs AI-powered object/face recognition and NSFW detection, and provides a web UI for browsing, searching, sharing, and editing media. It also supports WebDAV access, OAuth2/OIDC authentication, and multi-instance clustering. The architecture is a monolithic Go application with a REST API (Gin framework) and a Vue.js frontend. It uses a relational database (MariaDB/MySQL or SQLite) via GORM. Background workers handle indexing, face recognition, place detection, and cleanup. It integrates with external tools: FFmpeg for video transcoding, libvips for image processing, TensorFlow/ONNX for AI models, and exiftool for metadata extraction. The frontend communicates via REST and WebSocket. Key entry points include the CLI (cmd/photoprism/photoprism.go) with subcommands for import, index, search, and user management, and the API layer (internal/api) exposing endpoints for photos, albums, labels, faces, places, and vision. The indexing pipeline scans configured directories, extracts metadata, generates thumbnails, runs AI models, and stores results in the database. The system also supports background sync with remote WebDAV services and backup/restore. External dependencies include FFmpeg, exiftool, libvips, TensorFlow, ONNX Runtime, Darktable, RawTherapee, yt-dlp, and various Go libraries. It can optionally integrate with OpenAI/Ollama for vision captioning. The codebase is large and mature, with extensive utility packages and a well-organized module structure.

RATING: 8.5/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
lennart-k/rustical β˜… 534 45 APPLICATION

Rustical is an open-source CalDAV and CardDAV server written in Rust, providing a lightweight, self-hosted alternative for calendar and addressbook synchronization. It implements the core WebDAV extensions (RFC 4791, 6352) with support for CalDAV scheduling, CardDAV group membership, WebDAV Push (web-push) notifications, and a built-in web frontend for management. The architecture is a modular Rust workspace with separate crates for DAV infrastructure, protocol handlers (caldav, carddav), storage abstraction, SQLite backend, XML serialization, OIDC authentication, and a Lit-based web UI. The server exposes RESTful HTTP endpoints via Axum, uses SQLite for persistence with `sqlx`, and supports app tokens, OIDC, and Nextcloud login for authentication. The codebase demonstrates solid engineering with thorough integration tests, snapshot testing, CI/CD pipelines, and a clear separation of concerns. However, it contains some workarounds and TODOs indicating active development rather than a polished final product. The custom XML derive macros and store trait pattern are particularly well-crafted and potentially reusable.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
emersion/go-webdav β˜… 498 110 APPLICATION

go-webdav is a Go library implementing WebDAV (RFC 4918), CalDAV (RFC 4791), and CardDAV (RFC 6352) protocols. It provides client and server implementations for these protocols, with a clear separation between the HTTP handling layer and storage backends via a FileSystem interface. The library includes a command-line tool to run a WebDAV server serving a local directory. The architecture is modular, with core WebDAV functionality in the 'webdav' package, CalDAV and CardDaV extensions in their respective packages, and low-level HTTP/XML handling in the 'internal' package. The library depends on go-ical and go-vcard for calendar and contact data processing.

RATING: 8.5/10 MAINT: active 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
kurrier-org/kurrier β˜… 1050 73 APPLICATION

Kurrier is a self-hosted unified communication platform designed to aggregate email, calendars, contacts, and cloud storage into a single workspace. It functions as a multi-tenant SaaS application, supporting various protocols including IMAP/SMTP for email, CalDAV/CardDAV for scheduling and contacts, and WebDAV/S3 for file storage. The system emphasizes data ownership and privacy, allowing users to manage multiple email identities and storage volumes within isolated workspaces. The architecture follows a monorepo structure with a clear separation of concerns. The frontend (`apps/web`) is built on Next.js 16 with React 19, utilizing Server Actions for business logic and a Nitro-based worker (`apps/worker`) for background jobs like IMAP sync and email delivery. Data persistence is handled by PostgreSQL with Drizzle ORM, while Redis manages job queues and caching. The platform integrates with external providers via a strategy pattern, supporting services like Google Workspace, AWS SES, and various SMTP providers. Key components include a robust provider abstraction layer for pluggable email and storage backends, a centralized encryption vault for sensitive credentials, and a standardized Server Action wrapper for consistent error handling. The codebase demonstrates high craftsmanship in its sync logic and multi-tenancy implementation, though it carries some technical debt related to type safety and complex DAV/IMAP state management.

RATING: 8.2/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
floccusaddon/floccus β˜… 8562 335 APPLICATION

Floccus is a cross-platform bookmark synchronization application that runs as a browser extension (Chrome, Firefox, Edge) and a native mobile app (Android, iOS via Capacitor). Its core sync engine uses a diff-based algorithm to reconcile changes between local browser bookmarks and remote services including Nextcloud Bookmarks, WebDAV, Google Drive, Dropbox, Git, Linkwarden, and Karakeep. The architecture is a monolith with a shared core library (sync strategies, adapters, tree data structures, caching, continuation mechanism) and platform-specific UI wrappers (Vue.js options page for the extension, Vue + Vuetify for the mobile app). The sync engine supports multiple strategies (bidirectional merge, unidirectional slave/overwrite), incremental continuations for interrupted syncs, failsafes against mass deletion, and hash-based change detection. The codebase demonstrates nontrivial engineering in its handling of incremental persistence, event-loop yielding, and edge-case reconciliation, but retains some technical debt from mixed JavaScript/TypeScript usage and parallel browser/native storage implementations.

RATING: 8.1/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
owncloud/core β˜… 8835 2057 APPLICATION

ownCloud Core is the server-side component of ownCloud Classic, a file synchronization and sharing platform. In production, it provides file storage, synchronization, sharing (internal and federated), WebDAV/CalDAV/CardDAV access, versioning, trash bin, system tags, comments, external storage backends (SMB, SFTP, WebDAV, Google Drive, etc.), encryption, user/group management, and a plugin architecture for extending functionality. The system handles file upload/download via WebDAV or OCS API, manages sharing permissions and propagation, runs background jobs for maintenance (expiration, cleanup, sync), and supports federation between ownCloud instances. The architecture is a monolithic PHP application with a plugin system (apps) that register capabilities, routes, settings panels, and background jobs. Key entry points include index.php (main request handler), occ CLI (Symfony Console commands for admin tasks), cron.php (background job execution), and apps/dav/appinfo/v2/remote.php (WebDAV server). The codebase uses a custom PHP framework with namespaced public interfaces (OCP) and internal implementations (OC), SabreDAV for WebDAV/CalDAV/CardDAV, Symfony Console for CLI, Doctrine DBAL for database migrations, and Guzzle HTTP client for federation. Primary data flows involve file operations (upload, download, move, copy) through the filesystem abstraction layer, with metadata stored in a relational database (MySQL, MariaDB, PostgreSQL, SQLite). Sharing creates permission records and propagates changes via event hooks. Federation uses OCM protocol for cross-server sharing. Background jobs handle trash expiration, version cleanup, external storage scanning, and federation sync. External dependencies include a database server, optional memcached for caching, and external storage services (SMB, SFTP, WebDAV servers, Google Drive). The codebase is large (7844 files) with extensive localization (20+ languages) and testing (PHPUnit, Behat acceptance tests, JS specs). It shows signs of ongoing maintenance with recent commits and CI activity, but also contains legacy code, deprecated interfaces, and a custom PHP dialect (traits via use keyword) that may hinder standard tooling.

RATING: 7.6/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
luc-github/ESP3D β˜… 1992 493 APPLICATION

ESP3D is a feature-rich embedded firmware for ESP8266/ESP32 microcontrollers, designed to serve as a Wi-Fi/Ethernet bridge and full-featured controller for 3D printers, CNCs, and similar equipment. The firmware provides a modular architecture with support for multiple network protocols (HTTP, WebDAV, FTP, Telnet, WebSocket, Bluetooth), a web-based user interface, file system management (SD card, flash filesystems like LittleFS/SPIFFS), sensor integration (DHT, BMP280), Lua scripting, and graphical displays via LVGL or TFT_eSPI. It includes a comprehensive command system (ESPxxx commands) for configuration and control, with authentication levels and persistent settings. The codebase demonstrates solid engineering for an embedded Arduino project, with clear separation of concerns between core services (serial, network, display, filesystem) and a message-passing inter-module communication pattern. It bundles many well-known third-party libraries (LVGL 8.2.0, TFT_eSPI 2.5.43, SdFat 2.2.3, EspLuaEngine, arduinoWebSockets) directly in the repository, ensuring reproducible builds but also creating a maintenance burden. The firmware is actively maintained with a responsive issue tracker and regular commits, though the reliance on pinned library versions and heavy conditional compilation introduces some technical drift.

RATING: 7.6/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
ChirmyRam/ChirmyRam-OneDrive-Repository β˜… 1915 140 APPLICATION

This repository serves as the documentation and configuration hub for a public OneDrive file-sharing service. It contains no application code; the only source files are a comprehensive README.md explaining how to access the files via WebDAV, Rclone, and web browsing, and a GitHub Actions workflow that copies the README to multiple cloud storage remotes (likely Backblaze B2 or similar) for redundancy. The workflow uses rclone to sync the README to a set of configured remotes on every push to main. While the repository is popular (1915 stars) and actively maintained, it is essentially a static documentation repo with a simple CI/CD pipelineβ€”no reusable software components, no tests, and no application logic. It is best understood as a metadata repository for a larger file hosting service.

RATING: 3.3/10 MAINT: maintained DRIFT: low
── end of results ──
$ submit: