Hotdry.
systems-engineering

在越狱 Kindle 上跑 Tailscale:把墨水屏变成低功耗私人子网节点

利用 AdBreak 越狱、KUAL 插件与静态 arm 二进制,把 Kindle 变成 80 mW 级别的 WireGuard 节点,实现 Taildrop 直投、SSH magicDNS 与始终在线的私人子网。

把 Tailscale 塞进 Kindle 并不是为了炫技,而是给 “最佛系” 设备赋予一张永不掉线的 WireGuard 名片:它只要挂着 Wi-Fi,就能充当低功耗跳板、文件落地中继,甚至成为你在地铁里也能 SSH 的 “墨水屏终端”。整套方案基于 2025 年 12 月仍有效的 AdBreak 越狱链,适用于固件 ≤5.18.5.0.1 的全系 Kindle。下面给出一条最小可用路径,以及让续航从 “数周” 降到 “一周以内” 仍可控的调优参数。

1. 墨水屏 × WireGuard:为什么值得

Kindle 主板 idle 功耗约 80 mW,屏幕静止时几乎不耗电;相比之下,树莓派 Zero 2 W 也要 0.8 W。把 Tailscale 跑在上面,相当于花 1/10 的电量换来一张 100.x 网段的静态 IP,附带以下收益:

  • Taildrop 直投 /documents,KOReader 秒识别,无需数据线;
  • magicDNS 把 ssh root@kindle 解析到最新地址,省去 192.168.x.x 的猜谜游戏;
  • 身处外网时,先连回 Kindle,再跳到家 NAS,完成 “低功耗跳板” 链;
  • 屏幕本身即状态面板 —— 把 tailscale status 输出到屏保,一眼看尽全网节点。

2. 越狱与加固:先保证不会被 OTA 暗杀

  1. 固件版本路径:Settings → Device Info → 固件。若 ≤5.18.5.0.1,立即开飞行模式。
  2. 用 AdBreak(利用锁屏广告漏洞)或 WinterBreak(≤15.18.1)越狱,步骤参考 KindleModding 官网
  3. 越狱后第一时间装 hotfix,然后禁用 OTA,防止亚马逊半夜推送补丁。
  4. 装 KUAL + MRPI,这是后续所有插件的 launcher;再装 KOReader,方便后面直接读 epub。
  5. 建议把 /etc/ssh/sshd_config 里的 PasswordAuthentication 关掉,提前写入公钥,减少暴力扫描。

3. 安装 Tailscale:7 步参数一次到位

Kindle 原生系统为 armv7l,无 systemd,因此采用官方静态二进制 + KUAL 插件的方案。

步骤 操作细节 关键参数
下载静态二进制 tailscale_1.78.1_arm.tgz(含 tailscaled + tailscale)
拉取插件 git clone https://github.com/mitanshu7/tailscale_kual(或带 Taildrop 的 jonaolden 分支)
置入二进制 把解压出的 tailscaletailscaled 拷到 extensions/tailscale/bin/,chmod 755
生成 auth 密钥 Tailscale 控制台 → Keys → 新建,Reusable + Pre-approved,复制 tskey-xxx
写密钥 extensions/tailscale/config/auth_key.txt 内单行粘贴,末尾无换行
指定 Taildrop 目录 编辑 taildrop_dir.txt,写入 /mnt/us/documents,KOReader 可即时刷新
启动顺序 KUAL → USBNetLite → 确认 USBNetwork Status 为 on → 回退 → Tailscale → 先 Start Tailscaled,10 秒后再 Start Tailscale

首次启动后,extensions/tailscale/tailscale_start_log.txt 会出现登录 URL,复制到浏览器确认即可。控制台出现绿色小点后,把该节点的 Key Expiry 关闭,省得每 6 个月再改一次密钥。

4. 低功耗在线的 3 个调优

  1. Wi-Fi 休眠策略
    默认系统 10 分钟无操作即关 Wi-Fi。在 /etc/init.d/wifid 里把 POWERDOWN_TIMEOUT 改成 0,或者写个 cron 每 5 分钟 ping -c 1 100.100.100.100,让网络层保持心跳。

  2. tailscaled 资源帽
    新建 /mnt/us/extensions/tailscale/config/tailscaled_flags.txt,写入:
    --netfilter-mode=off --tun=userspace-networking --snat-subnet-routes=false
    关闭 iptables 操作,纯用户空间,CPU 占用可再降 30%。

  3. 电量监控阈值
    /opt/bin/battery_guard.sh 里加两行:

    [ $(cat /sys/devices/system/yoshi_battery/yoshi_battery0/battery_capacity) -le 15 ] && /mnt/us/extensions/tailscale/bin/tailscale down
    

    电量低于 15% 自动退出 Tailscale,防止过放变砖。

5. 场景、局限与小结

适合场景

  • 出差途中,手机→Taildrop→Kindle,飞机上离线读论文;
  • 把 Kindle 插在家里书架,当 24×7 的 “内网摆渡人”,外网先连回 Kindle,再 SSH 到 NAS;
  • 给父母家的 Kindle 一并越狱,远程帮忙推书、更新字典,无需教他们操作电脑。

已知局限

  • CPU 仅为 1 GHz 单核,吞吐上限 1 Mbps,别指望当下载机;
  • 屏幕一旦休眠,Wi-Fi 会跟着掉(调优后 5–7 天续航);
  • Tailscale 二进制未签名,日后版本升级需手动覆盖,不能一键 OTA。

把墨水屏变成私人子网节点,本质上是用最低功耗占住一张 “永远可达” 的 IP。只要接受一周一充的代价,你就能拥有全球任意位置 3 秒之内推书、SSH、跳板三位一体的 “Kindle 暗桩”。如果你已经厌倦给树莓派们找电源,那就趁 AdBreak 洞还没补上,让这本最安静的小书,悄悄加入你的 tailnet 吧。


参考资料

  1. Tailscale Blog, “Let’s put Tailscale on a jailbroken Kindle”, 2025-12-01.
  2. mitanshu7/tailscale_kual GitHub 仓库,2025 年 7 月版.
查看归档