Reference

Compatibility

The panels, operating systems, browsers and apps Row-Template 1.4.0 supports, what it changes on each panel, and the limitations of 1.4.0.

Panels

Panel Status Versions
3X-UI (MHSanaei) Supported since 1.0.0 3.6.0 or newer
PasarGuard Supported since 1.3.0 5.x — the official Docker install, or a source install (pasarguard.service)
Rebecca Supported since 1.3.0 1.x, the Go edition — Rebecca’s binary install (rebecca-binary.sh, run as rebecca.service)
Rebecca Docker image (rebeccapanel/rebecca) Not supported 0.0.x, the Python edition. The installer identifies it and refuses it before changing anything. Use Rebecca 1.x from its binary installer (rebecca-binary.sh) instead.

Supported means every capability is in place on that panel — detect, install, activate, verify, back up, restore and uninstall — and each is exercised by Row-Template’s test suite, with each panel’s pages rendered by that panel’s real template engine. Before release, 1.4.0 was also validated on real panels — 3X-UI 3.8.5, PasarGuard 5.4.1 and Rebecca 1.x — including updates from the published 1.3.1 and rollbacks to it.

3X-UI PasarGuard Rebecca
Template engine Go html/template Jinja2 pongo2 (Django-style, in Go)
Install directory /etc/3x-ui/sub_templates/row-template /etc/row-template /etc/row-template
What activation changes subThemeDir one marked block in /opt/pasarguard/.env two fields of the newest subscription settings row
Automatic activation needs sqlite3 and the panel database nothing extra the default SQLite database and sqlite3
Restart on activation yes, briefly once, only if running never
Live status refresh yes yes, since 1.4.0 yes, since 1.4.0
The panel’s own application list — yes, since 1.4.0 —
Name and support link offered at install — yes, since 1.4.0 (SQLite) yes, since 1.4.0 (SQLite)

The installer detects which panel is on the server. A panel counts as installed only when two independent signs of it agree (its configuration, its compose file or service, its command, its data folder); a panel that is only partly there is refused rather than guessed at. On a server with more than one supported panel, an interactive install asks which to serve, and a scripted fresh install must set RT_PANEL=3xui|pasarguard|rebecca — without it, the installer stops before changing anything. One installation serves one panel; re-runs and updates keep it.

Why each design is built three times: the three panels do not share a template engine, and a page written for one is not valid in another. The visual layer is plain CSS and identical everywhere; for PasarGuard and Rebecca each design is wrapped in a small prelude that maps the panel’s own data onto the page, inside an explicit autoescape block, so every value is escaped on every panel.

Limitations in 1.4.0

  • Rebecca’s Docker image is refused (0.0.x, the Python edition), as above.
  • Rebecca on MySQL/MariaDB — or without sqlite3 — needs its page selected by hand in Settings → Subscription → Templates; the page itself is still placed. 3X-UI without sqlite3 likewise needs Sub Theme Directory set by hand.
  • Panel settings that still take precedence: an admin’s own subscription template, on PasarGuard and Rebecca, and PasarGuard’s disable subscription template setting. They are yours to change; row-template verify reports them.
  • PasarGuard’s page title (subTitle) and Clash templates are not produced — only the subscription page is.
  • One-tap import on PasarGuard offers no sing-box or Clash apps from the built-in list (the page is not given those addresses) — list your own in the panel to offer any; on Rebecca the Clash apps use its Clash Meta subscription, and sing-box is not offered.
  • PasarGuard application icons are not shown: the page loads nothing from another site.
  • The name and support link offered at install are read from a SQLite database only.
  • On-hold subscriptions are shown as active. On PasarGuard, which tells the page how long the hold lasts, the expiry says it starts on first connection; on Rebecca, which does not, the expiry is shown as unknown rather than guessed.
  • One panel per server. An installation serves the panel it was installed for; serving another means row-template uninstall first.
  • Rollback restores Row-Template’s page and recorded version, not the row-template manager itself, and never the panel; only the two newest backups are kept. See Backups & Rollback.

Server

Operating system Linux. Recommended: Ubuntu 24.04 LTS (x86_64).
Shell and tools bash, coreutils, tar, sha256sum or shasum, curl, awk, sed, od, base64; flock (util-linux) for PasarGuard and Rebecca
Optional sqlite3 (automatic activation on 3X-UI and Rebecca, and extra checks), systemd (3X-UI service restart around activation)
Runtime None — no Node.js, Python or database

Subscribers

Browsers Current desktop and mobile browsers.
Languages English, Persian, Arabic, Russian, Simplified Chinese — with right-to-left layout for Persian and Arabic.
Themes System, Light, Dark.
One-tap import v2rayNG, Happ and sing-box on Android; Streisand, V2Box and Shadowrocket on iOS; Clash Verge Rev, Mihomo Party and v2rayN (copy) on Windows; Clash Verge Rev, Streisand and V2Box on macOS — each where the panel gives the page the address it needs.
Protocols labelled VLESS, VMess, Trojan, Shadowsocks, Hysteria/Hysteria2, WireGuard, AmneziaWG, Telegram MTProto.

Versions

Row-Template Panels Notes
1.4.0 3X-UI ≥ 3.6.0, PasarGuard 5.x, Rebecca 1.x Every country’s flag on every platform; PasarGuard’s own applications; live status on PasarGuard and Rebecca; the panel’s name and support link offered at install. From 1.3.x: one update.
1.3.1 3X-UI ≥ 3.6.0, PasarGuard 5.x, Rebecca 1.x PasarGuard and Rebecca pages named after the subscriber; flags from ISO codes.
1.3.0 3X-UI ≥ 3.6.0, PasarGuard 5.x, Rebecca 1.x PasarGuard and Rebecca support; Meter and Notebook — seventeen designs. From 1.1.0 or 1.2.0: one update.
1.2.0 3X-UI ≥ 3.6.0 Fifteen designs.
1.1.0 3X-UI ≥ 3.6.0 Configuration Explorer.
1.0.0 3X-UI ≥ 3.6.0 First stable release.

There was no public 1.2.1 release; its fixes are included in 1.3.0.

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