Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ImmortalWrt 在线构建服务 使用说明 #9

Open
1715173329 opened this issue Aug 27, 2023 · 1 comment
Open

ImmortalWrt 在线构建服务 使用说明 #9

1715173329 opened this issue Aug 27, 2023 · 1 comment

Comments

@1715173329
Copy link
Owner

1715173329 commented Aug 27, 2023

简介

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

客户端

ImmortalWrt 固件选择器

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

image

luci-app-attendedsysupgrade

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

image

auc

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

image

服务端

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

官方服务器

Note

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

Warning

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


使用说明

ImmortalWrt 固件选择器

image

Note

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

Important

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

luci-app-attendedsysupgrade

image

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

image

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

Important

如安装了 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,非必要不推荐使用。


参考

@maodeyu180
Copy link

佬,这个博客怎么搭建啊 直接fork工程 就可以吗

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants