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.
This repository is a heavily forked and customized version of the OpenWrt/LEDE build system, primarily focused on producing router firmware images with extensive proprietary MediaTek (Ralink) WiFi drivers, Lantiq DSL support, Quantenna firmware, and various custom utilities. The codebase is dominated by low-level kernel drivers for Wi-Fi chipsets (mt7615d, mt7603e, mt7612e) with thousands of lines of register definitions, hardware abstraction layers, and protocol state machines (802.11k/r/v, SAE, DFS, beamforming). It includes user-space daemons for embedded authentication (ead with tinysrp), network services (GRE, DHCPv6, WWAN), and firmware image tools (oseama, nvram, bcm4908img). The build system follows standard OpenWrt structure with top-level Makefile, package feeds, and include directives. The repository is a monolithic build system producing embedded Linux firmware, not a library or microservices application. It has high technical drift due to reliance on out-of-tree kernel modules, deprecated APIs, and aging cryptographic code. Reusable components are scarce but include standalone shell scripts for calibration data extraction and a self-contained SRP authentication library.