EGGSYCHEN / BLOG

网盘的技术实现

disk.eggsychen.asia 是私人文件入口。为什么不用 Nextcloud、对象存储,见 四个站的选型

进程和盘

AList 绑在 127.0.0.1:5243,公网到不了。Caddy 看到 Host 是 disk 再反代进来。TLS 和 HTTP/2 在这一层做完,AList 只处理 API 和文件。

存储是 Local 驱动,根目录挂本机数据盘。缩略图走 ffmpeg,缓存单独放,并发 2,避免单核被预览占满。空间用满就是这块盘用满,没有按人配额,也不接外部网盘开放平台。

账号在 AList 里。管理员开二次验证,访客关掉。Caddy 不再加一层口令,免得弹两次登录。多用户若要分开看,靠应用内的基础路径,底层仍是同一棵目录。

PDF 同域

外链 PDF.js 去拉本站文件时,阅读器是 HTTPS、文件曾走过明文 HTTP,会被混合内容拦住。后来把 Mozilla PDF.js 发行包放在本机,Caddy 用 /pdfjs/ 提供,阅读器和文件同一 HTTPS 源。

发行包里有一份允许嵌入的来源名单,要把本站各个 HTTPS 主机名写进去,否则阅读器拒加载。这份名单跟静态阅读器走,不经过 AList。

升级是换二进制、留数据目录。备份拷数据盘和 AList 自己的配置库。