Attune for Linux (Docker)Attune Linux Docker 客户端

Evaluation 0.6.9 · x86_64 · device client · Quectel USB helpers · local console on port 47100

0.6.9 评估版 · x86_64 · 设备客户端 · 移远 USB 主机辅助 · 本机控制台端口 47100

This package is the client (modem + answering on hardware you keep). The Attune accounts server is this website. Windows users should use the EXE installer.

本包是客户端(您自己的调制解调器与接听)。Attune 账户服务端就是本官网。Windows 请用 EXE 安装包。

One-line install

一键安装(推荐)

On an x86_64 Linux host with network access, run as root. The script downloads the client package and image, installs host USB helpers, walks you through .env, starts the container, then runs doctor.sh. It never installs the accounts/billing server.

在 x86_64 Linux 主机上以 root 执行。脚本会下载客户端包与镜像、安装主机 USB 辅助、引导填写 .env、启动容器并运行 doctor.sh。不会安装账户/计费服务端。

curl -fsSL https://www.2222503.xyz/install-docker.sh | sudo sh

Non-interactive (CI / automation): curl -fsSL … | sudo ATTUNE_NONINTERACTIVE=1 sh. Optional registry pull later: ATTUNE_PULL_IMAGE=….

When pull_image is public on GHCR, the bootstrap pulls ghcr.io/da202222/attune-client:0.6.9 and skips the large tar.

若 GHCR 上 pull_image 已公开,引导脚本会拉取 ghcr.io/da202222/attune-client:0.6.9,不再下载大体积 tar。

无人值守:ATTUNE_NONINTERACTIVE=1。若已推送镜像仓库,可设 ATTUNE_PULL_IMAGE 跳过 tar 载入。

Soft-router LuCI page (x86_64 and aarch64)

软路由 LuCI 页(x86_64 与 aarch64 同一路径)

On ImmortalWrt or OpenWrt with LuCI, open Services → Attune. The path is /cgi-bin/luci/admin/services/attune on that router's LAN address for both x86_64 and aarch64. Every install uses http://<router-lan>/cgi-bin/luci/admin/services/attune. Sign in with the router's existing administrator account. The page shows the client name, installation fingerprint, claim QR or pairing code, and connection state, then links to the official HTTPS enroll page. It does not install an accounts server, and it is not the remote member console. Hosts without LuCI keep http://127.0.0.1:47100. The Software page installs luci-app-attune, one noarch package for x86_64 and aarch64. After this router trusts the Attune package key, choose Update lists and install it. Upload Package accepts the same .apk. Older opkg pages accept the matching .ipk. This package is not in the upstream ImmortalWrt catalog.

在已安装 LuCI 的 ImmortalWrt 或 OpenWrt 上,打开服务 → Attune。x86_64 与 aarch64 的路径都是该软路由局域网地址上的 /cgi-bin/luci/admin/services/attune。每台安装都一样,地址是 http://<这台路由器的LAN地址>/cgi-bin/luci/admin/services/attune。使用软路由原有管理员账号登录。该页显示客户端名称、安装指纹、认领二维码或配对码和连接状态,并链到官网 HTTPS 认领页。它不安装账户服务端,也不是会员远程控制台。没有 LuCI 的主机仍用 http://127.0.0.1:47100。软件包页面安装 luci-app-attune(x86_64 与 aarch64 同一个 noarch 包)。这台路由器信任 Attune 公钥后,点更新列表再安装。上传软件包可以安装同一个 .apk。仍使用 opkg 的软件页安装对应的 .ipk。这个包不在上游 ImmortalWrt 软件源里。

Download

下载

The zip contains Compose, host udev rules, and the install script. The image tarball is the pre-built attune-client:0.6.9 for linux/amd64. Load the image, then run the zip on the same machine.

压缩包含 Compose、主机 udev 规则和安装脚本。镜像包是预构建的 linux/amd64 attune-client:0.6.9。先载入镜像,再在同一台机器运行压缩包里的安装脚本。

Zip SHA-256: fbb5263f591750cc75512ee0a3e59e6fb6df1e619fb8f61949c57b835f2a1f9c

压缩包 SHA-256:fbb5263f591750cc75512ee0a3e59e6fb6df1e619fb8f61949c57b835f2a1f9c

Image SHA-256: ff36cadd23e92701c436e37c4fe2ee0eb5a0306be557c80594aff6956d8a36cc

镜像 SHA-256:ff36cadd23e92701c436e37c4fe2ee0eb5a0306be557c80594aff6956d8a36cc

Client versus server

客户端与服务端

The container name is attune-client. Its Docker label attune.role=client marks it as the device client. It owns the USB modem. Membership, billing and website remote relay stay on the accounts server at this site. Do not stand up a second billing database from this download.

容器名为 attune-client,Docker 标签 attune.role=client 表示这是设备客户端,占用 USB 调制解调器。会员、计费和官网远程中继仍由本站账户服务端提供。不要用本下载再起一套计费库。

docker inspect -f '{{.Name}} {{index .Config.Labels "attune.role"}}' attune-client
# /attune-client client

Host USB helpers

主机 USB 辅助

Linux does not use the Windows vendor wizard. drivers/install-host-drivers.sh loads in-tree modules (option, USB serial) and installs udev rules for vendor ID 2c7c, and tells ModemManager to leave the AT port alone. The container still needs privileged: true and /dev.

Linux 不用 Windows 厂商向导。drivers/install-host-drivers.sh 加载内核自带模块(option / USB 串口),安装厂商 ID 2c7c 的 udev 规则,并让 ModemManager 不要占用 AT 口。容器仍需 privileged: true 与 /dev。

Same USB ids do not prove every board is compatible. Check the AT port, SIM, signal and UAC audio before a real call. Use your own operator’s free care number for live outbound tests.

相同 USB 标识不能证明所有板卡兼容。真机通话前请检查 AT 口、SIM、信号和 UAC 音频。外呼测试请只拨本卡运营商的免费客服号。

What the wizard does

向导会做什么

  1. Check Docker Engine + Compose (amd64).
  2. Detect Quectel USB (2c7c) when present.
  3. Install host udev / kernel helpers via drivers/install-host-drivers.sh.
  4. Load attune-client:0.6.9 (tar or ATTUNE_PULL_IMAGE).
  5. Create .env (API key optional) and docker compose up -d.
  6. Run doctor.sh and open the local checklist.
  7. Console: http://127.0.0.1:47100 — keep it on localhost.
  1. 检查 Docker Engine + Compose(amd64)。
  2. 若已插入,检测移远 USB(2c7c)。
  3. 用 drivers/install-host-drivers.sh 安装主机 udev / 内核辅助。
  4. 载入 attune-client:0.6.9(本地 tar 或 ATTUNE_PULL_IMAGE)。
  5. 生成 .env(API Key 可后填)并 docker compose up -d。
  6. 运行 doctor.sh,并提供本机验收清单页。
  7. 控制台:http://127.0.0.1:47100 —— 请保持本机回环。