diff --git a/README.md b/README.md index 4ccaa4ef..6a53d9ed 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # X-UI +**Advanced GUI panel based on Xray Core supports multiple protocols and languages** ![](https://img.shields.io/github/v/release/alireza0/x-ui.svg) ![](https://img.shields.io/docker/pulls/alireza7/x-ui.svg) @@ -8,31 +9,44 @@ > **Disclaimer: This project is only for personal learning and communication, please do not use it for illegal purposes, please do not use it in a production environment** -**Xray Panel Supporting Multi-Protocol, Multi-lang (English,Farsi,Chinese,Russian)** - -| Features | Enable? | -| ------------------------------------ | :----------------: | -| Multi-lang | :heavy_check_mark: | -| Dark/Light Theme | :heavy_check_mark: | -| Search in deep | :heavy_check_mark: | -| Inbound Multi User | :heavy_check_mark: | -| Multi User Traffic & Expiration time | :heavy_check_mark: | -| REST API | :heavy_check_mark: | -| Telegram BOT (admin + clients) | :heavy_check_mark: | -| Backup database using Telegram BOT | :heavy_check_mark: | -| Subscription link + userInfo | :heavy_check_mark: | -| Calculate expire date on first usage | :heavy_check_mark: | -| Show Online Clients | :heavy_check_mark: | - **If you think this project is helpful to you, you may wish to give a** :star2: **Buy Me a Coffee :** -- Tron USDT (TRC20): `TYTq73Gj6dJ67qe58JVPD9zpjW2cc9XgVz` -- Tezos (XTZ): tz2Wnh2SsY1eezXrcLChu6idWpgdHzUFQcts +- USDT Tron (TRC20): `TYTq73Gj6dJ67qe58JVPD9zpjW2cc9XgVz` +- Tezos (XTZ): +`tz2Wnh2SsY1eezXrcLChu6idWpgdHzUFQcts` -## Install & Upgrade to latest Version + +## Quick Look +| Features | Enable? | +| ------------------------------------ | :----------------: | +| Multi-Protocol | :heavy_check_mark: | +| Multi-Language | :heavy_check_mark: | +| Advanced Traffic Routing | :heavy_check_mark: | +| Dark/Light Theme | :heavy_check_mark: | +| Search in Deep | :heavy_check_mark: | +| Multi-User Inbounds | :heavy_check_mark: | +| Multi-User Traffic & Expire Date | :heavy_check_mark: | +| REST API | :heavy_check_mark: | +| Telegram Bot (admin + clients) | :heavy_check_mark: | +| Database Backup using Telegram Bot | :heavy_check_mark: | +| Subscription Link + UserInfo | :heavy_check_mark: | +| Calculate Expire Date on First Usage | :heavy_check_mark: | +| Show Online Users | :heavy_check_mark: | + + +## Languages + +- English +- Chinese +- Farsi +- Russian +- Vietnamese + + +## Install & Upgrade to Latest Version ```sh bash <(curl -Ls https://raw.githubusercontent.com/alireza0/x-ui/master/install.sh) @@ -98,19 +112,18 @@ docker build -t x-ui . ## Features - System Status Monitoring -- Search within all inbounds and clients +- Search within all inbounds and users - Support Dark/Light theme UI -- Support multi-user multi-protocol, web page visualization operation -- Support multi-domain configuration and multi-certificate inbounds -- Supported protocols: vmess, vless, trojan, shadowsocks, dokodemo-door, socks, http -- Support for configuring more transport configurations -- Traffic statistics, limit traffic, limit expiration time -- Customizable xray configuration templates -- Support subscription ( multi ) link -- Detect users which are expiring or exceed traffic limit soon -- Support https access panel (self-provided domain name + ssl certificate) +- Support multi-user, multi-protocol, web page visualization operation +- advanced GUI for routing traffic (Reverse & Transparent proxy, Multi-Domain, Multi-Certificate, Multi-Port per inbound) +- Supported protocols: VMess, VLESS, Trojan, Shadowsocks, Dokodemo-door, SOCKS, HTTP +- Support XTLS native encryptions (Vision, REALITY) +- Traffic statistics, limit traffic, set expire date +- Customizable Xray configuration templates +- Support subscription (multi) link +- Detect users which are expiring or exceed traffic limit +- 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 - Support export/import database from panel - Show online users @@ -132,22 +145,22 @@ docker build -t x-ui . | `GET` | `"/get/:id"` | Get inbound with inbound.id | | `GET` | `"/createbackup"` | Telegram bot sends backup to admins | | `POST` | `"/add"` | Add inbound | -| `POST` | `"/del/:id"` | Delete Inbound | -| `POST` | `"/update/:id"` | Update Inbound | -| `POST` | `"/addClient/"` | Add Client to inbound | -| `POST` | `"/:id/delClient/:clientId"` | Delete Client by clientId\* | -| `POST` | `"/updateClient/:clientId"` | Update Client by clientId\* | -| `GET` | `"/getClientTraffics/:email"` | Get Client's Traffic | -| `POST` | `"/:id/resetClientTraffic/:email"` | Reset Client's Traffic | +| `POST` | `"/del/:id"` | Delete inbound | +| `POST` | `"/update/:id"` | Update inbound | +| `POST` | `"/addClient/"` | Add client to inbound | +| `POST` | `"/:id/delClient/:clientId"` | Delete client by clientId\* | +| `POST` | `"/updateClient/:clientId"` | Update client by clientId\* | +| `GET` | `"/getClientTraffics/:email"` | Get client's traffic | +| `POST` | `"/:id/resetClientTraffic/:email"` | Reset client's traffic | | `POST` | `"/resetAllTraffics"` | Reset traffics of all inbounds | | `POST` | `"/resetAllClientTraffics/:id"` | Reset inbound clients traffics (-1: all) | | `POST` | `"/delDepletedClients/:id"` | Delete inbound depleted clients (-1: all) | -| `POST` | `"/onlines"` | Get Online users ( list of emails ) | +| `POST` | `"/onlines"` | Get online users ( list of emails ) | \*- The field `clientId` should be filled by: -- `client.id` for VMESS and VLESS -- `client.password` for TROJAN +- `client.id` for VMess and VLESS +- `client.password` for Trojan - `client.email` for Shadowsocks ## Environment Variables @@ -166,7 +179,7 @@ docker build -t x-ui . ![outbounds](./media/outbounds.png) ![rules](./media/rules.png) -## SSL Certificate Application +## SSL Certificate
Click for details @@ -188,6 +201,8 @@ certbot certonly --standalone --register-unsafely-without-email --non-interactiv
Click for details +### Usage + X-UI supports daily traffic notification, panel login reminder and other functions through the Tg robot. To use the Tg robot, you need to apply for the specific application tutorial. You can refer to the [blog](https://coderfan.net/how-to-use-telegram-bot-to-alarm-you-when-someone-login-into-your-vps.html) Set the robot-related parameters in the panel background, including: @@ -207,7 +222,7 @@ Reference syntax: - @daily // Daily notification (00:00 in the morning) - @every 8h // notify every 8 hours -### Telegram Bot Features +### Features - Report periodic - Login notification @@ -224,9 +239,14 @@ Reference syntax: - Multi language bot
-## T-Shoots +## Troubleshoots -**Please be aware if you upgrade from an old X-UI version or other forks, by default data traffic usage for users may not work! it's recommended to follow below steps for enabeling:** +
+ Click for details + +### Enable Traffic Usage + +Please be aware if you upgrade from an old X-UI version or other forks, by default data traffic usage for users may not work! it's recommended to follow below steps for enabeling: 1. Find this section in config file