把旧手机变成私人学习资料网盘

用 Termux、Alist 和 Cloudflare Tunnel 搭了一个自己的学习资料归档入口。

之前博客已经跑在一台安卓手机上了。既然这台手机本来就 24 小时在线,那干脆再给它加一个更实用的功能:私人学习资料网盘。

现在入口是:

September Archive

主要用来放课程 PPT、教材 PDF、作业资料、考试复习文档,还有一些平时从桌面和聊天记录里扒出来的学习文件。它不是公开资源站,更像是给自己准备的长期资料仓库。

架构

整体结构很简单:

1
2
3
4
5
安卓手机 Termux
  └─ Alist
      └─ /sdcard/StudyArchive
          └─ Cloudflare Tunnel
              └─ drive.september.win

手机本地跑 Alist,资料实际存在 /sdcard/StudyArchive。外部访问不直接暴露手机端口,而是通过 Cloudflare Tunnel 转发到公网域名。

这样做的好处是:

  • 不需要公网 IP
  • 不需要在路由器上开端口
  • 手机只主动连 Cloudflare
  • 网盘地址稳定
  • 和博客一样都挂在自己的域名下面

安全

这个网盘没有裸奔。

外层用了 Cloudflare Access,访问 drive.september.win 时会先要求邮箱验证码。通过之后才会进入 Alist 自己的登录页。

也就是说现在是两层:

1
2
3
Cloudflare Access
  -> Alist 登录
  -> StudyArchive

Alist 的游客访问也关掉了,游客按钮也从页面里隐藏了。文件接口未登录时会返回 401。

这点很重要,因为学习资料虽然不是什么商业机密,但里面可能混着作业、论文、准考证、课程名单之类的东西,不能随便暴露在公网。

资料整理

这次顺手把电脑里的学习资料整理了一遍。

大致扫了这些地方:

1
2
3
D:\
E:\
Desktop

最后手动整理成几个分类:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
Presentation
人智
党史课资料
分析化学
基础无机化学实验
新生研讨课
有机化学(生科,生技)
生物
线代
职规赛
英美文学鉴赏
逻辑学
高等数学

最后传到手机上一共大约 1.1GB,230 个文件。

网页外观

Alist 默认界面有点朴素,所以换了一套社区美化主题,又稍微改了一下:

  • 背景图使用博客同款背景
  • favicon 和头像使用博客头像
  • 左上角改成 September Archive
  • 加了一个上传入口
  • 友链页面也挂上了网盘入口

现在它看起来更像博客的一部分,而不是一个突兀的单独服务。

上传方式

目前上传有两种方式。

一种是直接登录网页,在网盘里上传文件。

另一种是本地先整理好文件夹,然后打包传到手机,再解压到:

1
/sdcard/StudyArchive

这次大批量传输的时候,普通 scp 走 Cloudflare SSH 隧道太慢,所以最后用了临时下载隧道:电脑开一个本地 HTTP 服务,再用 Cloudflare quick tunnel 暴露给手机下载。下载完成后校验 SHA256,再在手机端解压。

虽然过程有点绕,但对大文件比一堆小文件逐个 scp 稳得多。

为什么不用现成网盘

不是不能用 OneDrive、百度网盘、阿里云盘这些服务,只是它们不太像“自己的资料库”。

我想要的是:

  • 域名是自己的
  • 文件放在哪里自己知道
  • 目录结构自己控制
  • 上传下载没有额外客户端绑架
  • 可以和博客、服务器、自动化脚本继续联动

这也是自建服务最有意思的地方:它不一定更省事,但更可控。

后续计划

后面还可以继续加几件事:

  • WebDAV,同步 Obsidian 或 Zotero
  • 自动备份到另一台电脑或对象存储
  • 给 PDF 和文档做全文搜索
  • 做一个学习资料索引页
  • 按课程自动生成目录
  • 给重要资料加冷备份

目前第一版已经够用了。旧手机继续发光发热,博客和网盘都跑在上面,也算是一个小型个人资料中心了。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计