Files
Muse c67f0cb0cf 链接迁移: fork 脚本复活指 Gitea、上游三件套中和、面板自更新链改指本仓
- install-master.sh/install-agent.sh: 二进制下载源由已封账号 aaaamoooo/3x-ui-diy
  改指本仓 Gitea Releases (tag 沿用 v3.7.0-agent.1); README 同步撤下'暂不可用'标注
- install.sh/update.sh: 未被 fork 部署链引用, 整文件替换为中英双语短桩 (exit 1),
  防旧习惯调用时静默装成/更新成上游原版
- x-ui.sh: 保留全部管理功能, 仅中和 install/update/update_dev/update_menu/
  legacy_version/update_shell 的上游下载分支与 uninstall 打印的上游命令,
  一律改为提示本仓 Gitea Releases 地址后退出该分支
- panel.go: 面板自更新运行时耦合处理 — panelUpdaterURL 与版本检查 API 由
  MHSanaei GitHub 改指本仓 Gitea (raw update.sh + /api/v1 releases, 响应字段
  tag_name/body/target_commitish 与原解析结构一致); 下载到的将是本仓 update.sh
  短桩, 面板更新会安全失败而非覆盖成原版
- deploy/cloud-init: curl 上游 install.sh 改为本仓 install-master.sh (Gitea raw);
  头部注明 XUI_* 非交互旋钮与 install-result.env 凭据回显在 fork 安装脚本下无等价物
2026-10-20 12:36:50 +00:00
..
2026-08-24 15:07:15 +02:00
2026-08-24 15:07:15 +02:00
2026-08-24 15:07:15 +02:00

Cloud deployment (unattended install)

Tooling to ship the 3x-ui panel via unattended install, with per-instance credentials generated on first boot (never admin/admin, never a shared session secret). Works on amd64 and arm64.

Path What it is Use when
cloud-init/ Generic cloud-init user-data (unattended install.sh) Any cloud, no image build
marketplace/hetzner/ Hetzner Cloud notes Hetzner deployments
test/ Container smoke test Verifying the install path

How it works

install.sh runs unattended when XUI_NONINTERACTIVE=1 or stdin is not a TTY. Each instance installs and configures itself with random credentials. See cloud-init/README.md.

Unattended install knobs

install.sh reads these env vars in non-interactive mode (all optional; unset ⇒ secure random / default):

XUI_USERNAME, XUI_PASSWORD, XUI_PANEL_PORT, XUI_WEB_BASE_PATH, XUI_SSL_MODE (none|ip|domain, default none), XUI_DOMAIN, XUI_ACME_EMAIL, XUI_ACME_HTTP_PORT (ACME HTTP-01 listener port, default 80), XUI_SSL_IPV6 (optional IPv6 address to add to an ip-mode cert), XUI_SERVER_IP (fallback IP for the displayed access URL when auto-detection fails), XUI_DB_TYPE (sqlite|postgres), XUI_DB_DSN.

The resulting credentials are written to /etc/x-ui/install-result.env (mode 600).