Update & Uninstall
Manage EasyXray with the easyxray menu and CLI — update (stable, dev, or legacy), change settings, and uninstall cleanly.
After a script install, the easyxray command is your control center. Run it with
no arguments for the interactive menu, or pass a subcommand for a one-shot action.
easyxrayThe easyxray management menu
The menu (items 0–28) shows the panel/Xray status at the top, then:
| # | Item | What it does |
|---|---|---|
| 1 | Install | (Re)install from the remote script |
| 2 | Update | Update to the latest stable release |
| 3 | Update to Dev Channel (latest commit) | Update to the rolling dev-latest build |
| 4 | Update Menu | Update just the easyxray menu script |
| 5 | Legacy Version | Install a specific older version (prompts for a tag) |
| 6 | Uninstall | Remove EasyXray (see below) |
| 7 | Reset Username & Password | Set new credentials; optionally disable 2FA |
| 8 | Reset Web Base Path | Randomize the web base path |
| 9 | Reset Settings | Reset panel settings (your account is preserved) |
| 10 | Change Port | Change the panel port |
| 11 | View Current Settings | Show username, port, web base path, cert paths |
| 12–14 | Start / Stop / Restart | Control the panel service |
| 15 | Restart Xray | Reload only Xray-core |
| 16 | Check Status | Service status |
| 17 | Logs Management | View debug logs / clear logs |
| 18–19 | Enable / Disable Autostart | Toggle start-on-boot |
| 20 | SSL Certificate Management | Let's Encrypt (domain or IP), custom paths, renew/revoke |
| 21 | Cloudflare SSL Certificate | DNS-01 wildcard cert via Cloudflare |
| 22 | IP Limit Management | Fail2ban-based per-client IP limits |
| 23 | Firewall Management | ufw install and port rules |
| 24 | SSH Port Forwarding Management | Bind the panel to localhost and tunnel over SSH |
| 25 | PostgreSQL Management | Install/migrate/manage PostgreSQL |
| 26 | Enable BBR | Toggle the BBR congestion-control sysctl |
| 27 | Update Geo Files | Update geoip/geosite data (Loyalsoldier, IR, RU) |
| 28 | Speedtest by Ookla | Run an Ookla speed test |
| 0 | Exit | — |
Some of these have their own pages: SSL certificates (items 20–21), Security (IP limits, firewall), Reverse proxy and Panel settings (TLS), and Database (PostgreSQL).
CLI subcommands
For scripts and quick actions, easyxray also takes a subcommand directly:
| Command | Action |
|---|---|
easyxray start / stop / restart | Control the service |
easyxray restart-xray | Reload only Xray-core |
easyxray status | Show status |
easyxray settings | Show current settings |
easyxray enable / disable | Toggle autostart on boot |
easyxray log | Tail the debug log |
easyxray banlog | Show Fail2ban ban log |
easyxray update | Update to the latest stable release |
easyxray update-dev | Update to the rolling dev-latest build |
easyxray legacy | Install a specific older version (prompts) |
easyxray update-all-geofiles | Update all geo files, restart if changed |
easyxray migrate-db --dsn … | Migrate SQLite → PostgreSQL (see Database) |
easyxray install / uninstall | Install / uninstall |
Updating
- Stable: menu option 2 or
easyxray update. Re-running the install script also updates in place. - Dev channel: menu option 3 or
easyxray update-dev— the rollingdev-latestper-commit build (not a stable release). - A specific older version: menu option 5 (Legacy Version).
Updating preserves your database and settings. Take a backup before a major-version jump.
Docker users update differently — pull the new image and recreate the
container (docker compose pull && docker compose up -d) rather than using the
easyxray update commands.
Uninstalling
Menu option 6 or easyxray uninstall. It stops and disables the service, removes
the service unit, and deletes /etc/easyxray/ and the install folder. If the panel
used a locally-installed PostgreSQL, it offers to purge that too (a separate,
irreversible confirmation).
Uninstalling removes the database (/etc/easyxray/EasyXray.db) and your configuration.
Back up first if you might need it.

EasyXray