Excellent software and practical tutorials
Xray panel visualization panel X-UI, real-time monitoring of server status
X-rayPanel X-UI panel is very convenient and supportsRealityProtocol, not only can visually build SS,V2ray、Xray、TrojanAnd other popular protocols, and you can also see the performance status of VPS and traffic usage in real time. X-UI developed with GO language has better performance and very low memory usage. Supported protocols: reality,vmess,vless, trojan,shadowsocks, dokodemo-door, socks, http
existGitHubThere are several X-UI branch projects on the website, which are currently being updated and maintained.
- vaxilu's x-ui project:https://github.com/vaxilu/x-ui (The original version of the x-ui project was discontinued on August 25, 2021)
- FranzKafkaYu's X-UI project:https://github.com/FranzKafkaYu/x-ui (Archived by the owner on December 11, 2023.)
- MHSanaei's 3x-ui project:https://github.com/MHSanaei/3x-ui (The x-ui project is being continuously updated)
- qist's xray-ui project:https://github.com/qist/xray-ui (The x-ui project is being continuously updated)
- X-ui project of sing-web:https://github.com/sing-web/x-ui (x-ui project updates are until July 15, 2023)
- x-ui project by alireza0:https://github.com/alireza0/x-ui(The x-ui project is being continuously updated)
- Diditra's x-ui project:https://github.com/diditra/x-ui (Project updated as of May 15, 2023)
- X-ui English version:https://github.com/NidukaAkalanka/x-ui-english
X-UI project supports the latestSupport Reality Protocol, which is also a relatively safe protocol at present!
X-UI installation configuration requirements
Memory
- 128MB minimal/256MB+ recommend
operating system
vaxilu's x-ui project
Supports multi-protocol and multi-user xray panel
Vaxilu's x-ui function introduction
- System status monitoring
- Supports multi-user and multi-protocol, web page visualization operation
- Supported protocols: reality, vmess, vless, trojan, shadowsocks, dokodemo-door, socks, http
- Support configuring more transmission configurations
- Traffic statistics, traffic limit, time limit
- Customizable xray configuration templates
- Support https access panel (with own domain name +sslCertificate)
- Support one-clickSSL Certificate Applicationand automatic renewal
- For more advanced configuration items, see the panel
Installation of vaxilu's x-ui
bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)
FranzKafkaYu's X-UI project
Lightweight Xray Panel with multi-protocol and multi-user on the same port, supports English and Telegram Robot. Easy to use and easy to manage.
Support single-port multi-user, multi-protocol xray panel,
Monitor and manage your proxy services quickly and easily with a free Telegram bot
⚡xtls-rprx-vision
andreality
For a quick start, please seehere
FranzKafkaYu x-ui Function Introduction
- System status monitoring
- Supports single-port multi-user, multi-protocol, web page visualization operation
- Supported protocols: reality, vmess, vless, trojan, shadowsocks, shadowsocks 2022, dokodemo-door, socks, http
- Support more transport configurations: http, tcp, ws, grpc, kcp, quic
- Traffic statistics, traffic limit, time limit, one-click reset and device monitoring
- Customizable xray configuration templates
- Support https access panel (self-provided domain name + ssl certificate)
- Support one-click SSL certificate application and automatic renewal
- Telegram bot notification and control functions
- For more advanced configuration items, see Panel
FranzKafkaYu x-ui update history
- 2023.07.18: Randomly generate Reality dest and serverNames, remove Microsoft domain names; refine sniffing configuration
- 2023.06.10: OpenTLSAutomatically reuse panel certificates and domain names; add certificate hot reload settings; optimize device restriction function
- 2023.04.09: Support Reality; support new telegram bot control commands
- 2023.03.05: Support user expiration time limit; random username, password and port generation
- 2023.02.09: Support user traffic restriction and statistics within a single port; support VLESS utls configuration and sharing link export
- 2022.12.07: Added device concurrency limit; refined tls configuration, supporting minVersion, maxVersion and cipherSuites selection
- 2022.11.14: Add xtls-rprx-vision flow control option; automatically update geo and clear logs at regular intervals
- 2022.10.23: Implement full English support; add batch export sharing link function; optimize page details and Telegram notifications
- 2022.08.11: Implement Vmess/Vless/Trojan single port multi-user; add CPU usage limit reminder
- 2022.07.28: Added acme standalone mode to apply for certificates; added x-ui automatic keep-alive mechanism; optimized compilation options to adapt to more systems
- 2022.07.24: Added automatic generation of panel root path, node traffic automatic reset function, and device IP access change notification function
- 2022.07.21: Added node IP access change reminder, added stop/restart xray function on the Web panel, optimized some translations
- 2022.07.11: Add node expiration reminder, traffic warning strategy, add Telegram bot node replication, obtain sharing link, etc.
- 2022.07.03: Refactored Telegram bot function, command control no longer requires keyboard input; added Trojan underlying transmission configuration
- 2022.06.19: Added new Cipher of Shadowsocs2022, added node search and one-click traffic clearing functions
- 2022.05.14: Added Telegram bot Command control function, supporting closing/opening/deleting nodes, etc.
- 2022.04.25: Added SSH login reminder and panel login reminder
- 2022.04.23: Add more Telegram bot reminder functions
- 2022.04.16: Added the function of setting up Telegram bot in the panel
- 2022.04.12: Optimize Telegram Bot notification reminder
- 2022.04.06: Optimize the installation/update process, add certificate issuance function, add Telegram bot push function
FranzKafkaYu x-ui Installation
Before installing, make sure your system supportsbash
environment, and the system network is normal
⚡You can also use this command to upgrade from the original version, and the data will not be lost⚡
bash <(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/x-ui/master/install.sh)
For English users, use the following command to install the English support version:
bash <(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/x-ui/master/install_en.sh)
To install a specific version, you can specify the version number in the above command, such as0.3.4.4
, the installation command is as follows:
bash <(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/x-ui/master/install.sh) 0.3.4.4
MHSanaei's 3x-ui project
Xray Panel supports Multi-protocol Multi-user Expiry & Traffic & IP Restrictions (Vmess & Vless & Trojan & ShadowSocks & Wireguard) Advanced Web Panel • Built on Xray Core.
Project contact information:t.me/panel3xui
MHSanaei's 3x-ui function introduction
- System status monitoring
- Search in all inbound and customer
- Dark/Light Theme
- Supports multiple users and multiple protocols
- Support protocols, including VMess, VLESS, Trojan, Shadowsocks, Dokodemo-door, Socks, HTTP, wireguard
- Supports XTLS native protocols, including RPRX-Direct, Vision, REALITY
- Traffic statistics, traffic limits, expiration time limit
- Customizable X-ray configuration templates
- Support HTTPS access panel (self-provided domain name + SSL certificate)
- Support one-click SSL certificate application and automatic renewal
- For more advanced configuration items, please refer to the panel
- Fix API routing (user settings will be created using API)
- Supports changing configuration through different items available in the panel.
- Support export/import database from panel
MHSanaei's 3x-ui installation and upgrade
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
Install a custom version. To install the version you want, add the version to the end of the installation command. For example, for version v2.2.1:
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) v2.2.1
Screenshots of 3x-ui by MHSanaei
qist's xray-ui project
System status monitoring supports multiple protocols and web page visualization operations. Supported protocols: vmess, vless, trojan, shadowsocks, dokodemo-door, socks, http. Support configuration of more transmission configurations. Traffic statistics, limit traffic limits, shorten time. Customizable xray configuration templates. Support https access panel (self-provided domain name + ssl certificate). For more advanced configuration items, see the panel.
qist's xray-ui changelog
2023.8.8 Updated to the latest dependencies and added fragments to control the published TCP segments, which can deceive the review system in some cases, such as bypassing the SNI blacklist.Client Configuration Module Reference Official configuration documentation
2023.5.29 Add and modify the xray-ui crontab command to add geoip update to the scheduled task. The default execution time is 1:30 am. You can use the /etc/crontab file
2023.5.15 Add xray-ui geoip Update IP library Add database import and export
2023.5.6 Fix the cipherSuites configuration multi-select and change the separator from to : I added it as usual without reading the documentation. It's a pity. If you configured cipherSuites at the beginning, please change it to auto and then upgrade and add the topology interface.
2023.5.4 Sniff multiple choices, tls cipherSuites configuration multiple choices!
2023.4.28 Added REALITY sharing to randomly select SNI for easy use of any_SNI_No_SNI configuration solution
2023.4.26Add Nginx front-end SNI diversion
2023.4.24 Add one-click update of geoip, geosite Add geoip, geosite Update version number
qist's xray-ui installation
bash <(curl -Ls https://raw.githubusercontent.com/qist/xray-ui/main/install.sh)
X-ui project of sing-web
Xray panel supporting multiple protocols and multiple users
Introduction to X-ui of sing-web
- System status monitoring
- Supports multi-user multi-protocol, multi-user on the same port, and Web visualization operation
- Supported protocols: vmess, vless, trojan, shadowsocks, dokodemo-door, socks, http
- Support vless/trojan reality
- Support configuring more transmission configurations
- Traffic statistics, traffic limit, limit expiration time
- Customizable X-ray configuration templates
- Support https access panel (self-provided domain name + ssl certificate)
- Support one-click SSL certificate application and automatic renewal
- For more advanced configuration items, see the panel
X-ui installation of sing-web
bash <(wget -qO- https://raw.githubusercontent.com/sing-web/x-ui/main/install.sh)
Disclaimer: This project is only for personal learning and communication. Please abide by local laws and regulations and do not use it for illegal purposes; do not use it in a production environment
x-ui project by alireza0
Supports xray panel with multi-protocol, multi-user expiration date and traffic (Vmess & Vless & Trojan & Shadowsocks)
Introduction to x-ui by alireza0
- Supported protocols include VLESS, VMess, Trojan, Shadowsocks, Dokodemo-door, SOCKS, HTTP, Wireguard
- Supports XTLS protocols, including Vision and REALITY
- Advanced interface for routing traffic, including proxy protocol, reverse, external and transparent proxy, as well as multiple domains, SSL certificates and ports
- Support for automatic outbound generation using Wireguard Cloudflare WARP
- Interactive JSON interface for Xray template configuration
- High-level interface for inbound and outbound configuration
- Based on the customer traffic limit and validity period for first-time use
- Display online clients, traffic statistics, and system status monitoring
- Deep database search
- Shows exhausted clients that have expired or exceeded their data limits
- Subscription service with (multiple) links
- Importing and exporting databases
- One-click SSL certificate application and automatic renewal
- HTTPS for secure access to the web panel and subscription services (self-provided domain name + SSL certificate)
- Dark/Light Theme
x-ui installation by alireza0
bash <(curl -Ls https://raw.githubusercontent.com/alireza0/x-ui/master/install.sh)
Installing a custom version: Step 1: To install the version you want, add the version to the end of the installation command. For example, version 1.7.1
bash <(curl -Ls https://raw.githubusercontent.com/alireza0/x-ui/master/install.sh) 1.7.1
alireza0's x-ui interface preview
diditra's x-ui project
Xray panel supports multi-protocol multi-user expiration and traffic (Vmess and Vless) and IP restrictions
Introduction to x-ui by diditra
- System status monitoring
- Supports multi-user, multi-protocol, and web page visualization operations
- Supported protocols: vmess, vless, trojan, shadowsocks, dokodemo-door, socks, http
- Support for feature-rich Telegram bots with built-in account management (VPN shop)
- Traffic statistics, traffic limit, limit expiration time
- Customizable X-ray configuration templates
- Support https access panel (self-provided domain name + ssl certificate)
- Support one-click SSL certificate application and automatic renewal
- For more advanced configuration items, please refer to the panel
Diditra's x-ui installation
bash <(curl -Ls https://raw.githubusercontent.com/diditra/x-ui/master/install.sh)
Install a custom version. To install the version you want, you can add the version to the end of the installation command. Example version v1.1.0:
bash <(curl -Ls https://raw.githubusercontent.com/diditra/x-ui/master/install.sh) v1.1.0
Diditra's x-ui screenshots
x-ui manual installation & upgrade example
- First fromhttps://github.com/vaxilu/x-ui/releasesDownload the latest compressed package, generally choose
amd64
frame - Then upload this compressed package to the server
/root/
directory, and useroot
User login server
If your server CPU architecture is not
amd64
, change theamd64
Replace with another 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
Install using docker
this docker Tutorials and docker images byChasing66supply
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 .
SSL Certificate Application
This feature and tutorial are provided byFranzKafkaYusupply
The SSL certificate application function is set in the script. To apply for a certificate using this script, the following conditions must be met:
- Know Cloudflare registration email
- Know the Cloudflare Global API Key
- The domain name has been resolved to the server in question through cloudflare
How to obtain Cloudflare Global API Key:
To use it, just enterdomain name
, Mail
,API KEY
Then, the display intent is as follows:
Note:
- The script usesDNS Apply for certification through API
- Default use Let's Encrypt As a CA
- The certificate installation directory is /root/cert
- The certificates applied for by this script are all wildcard domain certificates
Apply for a domain name certificate using Acme script
Note: Before installing the Acme script, install socat first
dnf install -y curl socat wget
After the installation is complete, continue to install the Acme script below.
Installing the Acme Script
curl https://get.acme.sh | sh
If socat is not installed, an error will be reported when installing the script!
How to apply for a certificate when port 80 is idle
Replace the domain name and email address of xxx in the code with the domain name and email address resolved for you.
~/.acme.sh/acme.sh --register-account -m xxx@gmail.com ~/.acme.sh/acme.sh --issue -d xxx.com --standalone
If the above picture is displayed, it means that the domain name certificate has been successfully applied for. Next, install the certificate to the specified folder.
Install the certificate to the specified folder
Replace the domain name in the code with the domain name you resolved, and store the domain name certificate in the /root/ directory.
~/.acme.sh/acme.sh --installcert -d xxx.com --key-file /root/private.key --fullchain-file /root/cert.crt
X-UI Installation Tutorial Example
bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)
Wait for the installation. When the following prompt appears on the command line, it indicates that the installation is successful!
Change panel password
Browser openshttp://server ip address:54321, login panel (user name and password are both admin)
Go to Panel Settings → User Settings and change your username and password
Configure Node
Non-CDN mode
Log in to the dashboard, go to the Inbound list and click on the blue + sign.
Enter the remarks, the port can generally remain the default, and the transmission protocol is recommended to be ws. The flow rate and expiration time can be set, but generally not set. Then click Add
Next to the node you just created, click Operation → QR Code
Use your phone to scan the QR code on the screen, or click the Copy button to export the node you just created.
CDN Model
Open CloudFlare's domain name management, add a new resolution record to your VPS, keep the small cloud open, and click Save
Go toOrigin Server, click Create Certificate
Modify the certificate expiration date and click Create
Copy the public and private keys for future use
Log in to the dashboard, go to the Inbound list and click on the blue + sign.
Refer to the figure below to set, then click Add
Next to the node you just created, click Action → QR Code
Use your phone to scan the QR code on the screen, or click the Copy button to export the node you just created.
X-UI FAQ
Why can't I connect to the node?
- Please check the configuration
- Go to the CF domain management page, go to the SSL tab, and select the Full option.
VPS security hardening recommendations
1. Keep the kernel version updated to fix kernel-level vulnerabilities
2. Don’t run naked when the firewall is turned on
3. Install Fail2ban and configure ssh nginx to automatically block suspicious IP addresses
4. Do not use simple passwords, or prohibit the use of passwords to log in, use RSA private key to log in
5. Configure the number of ssh password retries
6. Add a specified IP to log in to ssh. Delete the firewall to allow so ssh services. If you don’t have a fixed IP, use clash or other ssh that can be proxy to let your vps ip connect to yourself.
clash rule - DST-PORT,22,ACCESS-DENIED
Firewall settings
Ubuntu/debain install firewall
# 1. Turn off the default ufw # Stop the ufw servicesudo systemctl stop ufw # Turn off the boot-upsudo systemctl disable ufw # Delete ufw rulessudo ufw --force reset # 2 Install firewall apt update apt install -y firewalld # Reload (reload is required after adding or removing rules) firewall-cmd --reload # Start systemctl start firewalld # Restart systemctl restart firewalld # Set the boot-upsystemctl enable firewalld # Turn off the boot-upsystemctl disable firewalld
Install firewall on centos/Rocky/Redhat
yum install -y firewalld #Reload (reload is required after adding or removing rules) firewall-cmd --reload #Start systemctl start firewalld #Restart systemctl restart firewalld #Set startup systemctl enable firewalld #Disable startup systemctl disable firewalld
# Add a specified IP to access the ssh service firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=10.0.0.1/32 service name=ssh accept' firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="103.119.132.41/32" service name="ssh" accept' # Close ssh access to all IP services firewall-cmd --remove-service=ssh --permanent # Add http https services firewall-cmd --add-service=http --permanent firewall-cmd --add-service=https --permanent # Take effect configuration firewall-cmd --reload # View rules firewall-cmd --list-all
Free statement
- This program is for learning and understanding only, not for profit. Please delete it within 24 hours after downloading and it may not be used for any commercial purpose. The text, data and pictures are protected by copyright. If reproduced, please indicate the source.
- The use of this program is subject to the deployment disclaimer. The use of this program must comply with the laws and regulations of the country where the server is located and the country where the user is located. The program author does not assume any responsibility for any improper behavior of the user.
Very useful tutorial
When installing xui, connecting to raw.githubusercontent.com() times out and the download fails. What should I do?
CloudFlare frequently reports errors, so I have turned to AWS. It’s great.
AWS provides 1TB of CDN traffic for free every month
X-UI panel tool is very convenient! Visual management, you can also check the server resource usage at any time!