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.
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.