x-ui is a panel that supports multiple protocols and users for xray.
- System status monitoring
- Supports multiple users and protocols, with web visualization
- Supported protocols: vmess, vless, trojan, shadowsocks, dokodemo-door, socks, http
- Supports configuring more transmission configurations
- Traffic statistics, traffic limitation, expiration time limitation
- Customizable xray configuration template
- Supports accessing the panel via HTTPS (with own domain + SSL certificate)
- Supports one-click SSL certificate application and automatic renewal
- More advanced configuration options, see the panel for details
bash <(curl -Ls https://raw.githubusercontent.com/hojat-gazestani/x-ui/master/install.sh)
- First, download the latest release from https://github.com/vaxilu/x-ui/releases. Generally, choose the amd64 architecture.
- Then upload this compressed package to the /root/ directory of your server and log in to the server using the root user.
If your server's CPU architecture is not amd64, replace amd64 in the command with the appropriate architecture.
cd /root/
rm x-ui/ /usr/local/x-ui/ /usr/bin/x-ui -rf
tar zxvf x-ui-linux-amd64.tar.gz
chmod +x x-ui/x-ui x-ui/bin/xray-linux-* x-ui/x-ui.sh
cp x-ui/x-ui.sh /usr/bin/x-ui
cp -f x-ui/x-ui.service /etc/systemd/system/
mv x-ui/ /usr/local/
systemctl daemon-reload
systemctl enable x-ui
systemctl restart x-ui
This Docker tutorial and Docker image are provided by Chasing66.
- Install Docker
curl -fsSL https://get.docker.com | sh
Install x-ui
mkdir x-ui && cd x-ui
docker run -itd --network=host \
-v $PWD/db/:/etc/x-ui/ \
-v $PWD/cert/:/root/cert/ \
--name x-ui --restart=unless-stopped \
enwaiax/x-ui:latest
Build your own image
docker build -t x-ui .
This feature and tutorial are provided by FranzKafkaYu.
The script includes SSL certificate application functionality. To use this script to apply for a certificate, the following conditions must be met:
- Know the Cloudflare registered email.
- Know the Cloudflare Global API Key.
- The domain name has been resolved to the current server through Cloudflare.
Method to obtain Cloudflare Global API Key:


When using it, simply enter the domain name, email, and API KEY. A schematic diagram is as follows:

Notes:
- This script uses the DNS API for certificate application.
- Let's Encrypt is used as the default CA.
- The certificate installation directory is /root/cert.
Certificates applied for using this script are wildcard certificates.
This feature and tutorial are provided by FranzKafkaYu.
X-UI supports features such as daily traffic notifications and panel login reminders through Telegram bots. To use Telegram bots, you need to apply for one yourself. You can refer to the specific application tutorial in this blog post Instructions for use: Set up the bot-related parameters in the panel backend, including
- Telegram bot Token
- Telegram bot Chat ID
- Telegram bot periodic runtime, using crontab syntax
Reference syntax:
- 30 * * * * * // Notify at 30 seconds of every minute
- @hourly // Notify every hour
- @daily // Notify every day (midnight)
- @every 8h // Notify every 8 hours
Telegram notification content:
-
Node traffic usage
-
Panel login reminder
-
Node expiration reminder
-
Traffic warning notification
-
More features are being planned...
- CentOS 7+
- Ubuntu 16+
- Debian 8+
First, install the latest version of x-ui on the server where v2-ui is installed. Then, use the following command to migrate all inbound account data from v2-ui to x-ui. Note that panel settings and username/password will not be migrated.
After the migration is successful, please close v2-ui and restart x-ui, otherwise, there will be a port conflict between the inbound of v2-ui and x-ui.
x-ui v2-ui
Seeing all kinds of newbie questions raises the blood pressure.