内容提要
阿里云盘WebDAV项目满一年,作者回顾了功能迭代,包括支持阿里云PDS、只读模式、内置HTTPS、iOS Live Photo下载、扫码登录及oc:checksums校验。项目获得4900多stars、11位贡献者,日PV约1500。作者解释选择Rust是因为其跨平台架构支持好,项目不赚钱,仅满足自用需求。
延伸解读
只读模式:从用户误操作中诞生的安全设计
文章提到,有用户将服务配置给长辈观看时,文件夹被意外删除。为此作者增加了只读模式,通过命令行参数禁止写操作。这提醒我们,在将网盘服务开放给非技术用户时,权限控制是必要的。只读模式虽然简单,但能有效防止误删,尤其适合家庭共享场景。
内置HTTPS与证书管理:低端设备上的实用取舍
项目基于rustls实现了内置HTTPS支持,方便在路由器等低端设备上直接提供加密服务,无需额外部署Nginx。但作者也指出,目前尚未实现自动获取Let's Encrypt证书,用户仍需借助certbot等工具手动签发。这反映了在资源受限环境下,功能完整性与易用性之间的平衡。
Live Photo下载:功能实现与同步代价
由于阿里云盘接口不提供.livp格式的原始下载地址,项目通过实时组合视频和图片来生成.livp文件,解决了下载500错误的问题。但这种方式会丢失文件的创建和修改时间信息,对文件同步场景不友好。这提示用户,在需要保持时间戳的同步任务中,需注意此限制。
Rust语言选择:跨平台支持比内存安全更关键
作者坦言,Rust标榜的内存安全等特性在此项目中并非核心优势,选择Rust的关键在于其对多种CPU架构的优秀支持,包括路由器常用的mips和arm架构。这解释了项目为何能覆盖广泛的设备类型,也说明技术选型应优先考虑实际需求而非语言流行度。
Q&A
aliyundrive-webdav 项目在过去一年增加了哪些主要功能?
项目增加了阿里云 PDS 支持、只读模式、内置 HTTPS 支持、iOS Live Photo 下载、扫码登录以及对 oc:checksums 扩展的支持。
如何防止通过 WebDAV 误删阿里云盘中的文件?
可以启用只读模式,在命令行传入 --read-only 参数即可禁止写操作,避免误删文件。
为什么 aliyundrive-webdav 选择用 Rust 语言开发?
作者选择 Rust 主要是个人喜好,但关键因素是 Rust 对主流平台和 CPU 架构(如 x86、arm、mips 等)的优秀支持,便于在路由器等设备上运行。
aliyundrive-webdav 支持哪些 CPU 架构?
支持 x86、x86_64、arm64、armv7、armv6、armv5、mips 和 mipsel 等架构。
项目目前的社区活跃度如何?
GitHub 上获得 4900+ stars,有 11 位贡献者,产生了 217 个 issues 和约 190 个讨论区主题,每天 PV 约 1500,UV 约 600。
这个项目能赚钱吗?
不能赚钱。作为 side project 主要满足自用需求,偶尔收到打赏,广告合作收入也仅够一个月两杯咖啡。