Skip to content

Releases: RyanRaw/tailscale-root

Tailscale Root v0.6.5

Choose a tag to compare

@RyanRaw RyanRaw released this 31 Oct 12:15

本次更新

修复

  • 守护进程卡死不再拖垮整个模块:tailscale status / debug prefs 等 localapi 调用全部加了超时(只读 8 秒,set --accept-routes 12 秒,KSU 按钮轮询 4 秒)。此前 tailscaled 的控制面 long-poll 断开后 localapi 会整体卡住,update_desc / route_guard 的 30 秒循环被永久钉死,还不断堆积挂死的 CLI 进程,最后 WebUI 也一起转圈。
  • 清空控制服务器地址后,能真正切回官方登录服务器(此前只重启守护进程是不够的)。
  • 控制服务器域名改走模块自己的 hosts 文件解析,并且只在默认路由变化时才重新解析。

新功能

  • 安装页支持切换 / 删除外置二进制,可以扫描设备上的文件(下载目录、/data/local/tmp 等)自动填入路径。
  • 登录链接改为用默认浏览器打开;有多个浏览器时以图标网格让你挑。
  • 保存设置后立即重启守护进程,不再需要手动再重启一次。
  • 状态 / 节点 / 安装 / 日志四个页面支持下拉刷新。

说明

  • 主包内置 arm64 二进制(tailscale / tailscaled / tsdns),可离线安装。
  • 轻量包 tailscale_root-v0.6.5-nobin.zip 不含二进制,适合已经有二进制的设备。

Tailscale Root v0.6.4

Choose a tag to compare

@RyanRaw RyanRaw released this 30 Oct 15:20

Fixes since v0.6.3

  • Route guard: determine the uplink from the main routing table instead of ip route get, which kept reporting a stale device after cellular handover.
  • WebUI: pages now share one status snapshot, so tabs no longer diverge or re-poll on their own.

Assets: tailscale_root-v0.6.4.zip (module + arm64 binaries) and tailscale_root-v0.6.4-nobin.zip (module only).

Tailscale Root v0.6.3

Choose a tag to compare

@RyanRaw RyanRaw released this 30 Oct 14:33

KernelSU / Magisk / APatch 模块:把 tailscaled 以 root 守护进程方式常驻运行在 Android 上,并内置 WebUI 管理。

本版亮点

  • 子网重叠自动避让:对端 advertise 的网段(如 192.168.4.0/24)与本机当前所在局域网重叠时,自动 --accept-routes=false,本地路由器 / NAS / 打印机恢复直连;离开该网段后自动恢复。按 CIDR 位比较而非字符串近似,只撤销自己做的切换(标记文件 .accept_routes_auto)。设置页可单独关闭(TS_ROUTE_GUARD=0)。
  • 标签页切回时自动刷新数据。

修复

  • 真实 DNS 被公共 DNS 覆盖:update_resolv.sh --quick 在网络未变化、net.dns* 为空时会落到 223.5.5.5 兜底并写文件,把全量探测拿到的真实上游(如路由器 192.168.4.21)在 5 分钟内覆盖掉。现在按默认路由指纹(table/dev/gateway)判断,网络没变就保持现状,只有换网才重新探测。
  • 静默级别不静默:TS_LOGLEVEL=quiet 只关闭了 --verbose,tailscaled 仍在写日志。现在守护进程输出丢弃到 /dev/null,启动快照与定时网络快照也不再采集(状态页「抓取」仍可手动采集)。
  • 日志页清空无效:原来只清空前端数组,跟随刷新后立刻回填。现在真正截断文件;用 truncate 而非 rm,因为守护进程持有该 fd,删除后它会继续写已删除的 inode,日志页再也读不到。
  • tailscaled.log 无上限:原来只在守护进程启动时检查 2 MB。现在看门狗每 5 分钟检查一次,并用 copytruncate 滚动(mv 会让运行中的进程继续写改名后的文件)。
  • 安装页看不出「离线包不可用」的原因:「内置版本」改名为「离线包」,不可用时直接说明原因(当前安装包不含二进制 / 包内文件不完整 / 架构未知);在线安装完成后会重新读取状态,并提示离线包未被更新——在线安装只写 /data/adb/tailscale/bin/,之前那一行永远不变,看起来像安装失败。
  • 保存设置后立即按新配置重写 resolv.conf,清空 TS_DNS 不再残留旧值。

