diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 103 |
1 files changed, 75 insertions, 28 deletions
@@ -1,11 +1,11 @@ # 3x-ui + [](https://github.com/MHSanaei/3x-ui/releases) [](#) [](#) [](#) [](https://www.gnu.org/licenses/gpl-3.0.en.html) - > **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)** @@ -15,19 +15,24 @@ xray panel supporting multi-protocol, **Multi-lang (English,Farsi,Chinese)** ``` bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) ``` + ## Install custom version + To install your desired version you can add the version to the end of install command. Example for ver `v1.0.9`: + ``` bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) v1.0.9 ``` + # SSL + ``` apt-get install certbot -y certbot certonly --standalone --agree-tos --register-unsafely-without-email -d yourdomain.com certbot renew --dry-run ``` -**If you think this project is helpful to you, you may wish to give a** :star2: +**If you think this project is helpful to you, you may wish to give a** :star2: # Default settings @@ -36,18 +41,58 @@ certbot renew --dry-run - database path: /etc/x-ui/x-ui.db - xray config path: /usr/local/x-ui/bin/config.json -before you set ssl on settings -- http:// ip or domain:2053/xui +Before you set ssl on settings + +- http://ip:2053/xui +- http://domain:2053/xui + +After you set ssl on settings -After you set ssl on settings - https://yourdomain:2053/xui -# Enable Traffic For Users: +# Environment Variables + +| Variable | Type | Default | +| -------------- | :--------------------------------------------: | :------------ | +| XUI_LOG_LEVEL | `"debug"` \| `"info"` \| `"warn"` \| `"error"` | `"info"` | +| XUI_DEBUG | `boolean` | `false` | +| XUI_BIN_FOLDER | `string` | `"bin"` | +| XUI_DB_FOLDER | `string` | `"/etc/x-ui"` | + +Example: + +```sh +XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go +``` + +# Xray Configurations: **copy and paste to xray Configuration :** (you don't need to do this if you have a fresh install) -- [enable traffic](./media/enable-traffic.txt) -- [enable traffic+block all IR IP address](./media/enable-traffic+block-IR-IP.txt) -- [enable traffic+block all IR domain](./media/enable-traffic+block-IR-domain.txt) + +- [traffic](./media/configs/traffic.json) +- [traffic + Block all Iran IP address](./media/configs/traffic+block-iran-ip.json) +- [traffic + Block all Iran Domains](./media/configs/traffic+block-iran-domains.json) +- [traffic + Block Ads + Use IPv4 for Google](./media/configs/traffic+block-ads+ipv4-google.json) +- [traffic + Block Ads + Route Iran domains + Google + Netflix + Spotify + OpenAI (ChatGPT) to WARP](./media/configs/traffic+block-ads+warp-global+iran-domains.json) + +# [WARP Configuration](https://github.com/fscarmen/warp) (Optional) + +If you want to use routing to WARP follow steps as below: + +1. Install WARP on **socks proxy mode**: + + ```sh + curl -fsSL https://gist.githubusercontent.com/hamid-gh98/dc5dd9b0cc5b0412af927b1ccdb294c7/raw/install_warp_proxy.sh | bash + ``` + +2. [Copy and paste this file to Xray Configuration](./media/configs/traffic+block-ads+warp-global+iran-domains.json) or Turn on the config you need in panel + + Config Features: + + - Block Ads + - Route Google + Netflix + Spotify + OpenAI (ChatGPT) to WARP + - Route Iran Domains to WARP + - Fix Google 403 error # Features @@ -62,7 +107,8 @@ After you set ssl on settings - 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 routes (user setting will create with api) +- Fix api routes (user setting will create with api) +- Support to change switch config by different type of items provided in panel # Tg robot use @@ -79,8 +125,8 @@ Set the robot-related parameters in the panel background, including: Reference syntax: -- 30 * * * * * //Notify at the 30s of each point -- 0 */10 * * * * //Notify at the first second of each 10 minutes +- 30 \* \* \* \* \* //Notify at the 30s of each point +- 0 \*/10 \* \* \* \* //Notify at the first second of each 10 minutes - @hourly // hourly notification - @daily // Daily notification (00:00 in the morning) - @every 8h // notify every 8 hours @@ -100,33 +146,34 @@ Reference syntax: - Check depleted users - Receive backup by request and in periodic reports - ## API routes - `/login` with `PUSH` user data: `{username: '', password: ''}` for login - `/xui/API/inbounds` base for following actions: -| Method | Path | Action | -| ------------- | ------------- | ------------- | -| GET | "/list" | Get all inbounds | -| GET | "/get/:id" | Get inbound with inbound.id | -| POST | "/add" | Add inbound | -| POST | "/del/:id" | Delete Inbound | -| POST | "/update/:id" | Update Inbound | -| POST | "/clientIps/:email" | Client Ip address | -| POST | "/clearClientIps/:email" | Clear Client Ip address | -| POST | "/addClient/" | Add Client to inbound | -| POST | "/delClient/:email" | Delete Client | -| POST | "/updateClient/:index" | Update Client | -| POST | "/:id/resetClientTraffic/:email" | Reset Client's Traffic | -| POST | "/resetAllTraffics" | Reset traffics of all inbounds | -| POST | "/resetAllClientTraffics/:id" | Reset traffics of all clients in an inbound | +| Method | Path | Action | +| :----: | ---------------------------------- | ------------------------------------------- | +| `GET` | `"/list"` | Get all inbounds | +| `GET` | `"/get/:id"` | Get inbound with inbound.id | +| `POST` | `"/add"` | Add inbound | +| `POST` | `"/del/:id"` | Delete Inbound | +| `POST` | `"/update/:id"` | Update Inbound | +| `POST` | `"/clientIps/:email"` | Client Ip address | +| `POST` | `"/clearClientIps/:email"` | Clear Client Ip address | +| `POST` | `"/addClient/"` | Add Client to inbound | +| `POST` | `"/delClient/:email"` | Delete Client | +| `POST` | `"/updateClient/:index"` | Update Client | +| `POST` | `"/:id/resetClientTraffic/:email"` | Reset Client's Traffic | +| `POST` | `"/resetAllTraffics"` | Reset traffics of all inbounds | +| `POST` | `"/resetAllClientTraffics/:id"` | Reset traffics of all clients in an inbound | # A Special Thanks To + - [alireza0](https://github.com/alireza0/) - [FranzKafkaYu](https://github.com/FranzKafkaYu) # Suggestion System + - Ubuntu 20.04+ - Debian 10+ - CentOS 8+ |
