XUI 1.5.13 is the post-shutdown license-free build: the installer's isValidLicense() only checks len==16 + hex, and the license servers are offline. Auto-generate a 16-hex key (openssl rand -hex 8), inject it, and answer the sysctl prompt — fully unattended by default. Adds XUI_LICENSE, XUI_SYSCTL, XUI_INTERACTIVE env vars and surfaces the panel setup URL. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
XUI.ONE 1.5.13 Installer
A bootstrap installer for the pre-patched XUI.ONE 1.5.13 panel, modeled on
the midesi.net installxui.sh wrapper. The release package is mirrored to our
own Gitea generic-package registry (fast, self-hosted), with the upstream
XUIPatch GitHub release as an automatic
fallback.
What it does
install_xui.sh is a thin, safe wrapper around the official XUI installer:
- Pre-flight checks — root, Ubuntu 20.04/22.04/24.04, x86_64, RAM/disk, re-install guard
- Installs missing deps (
wget,unzip,tar) - Downloads
XUI_1.5.13.zip(~661 MB) from the Gitea mirror (falls back to GitHub) - Verifies the SHA-256 checksum (on by default)
- Extracts
install,database.sql,xui.tar.gz - Runs the bundled
./installnon-interactively — auto-generates a valid license key and answers the sysctl prompt - Prints the panel setup URL; MySQL credentials are saved to
<workdir>/credentials.txt
About the "license"
XUI.ONE 1.5.13 is the post-shutdown, license-free build. The developer (GTAXUI) wound down the product and took the license servers offline, then released a clean 1.5.13 with all license verification patched out (unlocked extensions for PHP 7.2 / 7.4). It never phones home.
The bundled installer still asks for a key, but it only checks the format —
isValidLicense() is literally len == 16 and all hex. So any valid 16-char
hex string works (e.g. a9f3b7e2c6d8140f). This wrapper auto-generates a
random one with openssl rand -hex 8, exactly like the community auto-installers.
Set XUI_LICENSE to pin a specific key.
Usage
On a clean Ubuntu server, as root:
# One-liner — pulls the latest installer from the Gitea repo, then runs it:
bash <(wget -qO- https://git.ops01.hprx.zip/seed/xui_installer/raw/branch/main/install_xui.sh)
# Or locally:
chmod +x install_xui.sh
./install_xui.sh
The installer lives in the Gitea repo seed/xui_installer. The raw/branch/main
URL above always serves the latest committed version — just git push an update
and the one-liner picks it up, no version bump needed.
Mirror (where the package lives)
The 661 MB release is hosted on our Gitea, publicly downloadable with no auth:
https://git.ops01.hprx.zip/api/packages/seed/generic/xui/1.5.13/XUI_1.5.13.zip
sha256: a92e5f21a338c56190d7580f449492c970b5d4219474548ca5ec2f06bc57b2e7
Re-uploading later (e.g. a new version) — from any box with the Gitea token:
curl -X PUT \
-H "Authorization: token <TOKEN>" \
-H "Content-Type: application/octet-stream" \
-T XUI_1.5.13.zip \
"https://git.ops01.hprx.zip/api/packages/seed/generic/xui/<version>/XUI_1.5.13.zip"
Content-Type: application/octet-streamis required — Gitea's generic registry returns HTTP 500 ("isn't multipart/form-data") without it.
Configuration (env vars)
| Variable | Default | Purpose |
|---|---|---|
XUI_URL |
Gitea mirror URL (above) | Override the primary download source |
XUI_FALLBACK_URL |
GitHub XUIPatch release | Override the fallback source |
XUI_SHA256 |
baked-in known-good hash | Override, or set to "" to skip checksum verify |
XUI_WORKDIR |
/opt/xui_install |
Where the package is downloaded/extracted/run |
XUI_LICENSE |
auto-generated 16-hex | Pin a specific 16-char hex license key |
XUI_SYSCTL |
Y |
Answer to the installer's sysctl-overwrite prompt |
XUI_INTERACTIVE |
0 |
Set to 1 to answer the installer's prompts yourself |
Example pinning a license and running fully unattended:
XUI_LICENSE="a9f3b7e2c6d8140f" ./install_xui.sh
Example pointing at a different mirror:
XUI_URL="https://cdn.example.com/xui/XUI_1.5.13.zip" \
XUI_SHA256="a92e5f21a338c56190d7580f449492c970b5d4219474548ca5ec2f06bc57b2e7" \
./install_xui.sh
Local archive (release/)
The package itself is not kept in this repo (661 MB, git-ignored) — the durable copy is the Gitea mirror above. Only the checksum is tracked:
release/XUI_1.5.13.zip.sha256— feed toXUI_SHA256for integrity checks.
Package contents (the three files midesi's tarball also ships):
install # the XUI installer (prompts for license + sysctl)
database.sql # initial schema
xui.tar.gz # the panel itself
To pull a local copy anytime:
curl -L -o release/XUI_1.5.13.zip \
"https://git.ops01.hprx.zip/api/packages/seed/generic/xui/1.5.13/XUI_1.5.13.zip"
Credentials
Gitea creds live in .gitea/ (git-ignored): token and url. The token is
scoped public-only + write:repository + write:package. Rotate it in Gitea
(Settings → Applications) if it's ever exposed.
System requirements
- Ubuntu 20.04 / 22.04 / 24.04 LTS, clean install, x86_64
- 6+ CPU cores, 16–32 GB RAM, 480 GB+ SSD/NVMe, 1 Gbps recommended