对于习惯使用 KOReader 阅读(比如追《剑来》等网文)的极客来说,如何优雅地将高亮笔记汇集并展示出来,一直是个不断优化的命题。
本篇终极指南将带你从零开始,在 Linux VPS 上搭建一套坚不可摧的自动化系统。无论你是躺在床上用安卓手机看书,还是坐在电脑前用 Windows 11 / WSL2 阅读,只需轻轻一点,1 到 2 秒钟内,经过时间格式化、排版精美且完美分离“原著引文与个人想法”的独立卡片式读书笔记,就会自动挂载着专属标签,出现在你的 Hugo 博客上。
阶段一:本地端自动化搬运配置 (双端齐下)
我们需要建立一条从阅读设备到 VPS 的“私有通道”。你可以根据自己的阅读场景,配置手机端或 PC端(或两者皆备)。
场景 A:手机端自动化搬运 (FolderSync)
我们需要做到**“阅后即焚”**,防止旧笔记重复同步死循环。
- KOReader 导出设置:阅读时划线,在菜单中选择“导出标注” -> 格式选择 Markdown。文件默认存放在手机的
/storage/emulated/0/koreader/clipboard/目录下。 - 配置 FolderSync App:
- 在 App 内添加 SFTP 账户,填入 VPS 的 IP、端口
22以及 root 账号密码。
- 在 App 内添加 SFTP 账户,填入 VPS 的 IP、端口
- 创建文件夹同步对:
- 同步类型:选择 “到左侧文件夹”(单向上传至 VPS)。
- 同步选项:必须勾选“同步后删除源文件”(Delete source files after sync)。这是为了实现“阅后即焚”。
- 本地目录:选择手机的
/koreader/clipboard/。 - 远程目录:在 VPS 上新建并选择
/root/Koreader。 - 调度:开启 “即时同步”。
场景 B:Win11 WSL2 极速推送与软件安装 (Rsync + SSH 触发)
如果你在电脑上阅读,配置 WSL 环境并使用脚本主动推送是最高效的方式。
- Win11 安装 WSL2:
在 PowerShell (管理员) 中执行
wsl --install和wsl --install -d Ubuntu,安装完成后重启电脑并设置 Ubuntu 账号密码。 - 开启镜像网络模式 (关键):
按下
Win + R输入%UserProfile%,新建或修改.wslconfig文件,填入:1 2 3 4[wsl2] memory=2GB networkingMode=mirrored autoProxy=true
注意:切勿添加 localhostForwarding=true,镜像模式下两端已共享网络,保留会引发报错。
执行重启命令: 在 PowerShell 中输入
wsl --shutdown。然后重新打开 Ubuntu 终端,网络配置即刻生效。避坑与准备:在 WSL 中安装 KOReader (可选):
- 💡 路径避坑:如果你是从管理员 PowerShell 直接输入
wsl进入的,你的提示符可能会显示在/mnt/c/Windows/system32。强烈建议:在 WSL 里操作时,养成进终端先输入cd ~的习惯,回到你的 Linux 家目录(即/home/yang)。在/mnt/c/(Windows 分区)下操作 Linux 文件的性能非常差,且容易遇到权限限制问题(Permission Denied)。 - 创建目录与下载安装包:刚装好的 Ubuntu 不会默认创建
Downloads等常用文件夹,我们需要手动创建并下载:
| |
- 🏁 最后的冲刺:执行完安装后,你可以尝试直接输入
koreader来启动它!
- 配置免密登录:在 WSL 终端中执行
ssh-keygen -t ed25519,然后用ssh-copy-id -p 22 root@你的VPS_IP发送公钥。 - 测试免密登录:
| |
如果直接进入了 VPS 而没有弹密码框,说明配置成功。输入 exit 退回 WSL。
如果还需密码,设置权限:
- 强制修正权限
登录VPS,SSH 对
root用户目录的权限极其敏感。执行这三行:
| |
- 检查文件所有权 虽然你用的是 root,但最好确认一下文件是否归属正确:
| |
- 创建本地一键推送脚本: 在 WSL 中执行
vi ~/sync_notes.sh,贴入以下代码(注意修改用户名和 IP),并赋予执行权限chmod +x ~/sync_notes.sh:
| |
阶段二:VPS 基础环境与 Git 深度配置
为了让后台脚本能全自动推送到 GitHub,必须在 VPS 上安装所需软件,并打通云端提交通道。
1. 安装基础依赖 (Git, SSH, inotify, Perl)
| |
2. 配置 Git 全局身份
| |
3. 生成 SSH 密钥并对接 GitHub
生成高强度的 ed25519 密钥对(执行后一路回车,千万不要设置密码,否则后台脚本会卡死):
| |
复制公钥内容 cat ~/.ssh/id_ed25519.pub,前往 GitHub Settings -> SSH and GPG keys 添加。
4. 克隆仓库与忽略日志
| |
阶段三:部署坚不可摧的核心引擎 (纯净双轨模式)
这份终极版 VPS 脚本包含了强大的 Perl 智能切割引擎,它具备三大极客特性:
- 自动释放机制:单文件部署,运行自动生成 Perl 引擎。
- 防 DOM 崩溃装甲:利用
<hr>隔离带与魔法注释,彻底解决 Hugo 渲染幽灵空行的问题。 - 双轨触发系统:既能 24 小时监听手机上传 (
inotify),又能秒级响应 WSL 的主动调用 (--now+moved_to识别)。
创建脚本:mkdir -p /root/scripts && vi /root/scripts/sync_notes.sh
| |
赋予执行权限。如果日后更新脚本,请执行以下命令踢掉旧进程:
| |
阶段四:注册系统服务与实时监控
将脚本做成系统服务,确保 VPS 重启后依然坚守岗位。
1. 创建服务
| |
填入以下配置:
| |
2. 激活并启动服务
| |
3. 极客排错利器:实时日志监控
这是测试整个链路是否畅通的最强武器。手机点击导出或 WSL 运行同步后,在 VPS 终端输入以下命令,即可如同看电影一般实时观察处理全过程:
| |
阶段五:定时清理大扫除 (Cron)
传到 VPS 上的 .md 原始笔记是我们最后的“容错备份”。让 VPS 保留它们 7 天后再自动销毁。
- 输入
crontab -e开启定时任务编辑器。 - 在末尾添加以下规则(每天凌晨 4 点查杀 7 天前的笔记):
| |
阶段六:修复 GitHub Actions 并发冲突 (防连环车祸)
如果你一次性导出了多篇独立笔记,VPS 会连续进行多次 git push。这会导致 GitHub 瞬间触发多个并行编译任务,引发 non-fast-forward 冲突报错。
解决方案:给 GitHub Actions 加上排队机制。
打开你博客仓库中的 .github/workflows/deploy.yml 文件,在文件顶部加入 concurrency 队列指令:
| |
阶段七:Windows 桌面一键同步 (终极体验)
每次同步都要打开 WSL 终端敲代码?不够极客。我们来制作一个能在 Windows 桌面上双击运行,并且带有智能倒计时关闭功能的批处理脚本。
- 在 Windows 电脑桌面上,右键 -> 新建 -> 文本文档。
- 重命名为
win11同步读书笔记.bat(注意要删掉.txt后缀)。 - 右键点击并在记事本中编辑,贴入以下代码保存(记得核对你的 WSL 用户名):
| |
最终体验:现在你看完书,只需在桌面上双击这个图标。一个极客风的黑绿窗口瞬间弹出,行云流水般跑完同步指令,然后在你默念“一、二”后,乖乖地自动消失。
至此,这套坚如磐石、绝对幂等、涵盖手机与 PC 双平台的真·极客闭环系统已经完全确立。拿起设备安心阅读吧,剩下的繁杂代码,就交给服务器的齿轮去默默运转!
| |