Installation

Manual Installation

Download the release yourself, verify it by hand, and install it from a local folder — the way to install on servers that cannot reach GitHub, or when you do not want to run a script straight from the network.

The one-command installer downloads and verifies the release for you. Everything it downloads is also published as ordinary release files, so you can do those steps yourself: download, check, inspect, then run the installer against the folder you prepared. The installer still verifies everything again before it changes anything.

Use this page when:

  • the server cannot reach GitHub (air-gapped, filtered, or behind a restrictive firewall);
  • you want to read and verify the release before anything runs as root;
  • you are installing a specific version rather than the latest.

It works the same on 3X-UI, PasarGuard and Rebecca.

Download the four release files

On any machine with internet access, download these files from the release page into one empty folder:

File What it is
row-template-1.4.0.tar.gz The release itself: every design for every panel, the management library, the row-template command
SHA256SUMS The SHA-256 checksum of the tarball
manifest.txt Plain-text metadata: name, version, artifact, min_xui, created
install.sh The installer

From a terminal:

mkdir row-template-1.4.0-release && cd row-template-1.4.0-release
base=https://github.com/iitzSeriZdev/Row-Template/releases/download/v1.4.0
for f in row-template-1.4.0.tar.gz SHA256SUMS manifest.txt install.sh; do
  curl -fLO "$base/$f"
done

Verify the checksum

In the same folder:

sha256sum -c SHA256SUMS

You must see:

row-template-1.4.0.tar.gz: OK

Anything else — FAILED, or a missing-file warning — means the download is incomplete or is not the published file. Download it again; do not continue. On macOS use shasum -a 256 -c SHA256SUMS.

What a matching checksum proves

It proves the tarball is exactly the file named in SHA256SUMS, with no corruption in transit. It does not by itself prove who published it — for that, rely on downloading over HTTPS from the official repository. Release verification explains the trust model.

Check the manifest

cat manifest.txt
name=row-template
version=1.4.0
artifact=row-template-1.4.0.tar.gz
min_xui=3.6.0
created=…

artifact must name the tarball you verified — the installer reads it to decide which file to open. min_xui applies to 3X-UI only.

Inspect the contents (optional)

The tarball carries its own list of checksums for every file inside it:

tar -xzf row-template-1.4.0.tar.gz
cd row-template-1.4.0
sha256sum -c SHA256SUMS --quiet && echo "all files OK"
cd ..
row-template-1.4.0/
├── template.html # the Row design (3X-UI)
├── templates/<id>/ # all seventeen designs for 3X-UI, each with template.html.sha256
├── shells/<panel>/<id>/ # every design for each panel (3xui, pasarguard, rebecca),
│ # each with shell.html.sha256 — the installer places
│ # the PasarGuard and Rebecca ones on those panels
├── lib/row-template.sh # the management library
├── lib/transaction.sh # the activation transaction engine
├── panels/ # one adapter per panel
├── bin/row-template # the row-template command
├── install.sh
├── VERSION
└── SHA256SUMS # checksums of every file above

You can delete the extracted folder afterwards; the installer only needs the four original files.

Copy the folder to the server

scp -r row-template-1.4.0-release root@your-server:/root/

Any method works — scp, rsync, a USB drive. Keep the four files together in one folder.

Run the installer against the folder

On the server, in a root shell:

RT_RELEASE_DIR=/root/row-template-1.4.0-release bash /root/row-template-1.4.0-release/install.sh

RT_RELEASE_DIR tells the installer to read manifest.txt, SHA256SUMS and the tarball from that folder instead of downloading them. curl is not needed. From here on the installation is identical to the normal one: the checksum is verified again, the archive is screened and extracted, your panel is detected, and you get the same questions.

To install without questions, add the same variables as an unattended install — and RT_PANEL on a server with more than one supported panel:

RT_ASSUME_NONINTERACTIVE=1 RT_TEMPLATE=row \
RT_RELEASE_DIR=/root/row-template-1.4.0-release bash /root/row-template-1.4.0-release/install.sh

Activate and verify

If the installer could not activate the page for you — 3X-UI without sqlite3, or Rebecca on MySQL/MariaDB — follow the manual step it printed, described in Activation. Then:

row-template verify

Updating an offline server

row-template update reads the same variable, so an offline server updates the same way — prepare a folder with the new release’s four files, verify them, copy them over, then:

RT_RELEASE_DIR=/root/row-template-X.Y.Z-release row-template update

The variable applies only to the command you prefix it with; nothing is remembered.

Using your own mirror

If you host the four files on your own HTTPS server, point the installer at that folder’s URL instead:

RT_RELEASE_URL=https://mirror.example.com/row-template/1.4.0 bash install.sh

The URL must use https://. Plain http:// is refused unless you also set RT_ALLOW_INSECURE_URL=1, which exists for local testing only.

Method B — Without the installer (advanced, 3X-UI only)

On 3X-UI it is possible to serve a design with no installer at all: the page is a single file that 3X-UI reads from the Sub Theme Directory as sub.html. On PasarGuard and Rebecca, use Method A: the installer places the page, selects it, and — on those panels — snapshots and restores the panel’s settings around that.

What you give up

Without the installer there is no branding (the page stays unbranded), no row-template command, and so no verify, update, rollback or template switching. The installer’s safety checks do not run either. Use Method A unless you have a reason not to.

Download, verify and extract

Follow Method A up to and including Inspect the contents. Stay in the extracted row-template-1.4.0 folder.

Check the design you want

Every design carries its own checksum. For example, for Editorial:

sha256sum -c templates/editorial/template.html.sha256
templates/editorial/template.html: OK

The design IDs are listed in the template gallery.

Copy it into place

install -d -m 755 /etc/3x-ui/sub_templates/row-template
install -m 644 templates/editorial/template.html /etc/3x-ui/sub_templates/row-template/sub.html

Point the panel at it

In the panel, set Panel Settings → Subscription → Sub Theme Directory to /etc/3x-ui/sub_templates/row-template and save. Open a subscription link in a browser to confirm.

To move to a managed installation later, run the installer normally. The folder has no VERSION file, so it is treated as a fresh install and sub.html is replaced by the installer’s own.

Edit this page on GitHubApplies to Row-Template 1.4.0
Esc
↑↓ to navigate↵ to selectEsc to close