Hotdry.
systems-engineering

把 Tailscale 塞进越狱 Kindle:电子纸节点的超低功耗网状网隧道

利用越狱 Kindle 的 2.4 GHz Wi-Fi 与 KUAL 扩展,把 Tailscale 静态二进制跑成 100 mW 级永不下线的 WireGuard 节点,给出安装顺序、功耗参数与回滚脚本。

电子纸设备常年插电却不发热,是天然「冷节点」。把一部已吃灰的 Kindle PaperWhite 3 越狱后,仅需 20 min 即可让它加入 Tailscale 网状网,成为一台 100 mW 级的低功耗隧道中继。本文记录完整刷机路径、可落地参数与踩坑提示,帮你把「泡面盖」升级为 7×24 的私有边缘节点。

一、为什么是 Kindle + Tailscale

  1. 超低待机:电子纸不刷新即零功耗,Wi-Fi 模块在 2.4 GHz 下持续 RX 仅 60–80 mA,折合 0.3 W。
  2. 常在线:对比树莓派 Zero 2 W 的空载 0.8 W,Kindle 自带 1500 mAh 电池即可理论续航 20 h;若改 USB 直供,可永不下线。
  3. 越狱生态成熟:KUAL 插件体系允许一键启停用户空间程序,无需动内核。
  4. Tailscale 用户空间实现:官方静态 armv7 二进制已打包 WireGuard,不依赖 /dev/net/tun 或内核模块,正好塞进 Kindle 的 3.0.35 老内核。

二、前置条件与刷机概览

硬件:Kindle PaperWhite 3(PW3)或同代 7th gen,固件 ≤ 5.13.3。
软件:已越狱(jailbreak)、KUAL、USBNetworking 三件套。
网络:2.4 GHz 无加密或已知密码,MAC 已绑定 DHCP 固定地址更佳。

刷机顺序:
jailbreak → 安装 KUAL → 启用 USBNetworking → 电脑 ssh 192.168.15.244 → 拷入 tailscale 静态二进制 → 写入 auth.key → KUAL 启动验证。

三、安装步骤(实测 10 分钟上线)

  1. 在电脑端下载 tailscale_kual 仓库,把 tailscale/bin/ 留空。
  2. 到 Tailscale 官方 static arm 页面下载 tailscale_1.84.0_arm.tgz,解压得 tailscaletailscaled 两个静态文件,放入 tailscale/bin/
  3. 在 Tailscale Admin → Settings → Keys 生成 Reusable & Ephemeral 认证密钥,复制到 tailscale/bin/auth.key,注意末尾无换行。
  4. 将整个 tailscale 文件夹(非 tailscale_kual)拷贝到 Kindle 的 extensions/ 目录。
  5. 弹出 USB,Kindle 主界面 → KUAL → Tailscale → 先点 Start tailscaled,等 10 s 日志停滚 → 再点 Start tailscale
  6. 电脑端刷新 Machines 列表,出现 kindle 图标与 100.x.y.z IP,即宣告成功。
  7. 验证:ssh root@100.x.y.z,无需密码(如已丢 ssh key,可临时 ~usbNetwork 走 192.168.15.244)。

四、可落地参数清单

说明
MTU 1280 Kindle 老内核分片能力弱,1280 可避 NAT 黑包。
keepalive 25s 低于 30s 防止部分路由回收 UDP 会话。
--accept-dns false 避免 tailscaled 每 5 min 写 resolv.conf 唤醒索引服务。
netfilter off 越狱系统无 iptables 更新,关闭防止报错。
SSH 端口 22 /etc/config/dropbear 限源 100.64.0.0/10,防公网扫。
Wi-Fi 省电 关闭 设置 ;debugOn~powerd disable 禁止睡眠,或屏保常亮。

启动脚本已内置参数,如需手工调试:

/extensions/tailscale/bin/tailscaled --tun=userspace-networking --state=/mnt/us/tailscale/state \
  --socket=/tmp/tailscaled.sock --port=41641 > /tmp/tailscaled.log 2>&1 &

/extensions/tailscale/bin/tailscale up --authkey-file=/mnt/us/tailscale/auth.key \
  --accept-dns=false --netfilter-mode=off --ssh=false

五、低功耗运维技巧

  1. 关闭索引: initctl stop indexd & initctl stop otaupd,减少后台写 flash。
  2. 定时同步:用 cron(需安装)每 6 h 唤醒一次,拉取 Git 配置或 txt 电子书,完成后立即 ~powerd enable 进入深睡。
  3. 电量监控: cat /sys/devices/system/yoshi_battery/yoshi_battery0/battery_capacity,低于 20 % 自动关机并邮件提醒(通过另一节点 sendmail)。
  4. 温度观察:Kindle 无散热片,夏季外壳 > 45 ℃ 时暂停 tailscaled,防止电池鼓包。

六、安全与回滚

  • 密钥轮换:Ephemeral key 90 天失效,到期前在 Admin 删除节点重新授权即可。

  • 防火墙:在 /etc/sysconfig/iptables 追加(如存在)

    -A INPUT -s 100.64.0.0/10 -p tcp --dport 22 -j ACCEPT
    -A INPUT -p tcp --dport 22 -j DROP
    
  • 一键卸载:KUAL → Stop tailscaleStop tailscaled → 删除 /extensions/tailscale//mnt/us/tailscale/ 即恢复出厂状态。

七、典型玩法

  1. 远端串口网关:Kindle 串口焊点 → USB-TTL → 19200 baud,配合 ser2net 转发到 100.x.y.z:2001,出差随时救砖路由器。
  2. 离线电子书同步:家中 NAS 每晚 rsync 新书到 Kindle /mnt/us/documents/;白天深睡,0 流量。
  3. 内网「冷节点」备份:把 Kindle 放在父母家,Tailscale 做旁路,家庭 NAS 通过 restic 加密备份,带宽限速 500 kB/s,不扰民。

八、小结

一部 PW3 二手价 120 元,功耗 0.3 W,Tailscale 让它瞬间拥有全球可达的 100.x IP。对极客来说,这是成本最低、颜值最高的「永不下线」隧道节点;对普通用户,也是远程救砖、异地备份的省心方案。只要记得偶尔检查电池鼓包,你的电子纸就能在书架与机房间无缝切换,安静服役到下一次换代。


参考资料
[1] mitanshu7/tailscale_kual GitHub 仓库

查看归档