改进

  • 暗色主题下开关增加描边,未选中状态也能看清(light-dark() 跟随主题的 color-scheme)。
  • 移除状态页两个手动「修复」按钮(网络路由 / src_valid_mark):看门狗已自动覆盖,手动入口只是重复劳动,且 src_valid_mark 是全局内核参数、误点影响面更大。
  • 看门狗周期 15s → 30s,每轮 fork 的进程数减半(实测 CPU 0.20% → 0.10%),健康检查只取自身状态(--peers=false)。

升级

覆盖安装即可,/data/adb/tailscale/env 配置与已注册状态保留。

提醒:TS_WAKELOCK=1(默认)会持有内核唤醒锁,熄屏期间保持数据面可用,代价是待机耗电上升。介意续航可在设置页关掉「唤醒锁」,代价是熄屏后连接会停摆。

v0.6.0-rc1 (temp build, no binaries)

Pre-release

Choose a tag to compare

@RyanRaw RyanRaw released this 30 Oct 11:31

v0.6.0-rc1 临时验证包(不含二进制)

这个包只含脚本与 WebUI(0.13 MB),可直接覆盖安装,内置的 tailscale 二进制沿用手机上已经部署的
/data/adb/tailscale/bin/,不会被删除或覆盖;安装页的「内置版本」此时会显示「不可用」,属正常现象。

本版新增

  • 日志级别开关(设置页「日志级别」TS_LOGLEVEL)
    • 静默 quiet:不自动采集快照
    • 标准 normal:每 5 分钟写一条网络快照
    • 调试 debug:tailscaled 追加 --verbose=2,网络快照每 60 秒一条
  • 网络快照日志 log/net_probe.log:每次记录 route get(v4/v6)、全部默认路由、main 表、网卡 IPv4、
    /etc/resolv.conf、net.dns1/2、守护进程 pid 与 BackendState、curl 直连 GitHub 与登录服务器的返回码/耗时、
    tailscaled 最近报错
  • 日志页可切换日志源:守护进程 / 网络诊断 / 登录 / 看门狗 / DNS / 二进制部署
  • 状态页「网络诊断 → 抓取」立即写一条快照并展示;「修复」立即执行路由与 DNS 修复
  • 路由修复同时处理 IPv4 / IPv6(含运营商 CLAT 场景)

抓日志步骤(给作者用)

  1. 安装本包 → 重启一次(让 system/etc/resolv.conf 叠加生效)
  2. 设置页把「日志级别」设为 调试 并保存
  3. 复现连接失败(点登录 / 启动),等 1~2 分钟让快照落盘
  4. 日志页切到「网络诊断」和「守护进程」,把内容导出或截图

Tailscale Root v0.5.0

Choose a tag to compare

@RyanRaw RyanRaw released this 30 Oct 09:55

Tailscale Root v0.5.0

KernelSU / Magisk / APatch 模块:把 tailscaled 以 root 守护进程方式常驻运行在 Android 上,并内置 WebUI 管理。

本版亮点

  • 内置二进制:随包携带官方 tailscale 1.104.4(arm64),开机自动部署,安装与升级全程离线
  • 自建 tailscaled:WebUI 内扫描设备文件或手动填路径即可安装自己编译的守护进程,模块升级不会覆盖,可一键回滚到内置版本
  • 本地包安装:支持直接导入官方 .tgz 包(离线安装)
  • 自建控制服务器(Headscale):新增 TS_LOGIN_SERVER / TS_AUTHKEY / TS_UP_ARGS,登录失败会直接显示 tailscale up 原始报错
  • 启动参数可配:新增 TS_TUN / TS_EXTRA_ARGS
  • 所有操作均可在 WebUI 完成,不需要命令行

安装

  1. 下载 tailscale_root-v0.5.0.zip
  2. 在 KernelSU / Magisk / APatch 管理器中安装
  3. 重启,内置二进制会自动部署到 /data/adb/tailscale/bin/
  4. 从管理器打开模块 WebUI,登录并连接

说明

  • 内置二进制为官方原版,未做任何修改,模块只负责部署与编排
  • 当前内置架构为 arm64