|
@@ -1,5 +1,3 @@
|
|
|
-# 3X-UI
|
|
|
-
|
|
|
[English](/README.md) | [Chinese](/README.zh.md) | [Español](/README.es_ES.md)
|
|
|
|
|
|
<p align="center"><a href="#"><img src="./media/3X-UI.png" alt="Image"></a></p>
|
|
@@ -37,39 +35,50 @@ bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.
|
|
|
## SSL Certificate
|
|
|
|
|
|
<details>
|
|
|
- <summary>Click for SSL Certificate</summary>
|
|
|
-
|
|
|
-### Cloudflare
|
|
|
-
|
|
|
-The Management script has a built-in SSL certificate application for Cloudflare. To use this script to apply for a certificate, you need the following:
|
|
|
+ <summary>Click for SSL Certificate details</summary>
|
|
|
|
|
|
-- Cloudflare registered email
|
|
|
-- Cloudflare Global API Key
|
|
|
-- The domain name has been resolved to the current server through cloudflare
|
|
|
+### ACME
|
|
|
|
|
|
-How to get the Cloudflare Global API Key:
|
|
|
+To manage SSL certificates using ACME:
|
|
|
|
|
|
-1. Run the`x-ui`command on the terminal, then choose `Cloudflare SSL Certificate`.
|
|
|
+1. Ensure your domain is correctly resolved to the server.
|
|
|
+2. Access the `x-ui` command and navigate to `SSL Certificate Management`.
|
|
|
+3. You will be presented with the following options:
|
|
|
|
|
|
-2. Visit the link https://dash.cloudflare.com/profile/api-tokens
|
|
|
+ - **Get SSL:** Obtain SSL certificates.
|
|
|
+ - **Revoke:** Revoke existing SSL certificates.
|
|
|
+ - **Force Renew:** Force renewal of SSL certificates.
|
|
|
|
|
|
-3. Click on View Global API Key (See the screenshot below)
|
|
|
- 
|
|
|
-
|
|
|
-4. You may have to re-authenticate your account. After that, the API Key will be shown (See the screenshot below)\
|
|
|
- 
|
|
|
+### Certbot
|
|
|
|
|
|
-When using, just enter `domain name`, `email`, `API KEY`, the diagram is as follows:
|
|
|
- 
|
|
|
+To install and use Certbot:
|
|
|
|
|
|
-### Certbot
|
|
|
-```
|
|
|
+```sh
|
|
|
apt-get install certbot -y
|
|
|
certbot certonly --standalone --agree-tos --register-unsafely-without-email -d yourdomain.com
|
|
|
certbot renew --dry-run
|
|
|
```
|
|
|
|
|
|
-***Tip:*** *Certbot is also built into the Management script. You can run the `x-ui` command, then choose `SSL Certificate Management`.*
|
|
|
+### Cloudflare
|
|
|
+
|
|
|
+The management script includes a built-in SSL certificate application for Cloudflare. To use this script to apply for a certificate, you need the following:
|
|
|
+
|
|
|
+- Cloudflare registered email
|
|
|
+- Cloudflare Global API Key
|
|
|
+- The domain name must be resolved to the current server through Cloudflare
|
|
|
+
|
|
|
+**How to get the Cloudflare Global API Key:**
|
|
|
+
|
|
|
+1. Run the `x-ui` command in the terminal, then choose `Cloudflare SSL Certificate`.
|
|
|
+2. Visit the link: [Cloudflare API Tokens](https://dash.cloudflare.com/profile/api-tokens).
|
|
|
+3. Click on "View Global API Key" (see the screenshot below):
|
|
|
+ 
|
|
|
+4. You may need to re-authenticate your account. After that, the API Key will be shown (see the screenshot below):
|
|
|
+ 
|
|
|
+
|
|
|
+When using, just enter your `domain name`, `email`, and `API KEY`. The diagram is as follows:
|
|
|
+ 
|
|
|
+
|
|
|
|
|
|
</details>
|
|
|
|
|
@@ -135,26 +144,26 @@ systemctl restart x-ui
|
|
|
|
|
|
#### Usage
|
|
|
|
|
|
-1. Install Docker:
|
|
|
+1. **Install Docker:**
|
|
|
|
|
|
```sh
|
|
|
bash <(curl -sSL https://get.docker.com)
|
|
|
```
|
|
|
|
|
|
-2. Clone the Project Repository:
|
|
|
+2. **Clone the Project Repository:**
|
|
|
|
|
|
```sh
|
|
|
git clone https://github.com/MHSanaei/3x-ui.git
|
|
|
cd 3x-ui
|
|
|
```
|
|
|
|
|
|
-3. Start the Service
|
|
|
+3. **Start the Service:**
|
|
|
|
|
|
```sh
|
|
|
docker compose up -d
|
|
|
```
|
|
|
|
|
|
- OR
|
|
|
+ **OR**
|
|
|
|
|
|
```sh
|
|
|
docker run -itd \
|
|
@@ -167,22 +176,22 @@ systemctl restart x-ui
|
|
|
ghcr.io/mhsanaei/3x-ui:latest
|
|
|
```
|
|
|
|
|
|
-update to latest version
|
|
|
+4. **Update to the Latest Version:**
|
|
|
|
|
|
```sh
|
|
|
- cd 3x-ui
|
|
|
- docker compose down
|
|
|
- docker compose pull 3x-ui
|
|
|
- docker compose up -d
|
|
|
+ cd 3x-ui
|
|
|
+ docker compose down
|
|
|
+ docker compose pull 3x-ui
|
|
|
+ docker compose up -d
|
|
|
```
|
|
|
|
|
|
-remove 3x-ui from docker
|
|
|
+5. **Remove 3x-ui from Docker:**
|
|
|
|
|
|
```sh
|
|
|
- docker stop 3x-ui
|
|
|
- docker rm 3x-ui
|
|
|
- cd --
|
|
|
- rm -r 3x-ui
|
|
|
+ docker stop 3x-ui
|
|
|
+ docker rm 3x-ui
|
|
|
+ cd --
|
|
|
+ rm -r 3x-ui
|
|
|
```
|
|
|
|
|
|
</details>
|
|
@@ -263,17 +272,20 @@ Our platform offers compatibility with a diverse range of architectures and devi
|
|
|
### Information
|
|
|
|
|
|
- **Port:** 2053
|
|
|
-- **Username & Password:** It will be generated randomly if you skip modifying.
|
|
|
-- **Database Path:**
|
|
|
+- **Username & Password & webbasepath:**
|
|
|
+ These will be generated randomly if you skip modifying them.
|
|
|
+- **Database Path:**
|
|
|
+ You can backup or restore your database from the panel.
|
|
|
- /etc/x-ui/x-ui.db
|
|
|
-- **Xray Config Path:**
|
|
|
- - /usr/local/x-ui/bin/config.json
|
|
|
-- **Web Panel Path w/o Deploying SSL:**
|
|
|
- - http://ip:2053/panel
|
|
|
- - http://domain:2053/panel
|
|
|
-- **Web Panel Path w/ Deploying SSL:**
|
|
|
- - https://domain:2053/panel
|
|
|
-
|
|
|
+- **Web Panel Base Path without Deploying SSL:**
|
|
|
+ The `webbasepath` will be generated randomly if you skip modifying it, or you can use your custom path.
|
|
|
+ You can view your current settings using the "View Current Settings" option in the bash menu x-ui.
|
|
|
+ We recommend using a long random word for added security!
|
|
|
+ - http://ip:port/(webbasepath)/panel
|
|
|
+ - http://domain:port/(webbasepath)/panel
|
|
|
+- **Web Panel Base Path with Deploying SSL:**
|
|
|
+ - https://domain:port/(webbasepath)/panel
|
|
|
+
|
|
|
</details>
|
|
|
|
|
|
## WARP Configuration
|
|
@@ -283,26 +295,30 @@ Our platform offers compatibility with a diverse range of architectures and devi
|
|
|
|
|
|
#### Usage
|
|
|
|
|
|
-If you want to use routing to WARP before v2.1.0 follow steps as below:
|
|
|
+**For versions `v2.1.0` and later:**
|
|
|
+
|
|
|
+WARP is built-in, and no additional installation is required. Simply turn on the necessary configuration in the panel.
|
|
|
|
|
|
-**1.** Install WARP on **SOCKS Proxy Mode**:
|
|
|
+**For versions before `v2.1.0`:**
|
|
|
+
|
|
|
+**1.** Install WARP in **SOCKS Proxy Mode**:
|
|
|
|
|
|
```sh
|
|
|
bash <(curl -sSL https://raw.githubusercontent.com/hamid-gh98/x-ui-scripts/main/install_warp_proxy.sh)
|
|
|
```
|
|
|
|
|
|
-**2.** If you already installed warp, you can uninstall using below command:
|
|
|
+**2.** If you already have WARP installed, you can uninstall it using the command below:
|
|
|
|
|
|
```sh
|
|
|
warp u
|
|
|
```
|
|
|
|
|
|
-**3.** Turn on the config you need in panel
|
|
|
+**3.** Enable the configuration you need in the panel.
|
|
|
|
|
|
Config Features:
|
|
|
|
|
|
- Block Ads
|
|
|
- - Route Google + Netflix + Spotify + OpenAI (ChatGPT) to WARP
|
|
|
+ - Route Google, Netflix, Spotify, and OpenAI (ChatGPT) traffic to WARP
|
|
|
- Fix Google 403 error
|
|
|
|
|
|
</details>
|
|
@@ -314,29 +330,30 @@ If you want to use routing to WARP before v2.1.0 follow steps as below:
|
|
|
|
|
|
#### Usage
|
|
|
|
|
|
-**Note:** IP Limit won't work correctly when using IP Tunnel
|
|
|
-
|
|
|
-- For versions up to `v1.6.1`:
|
|
|
-
|
|
|
- - IP limit is built-in into the panel.
|
|
|
-
|
|
|
-- For versions `v1.7.0` and newer:
|
|
|
+**Note:** IP Limit won't work correctly when using IP Tunnel.
|
|
|
|
|
|
- - To make IP Limit work properly, you need to install fail2ban and its required files by following these steps:
|
|
|
+- **For versions up to `v1.6.1`:**
|
|
|
+ - The IP limit is built-in to the panel
|
|
|
|
|
|
+- **For versions `v1.7.0` and newer:**
|
|
|
+ - To enable IP Limit functionality, you need to install `fail2ban` and its required files by following these steps:
|
|
|
1. Use the `x-ui` command inside the shell.
|
|
|
2. Select `IP Limit Management`.
|
|
|
3. Choose the appropriate options based on your needs.
|
|
|
|
|
|
- - make sure you have ./access.log on your Xray Configuration after v2.1.3 we have an option for it
|
|
|
-
|
|
|
- ```sh
|
|
|
+- **For versions before `v2.1.3`:**
|
|
|
+ - You need to set the access log path manually in your Xray configuration:
|
|
|
+
|
|
|
+ ```sh
|
|
|
"log": {
|
|
|
"access": "./access.log",
|
|
|
"dnsLog": false,
|
|
|
"loglevel": "warning"
|
|
|
},
|
|
|
- ```
|
|
|
+ ```
|
|
|
+
|
|
|
+- **For versions `v2.1.3` and newer:**
|
|
|
+ - There is an option for configuring `access.log` directly from the panel.
|
|
|
|
|
|
</details>
|
|
|
|