ImmortalWrt 在线构建服务 使用说明

简介

ImmortalWrt 在线构建服务由 aparcar 开发的 Attendedsysupgrade Server(ASU)实现,其本质为云端运行的 Image Builder。
ASU 通过一系列 API 实现自定义固件映像及预安装软件包,可以让用户轻松升级现有或自定义全新 ImmortalWrt 固件,而无需配置任何构建环境。

客户端

ImmortalWrt 固件选择器

地址: https://firmware-selector.immortalwrt.org
基于纯 JavaScript 实现的简单 Web 界面,目前由 mwarning 开发。
它支持搜索设备名称,并展示对应的固件下载链接以及通过 ASU API 请求自定义固件。

luci-app-attendedsysupgrade

软件包 luci-app-attendedsysupgrade 位于 LuCI 系统 -> 值守式系统更新
它会请求一个包含当前软件包的新固件并进行刷写。只需勾选“保留当前配置”,无需任何额外配置即可直接升级到新固件。

auc(已弃用)

软件包 aucluci-app-attendedsysupgrade 的命令行版,升级流程与 LuCI 版一致。

owut

软件包 owutauc 的 ucode 重制版,优化并更好地支持了 asu 的各项自定义参数。

服务端

服务端会监听客户端请求,如果请求有效,则生成对应的固件。它利用 Image Builder 构建固件,并进行缓存。如果构建请求命中缓存,则会直接返回结果,不会重复构建。

官方实例

Note

单个构建有效期为七天,七天后会清理对应的文件及缓存条目。

Warning

单个 IP 每分钟内只能发起两次构建请求,否则将被封禁一小时。


使用说明

ImmortalWrt 固件选择器

Tip

有关软件包名的填写,请参阅 ImmortalWrt Image Builder 使用说明 确定软件包 一栏。

Note

1. 在稳定版本中,默认携带了部分 LuCI 插件。在自定义构建时,也需要将其更名为 luci-i18n-<app>-zh-cn
2. 如果不确定该选择什么版本,保持为默认即可;如非必要,尽量避免使用 SNAPSHOT (主线)版本。

luci-app-attendedsysupgrade

您可以在 配置 选项卡内更新构建服务器地址,以及开启高级模式等。

在高级模式下,请求更新时可以自定义需要集成的软件包。

Warning

如安装了 ImmortalWrt 软件源中没有的软件包,需要在此去除,否则将无法通过服务端验证。

auc(已弃用)

$ auc -h
auc/0.3.2-1
auc: Attended sysUpgrade CLI client
Usage: auc [-b <branch>] [-B <ver>] [-c] [-f] [-h] [-r] [-y]
 -b <branch>	指定分支/版本
 -c		获取最新版本号
 -f		强制执行
 -h		打印帮助
 -n		模拟执行
 -r		只检查稳定版更新
 -F <fstype>	覆盖文件系统类型
 -y		无需确认
Note

目前 auc 实现存在一些 bug,非必要不推荐使用。

owut

$ owut -h
owut - OpenWrt Upgrade Tool 2025.07.11~0d00192d-r1 (/usr/bin/owut)

owut is an upgrade tool for OpenWrt.

Usage: owut COMMAND [-V VERSION_TO] [-R REV_CODE] [-v] [-q] [-k] [--force] [-a ADD] [-r REMOVE] [--ignored-defaults IGNORED_DEFAULTS] [--ignored-changes IGNORED_CHANGES] [-I INIT_SCRIPT] [-F FSTYPE] [-S ROOTFS_SIZE] [-i IMAGE] [-f FORMAT] [-p PRE_INSTALL] [-T POLL_INTERVAL]
  -h/--help            - 打印帮助信息并退出。
  --version            - 打印版本信息并退出。

  COMMAND - 要执行的命令,必须为下面的其中一项:
    check    - 收集信息并打印统计数据。
    list     - 打印用户安装的软件包列表。
    blob     - 打印用于 asu 请求 json 数据。
    download - 构建、下载并校验映像文件。
    verify   - 校验下载的映像文件。
    install  - 安装指定的本地映像文件。
    upgrade  - 构建、下载、校验并安装映像。
    versions - 打印可用的版本。
    dump     - 收集所有信息并打印。

  -V/--version-to VERSION_TO - 指定目标版本。默认为已安装版本。
  -R/--rev-code REV_CODE - 指定“version_code”,可以为“none”。默认为最新构建。
  -v/--verbose         - 打印调试信息。重复打印更多内容。
  -q/--quiet           - 减少打印信息。重复不打印任何内容。
  -k/--keep            - 保存所有下载的内容。
  --force              - 强行请求构建,即使可能会导致降级或没有任何更新。
  -a/--add ADD         - 将指定的软件包添加到构建列表中。
  -r/--remove REMOVE   - 将指定的软件包从构建列表中移除,
  --ignored-defaults IGNORED_DEFAULTS - (显式)忽略指定的默认软件包。
  --ignored-changes IGNORED_CHANGES - (显式)忽略指定的软件包名称更改。
  -I/--init-script INIT_SCRIPT - 指定系统首次运行时执行的 uci-defaults 脚本的路径(设置为“-”则从 stdin 读取)。
  -F/--fstype FSTYPE   - 指定 rootfs 文件系统类型(squashfs,ext4,ubifs,jffs2)。
  -S/--rootfs-size ROOTFS_SIZE - 警告:使用前先阅读 wiki。指定 rootfs 大小(单位:MB,1-1024).
  -i/--image IMAGE     - 用于构建、下载、校验并安装的映像名称
  -f/--format FORMAT   - 打印“list”输出的格式(fs-user,fs-all,config).
  -p/--pre-install PRE_INSTALL - 指定最终升级前执行的脚本。
  -T/--poll-interval POLL_INTERVAL - 构建监测的轮询间隔(单位:毫秒)。

完整文档
  https://openwrt.org/zh/docs/guide-user/installation/sysupgrade.owut

讨论
  https://forum.openwrt.org/t/owut-openwrt-upgrade-tool/200035

回报 bug
  https://github.com/efahl/owut/issues
Note

owut 仅在 24.10 及更新版本中可用。


参考

Licensed under CC BY-NC-SA 4.0
Last updated on 2025-08-04 16:15:10 +0800
Built with Hugo
Theme Stack designed by Jimmy