From b3b433f84bcec4d4ed2ad27f47d5eaf0bc7cece6 Mon Sep 17 00:00:00 2001 From: mhsanaei Date: Tue, 27 Aug 2024 10:30:53 +0200 Subject: =?UTF-8?q?=D0=A0=D1=83=D1=81=D1=81=D0=BA=D0=B8=D0=B9=20README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.es_ES.md | 2 +- README.md | 2 +- README.ru_RU.md | 531 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.zh.md | 478 ------------------------------------------------ README.zh_Hans.md | 478 ++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 1011 insertions(+), 480 deletions(-) create mode 100644 README.ru_RU.md delete mode 100644 README.zh.md create mode 100644 README.zh_Hans.md diff --git a/README.es_ES.md b/README.es_ES.md index 6cbf92e7..339d872b 100644 --- a/README.es_ES.md +++ b/README.es_ES.md @@ -1,4 +1,4 @@ -[English](/README.md) | [Chinese](/README.zh.md) | [Español](/README.es_ES.md) +[English](/README.md) | [汉语](/README.zh_Hans.md) | [Español](/README.es_ES.md) | [Русский](/README.ru_RU.md)

Image

diff --git a/README.md b/README.md index 9bbc8eff..6d6a19c8 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[English](/README.md) | [Chinese](/README.zh.md) | [Español](/README.es_ES.md) +[English](/README.md) | [汉语](/README.zh_Hans.md) | [Español](/README.es_ES.md) | [Русский](/README.ru_RU.md)

Image

diff --git a/README.ru_RU.md b/README.ru_RU.md new file mode 100644 index 00000000..60c4a2a9 --- /dev/null +++ b/README.ru_RU.md @@ -0,0 +1,531 @@ +[English](/README.md) | [汉语](/README.zh_Hans.md) | [Español](/README.es_ES.md) | [Русский](/README.ru_RU.md) + +

Image

+ +**Продвинутая веб-панель • Построена на основе Xray Core** + +[![](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg)](https://github.com/MHSanaei/3x-ui/releases) +[![](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg)](#) +[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg)](#) +[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg)](#) +[![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html) + +> **Отказ от ответственности:** Этот проект предназначен только для личного обучения и общения. Пожалуйста, не используйте его в незаконных целях и не применяйте в производственной среде. + +**Если этот проект оказался полезным для вас, вы можете оценить его:** :star2: + +

+ + Image + +

+ +- USDT (TRC20): `TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC` +- MATIC (polygon): `0x41C9548675D044c6Bfb425786C765bc37427256A` +- LTC (Litecoin): `ltc1q2ach7x6d2zq0n4l0t4zl7d7xe2s6fs7a3vspwv` + +## Установка и обновление + +``` +bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) +``` + +## Установка пользовательской версии + +Чтобы установить нужную вам версию, добавьте номер версии в конец команды установки, например, версия `v2.3.13`: + +``` +bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) v2.3.13 +``` + +## SSL Сертификат + +
+ Нажмите для получения информации о SSL сертификате + +### ACME + +Для управления SSL сертификатами с помощью ACME: + +1. Убедитесь, что ваш домен правильно настроен и указывает на сервер. +2. Выполните команду `x-ui` в терминале, затем выберите «Управление SSL сертификатами». +3. Вам будут предложены следующие опции: + + - **Получить SSL:** Получить SSL сертификаты. + - **Отозвать:** Отозвать существующие SSL сертификаты. + - **Принудительное обновление:** Принудительно обновить SSL сертификаты. + +### Certbot + +Для установки и использования Certbot: + +```sh +apt-get install certbot -y +certbot certonly --standalone --agree-tos --register-unsafely-without-email -d yourdomain.com +certbot renew --dry-run +``` + +### Cloudflare + +Скрипт управления включает встроенное приложение для получения SSL сертификата через Cloudflare. Чтобы использовать этот скрипт для запроса сертификата, вам потребуется следующее: + +- Электронная почта, зарегистрированная в Cloudflare +- Глобальный API-ключ Cloudflare +- Доменное имя должно быть разрешено на текущий сервер через Cloudflare + +**Как получить глобальный API-ключ Cloudflare:** + +1. Выполните команду `x-ui` в терминале, затем выберите «Cloudflare SSL Certificate». +2. Посетите ссылку: [Cloudflare API Tokens](https://dash.cloudflare.com/profile/api-tokens). +3. Нажмите на "View Global API Key" (см. скриншот ниже): + ![](media/APIKey1.PNG) +4. Возможно, вам потребуется повторно пройти аутентификацию. После этого ключ API будет отображен (см. скриншот ниже): + ![](media/APIKey2.png) + +При использовании просто введите ваше `доменное имя`, `электронную почту` и `API KEY`. Схема приведена ниже: + ![](media/DetailEnter.png) + +
+ +## Ручная установка и обновление + +
+ Нажмите для получения информации о ручной установке + +#### Использование + +1. Чтобы скачать последнюю версию сжатого пакета напрямую на ваш сервер, выполните следующую команду: + +```sh +ARCH=$(uname -m) +case "${ARCH}" in + x86_64 | x64 | amd64) XUI_ARCH="amd64" ;; + i*86 | x86) XUI_ARCH="386" ;; + armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;; + armv7* | armv7) XUI_ARCH="armv7" ;; + armv6* | armv6) XUI_ARCH="armv6" ;; + armv5* | armv5) XUI_ARCH="armv5" ;; + s390x) echo 's390x' ;; + *) XUI_ARCH="amd64" ;; +esac + + +wget https://github.com/MHSanaei/3x-ui/releases/latest/download/x-ui-linux-${XUI_ARCH}.tar.gz +``` + +2. После загрузки сжатого пакета выполните следующие команды для установки или обновления x-ui: + +```sh +ARCH=$(uname -m) +case "${ARCH}" in + x86_64 | x64 | amd64) XUI_ARCH="amd64" ;; + i*86 | x86) XUI_ARCH="386" ;; + armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;; + armv7* | armv7) XUI_ARCH="armv7" ;; + armv6* | armv6) XUI_ARCH="armv6" ;; + armv5* | armv5) XUI_ARCH="armv5" ;; + s390x) echo 's390x' ;; + *) XUI_ARCH="amd64" ;; +esac + +cd /root/ +rm -rf x-ui/ /usr/local/x-ui/ /usr/bin/x-ui +tar zxvf x-ui-linux-${XUI_ARCH}.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 +``` + +
+ +## Установка с помощью Docker + +
+ Нажмите для получения информации о Docker + +#### Использование + +1. **Установите Docker:** + + ```sh + bash <(curl -sSL https://get.docker.com) + ``` + +2. **Клонируйте репозиторий проекта:** + + ```sh + git clone https://github.com/MHSanaei/3x-ui.git + cd 3x-ui + ``` + +3. **Запустите сервис:** + + ```sh + docker compose up -d + ``` + + **OR** + + ```sh + docker run -itd \ + -e XRAY_VMESS_AEAD_FORCED=false \ + -v $PWD/db/:/etc/x-ui/ \ + -v $PWD/cert/:/root/cert/ \ + --network=host \ + --restart=unless-stopped \ + --name 3x-ui \ + ghcr.io/mhsanaei/3x-ui:latest + ``` + +4. **Обновите до последней версии:** + + ```sh + cd 3x-ui + docker compose down + docker compose pull 3x-ui + docker compose up -d + ``` + +5. **Удалите 3x-ui из Docker:** + + ```sh + docker stop 3x-ui + docker rm 3x-ui + cd -- + rm -r 3x-ui + ``` + +
+ + +## Рекомендуемая ОС + +- Ubuntu 20.04+ +- Debian 11+ +- CentOS 8+ +- Fedora 36+ +- Arch Linux +- Parch Linux +- Manjaro +- Armbian +- AlmaLinux 9+ +- Rocky Linux 9+ +- Oracle Linux 8+ +- OpenSUSE Tubleweed + +## Поддерживаемые архитектуры и устройства + +
+ Нажмите для получения информации о поддерживаемых архитектурах и устройствах + +Наша платформа поддерживает разнообразные архитектуры и устройства, обеспечивая гибкость в различных вычислительных средах. Вот основные архитектуры, которые мы поддерживаем: + +- **amd64**: Эта распространенная архитектура является стандартом для персональных компьютеров и серверов, обеспечивая беспроблемную работу большинства современных операционных систем. + +- **x86 / i386**: Широко используется в настольных и портативных компьютерах. Эта архитектура имеет широкую поддержку со стороны множества операционных систем и приложений, включая, но не ограничиваясь, Windows, macOS и Linux. + +- **armv8 / arm64 / aarch64**: Предназначена для современных мобильных и встроенных устройств, таких как смартфоны и планшеты. Эта архитектура представлена устройствами, такими как Raspberry Pi 4, Raspberry Pi 3, Raspberry Pi Zero 2/Zero 2 W, Orange Pi 3 LTS и другими. + +- **armv7 / arm / arm32**: Служит архитектурой для старых мобильных и встроенных устройств, оставаясь широко используемой в таких устройствах, как Orange Pi Zero LTS, Orange Pi PC Plus, Raspberry Pi 2 и других. + +- **armv6 / arm / arm32**: Ориентирована на очень старые встроенные устройства, эта архитектура, хотя и менее распространенная, все еще используется. Например, такие устройства, как Raspberry Pi 1, Raspberry Pi Zero/Zero W, полагаются на эту архитектуру. + +- **armv5 / arm / arm32**: Более старая архитектура, ассоциируемая с ранними встроенными системами, сегодня менее распространена, но все еще может быть найдена в устаревших устройствах, таких как ранние версии Raspberry Pi и некоторые старые смартфоны. + +- **s390x**: Эта архитектура обычно используется в мейнфреймах IBM и обеспечивает высокую производительность и надежность для корпоративных рабочих нагрузок. +
+ +## Языки + +- Английский +- Фарси +- Китайский +- Русский +- Вьетнамский +- Испанский +- Индонезийский +- Украинский +- Турецкий + +## Функции + +- Мониторинг состояния системы +- Поиск по всем входящим подключениям и клиентам +- Темная/светлая тема +- Поддержка нескольких пользователей и протоколов +- Поддержка протоколов, включая VMESS, VLESS, Trojan, Shadowsocks, Dokodemo-door, Socks, HTTP, WireGuard +- Поддержка протоколов XTLS, включая RPRX-Direct, Vision, REALITY +- Статистика трафика, ограничение трафика, ограничение по времени истечения +- Настраиваемые шаблоны конфигурации Xray +- Поддержка панели доступа через HTTPS (самостоятельно предоставленное доменное имя + SSL сертификат) +- Поддержка установки SSL-сертификата в один клик и автоматического обновления +- Для получения более продвинутых настроек обратитесь к панели +- Исправлены маршруты API (настройка пользователя будет создана с API) +- Поддержка изменения конфигураций по различным элементам, предоставленным в панели +- Поддержка экспорта/импорта базы данных из панели + +## Настройки панели по умолчанию + +
+ Нажмите для получения информации о настройках по умолчанию + +### Имя пользователя и пароль & webbasepath: + +Эти параметры будут сгенерированы случайным образом, если вы пропустите их изменение. + + - **Порт:** порт панели по умолчанию — `2053` + +### Управление базой данных: + +Вы можете удобно выполнять резервное копирование и восстановление базы данных прямо из панели. + +- **Путь к базе данных:** + - `/etc/x-ui/x-ui.db` + +### Веб-базовый путь + +1. **Сбросить веб-базовый путь:** + - Откройте терминал. + - Выполните команду `x-ui`. + - Выберите опцию `Сбросить веб-базовый путь`. + +2. **Генерация или настройка пути:** + - Путь будет случайным образом сгенерирован, или вы можете ввести пользовательский путь. + +3. **Просмотр текущих настроек:** + - Чтобы просмотреть текущие настройки, используйте команду `x-ui settings` в терминале или опцию `View Current Settings` в `x-ui`. + +### Рекомендации по безопасности: +- Для повышения безопасности используйте длинное случайное слово в структуре вашего URL. + +**Примеры:** +- `http://ip:port/*webbasepath*/panel` +- `http://domain:port/*webbasepath*/panel` + +
+ +## Настройка WARP + +
+ Нажмите для получения информации о настройке WARP + +#### Использование + +**Для версий `v2.1.0` и новее:** + +WARP встроен, и дополнительная установка не требуется. Просто включите необходимую конфигурацию в панели. + +**Для версий до `v2.1.0`:** + +1. Выполните команду `x-ui` в терминале, затем выберите «Управление WARP». +2. Вам будут предложены следующие опции: + + - **Тип учетной записи (free, plus, team):** Выберите соответствующий тип учетной записи. + - **Включить/Выключить WireProxy:** Включите или отключите WireProxy. + - **Удалить WARP:** Удалите приложение WARP. + +3. Настройте параметры по мере необходимости в панели. + +
+ +## Ограничение IP + +
+ Нажмите для получения информации об ограничении IP + +#### Использование + +**Примечание:** Ограничение IP не будет работать корректно при использовании IP Tunnel. + +- **Для версий до `v1.6.1`:** + - Ограничение IP встроено в панель. + +**Для версий `v1.7.0` и новее:** + +Чтобы включить функциональность ограничения IP, вам нужно установить `fail2ban` и его необходимые файлы, выполнив следующие шаги: + +1. Выполните команду `x-ui` в терминале, затем выберите «Управление ограничением IP». +2. Вам будут предложены следующие опции: + + - **Изменить длительность блокировки:** Отрегулируйте длительность блокировок. + - **Разблокировать всех:** Снять все текущие блокировки. + - **Проверить логи:** Просмотреть логи. + - **Статус Fail2ban:** Проверьте статус `fail2ban`. + - **Перезапустить Fail2ban:** Перезапустите службу `fail2ban`. + - **Удалить Fail2ban:** Удалите Fail2ban с конфигурацией. + +3. Добавьте путь к логам доступа в панели, установив `Xray Configs/log/Access log` в `./access.log`, затем сохраните и перезапустите xray. + +- **Для версий до `v2.1.3`:** + - Вам нужно вручную установить путь к логам доступа в вашей конфигурации Xray: + + ```sh + "log": { + "access": "./access.log", + "dnsLog": false, + "loglevel": "warning" + }, + ``` + +- **Для версий `v2.1.3` и новее:** + - Есть возможность настройки `access.log` непосредственно из панели. + +
+ +## Телеграм-бот + +
+ Нажмите для получения информации о Телеграм-боте + +#### Использование + +Веб-панель поддерживает уведомления и функции, такие как ежедневный трафик, вход в панель, резервное копирование базы данных, состояние системы, информация о клиентах и другие, через Телеграм-бота. Чтобы использовать бота, вам нужно настроить параметры, связанные с ботом, в панели, включая: + +- Токен Telegram +- ID чата админа(-ов) +- Время уведомлений (в синтаксисе cron) +- Уведомления о дате истечения +- Уведомления о лимите трафика +- Резервное копирование базы данных +- Уведомления о загрузке ЦП + +**Синтаксис примеров:** + +- `30 * * * * *` - Уведомление на 30-й секунде каждого часа +- `0 */10 * * * *` - Уведомление на первой секунде каждых 10 минут +- `@hourly` - Ежечасное уведомление +- `@daily` - Ежедневное уведомление (00:00 утра) +- `@weekly` - Еженедельное уведомление +- `@every 8h` - Уведомление каждые 8 часов + +### Возможности Телеграм-бота + +- Периодические отчеты +- Уведомления о входе +- Уведомления о пороге ЦП +- Уведомления о времени истечения и трафике заранее +- Поддержка меню отчета о клиентах, если имя пользователя клиента добавлено в конфигурацию пользователя +- Поддержка отчета о трафике через Telegram, поиск по UUID (VMESS/VLESS) или паролю (TROJAN) - анонимно +- Меню-бот +- Поиск клиента по электронной почте (только администратор) +- Проверка всех входящих соединений +- Проверка состояния сервера +- Проверка истекших пользователей +- Получение резервных копий по запросу и в периодических отчетах +- Многоязычный бот + +### Настройка Телеграм-бота + +- Начните [Botfather](https://t.me/BotFather) в вашем аккаунте Telegram: + ![Botfather](./media/botfather.png) + +- Создайте новый бот с помощью команды /newbot: Вас попросят ввести 2 вопроса, имя и имя пользователя для вашего бота. Обратите внимание, что имя пользователя должно заканчиваться на слово "bot". + ![Создать нового бота](./media/newbot.png) + +- Запустите созданного бота. Ссылку на вашего бота можно найти здесь. + ![токен](./media/token.png) + +- Перейдите в панель и настройте параметры Телеграм-бота следующим образом: +![Настройки панели](./media/panel-bot-config.png) + +Введите токен вашего бота в поле ввода номер 3. +Введите ID пользователя в поле ввода номер 4. Telegram-аккаунты с этим ID будут администраторами бота. (Вы можете ввести несколько ID, разделяя их запятой) + +- Как получить ID пользователя Telegram? Используйте этот [бот](https://t.me/useridinfobot), начните бота, и он предоставит вам ID пользователя Telegram. +![ID пользователя](./media/user-id.png) + +
+ +## API маршруты + +
+ Нажмите для получения информации о маршрутах API + +#### Использование + +- `/login` с `POST` данными пользователя: `{username: '', password: ''}` для входа +- `/panel/api/inbounds` базовый маршрут для следующих действий: + +| Метод | Путь | Действие +| :---: | -----------------------------------| ------------------------------------------- +| `GET` | `"/list"` | Получить все входящие соединения +| `GET` | `"/get/:id"` | Получить входящее соединение с inbound.id +| `GET` | `"/getClientTraffics/:email"` | Получить трафик клиента по электронной почте +| `GET` | `"/getClientTrafficsById/:id"` | Получить трафик клиента по ID +| `GET` | `"/createbackup"` | Бот Telegram отправляет резервную копию администраторам +| `POST` | `"/add"` | Добавить входящее соединение +| `POST` | `"/del/:id"` | Удалить входящее соединение +| `POST` | `"/update/:id"` | Обновить входящее соединение +| `POST` | `"/clientIps/:email"` | IP-адрес клиента +| `POST` | `"/clearClientIps/:email"` | Очистить IP-адрес клиента +| `POST` | `"/addClient"` | Добавить клиента к входящему соединению +| `POST` | `"/:id/delClient/:clientId"` | Удалить клиента по clientId\* +| `POST` | `"/updateClient/:clientId"` | Обновить клиента по clientId\* +| `POST` | `"/:id/resetClientTraffic/:email"` | Сбросить трафик клиента +| `POST` | `"/resetAllTraffics"` | Сбросить трафик всех входящих соединений +| `POST` | `"/resetAllClientTraffics/:id"` | Сбросить трафик всех клиентов в входящем соединении +| `POST` | `"/delDepletedClients/:id"` | Удалить истекших клиентов в входящем соединении (-1: все) +| `POST` | `"/onlines"` | Получить онлайн пользователей (список электронных почт) + +\*- Поле `clientId` должно быть заполнено следующим образом: + +- `client.id` для VMESS и VLESS +- `client.password` для TROJAN +- `client.email` для Shadowsocks + +
+ + +- [API-документация](https://documenter.getpostman.com/view/16802678/2s9YkgD5jm) +- [Run In Postman](https://app.getpostman.com/run-collection/16802678-1a4c9270-ac77-40ed-959a-7aa56dc4a415?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D16802678-1a4c9270-ac77-40ed-959a-7aa56dc4a415%26entityType%3Dcollection%26workspaceId%3D2cd38c01-c851-4a15-a972-f181c23359d9) + + +## Переменные Среды + +
+ Нажмите для получения информации о переменных среды + +#### Использование + +| Переменная | Тип | Значение по умолчанию | +| ---------------- | :------------------------------------------: | :-------------------- | +| XUI_LOG_LEVEL | `"debug"` \| `"info"` \| `"warn"` \| `"error"` | `"info"` | +| XUI_DEBUG | `boolean` | `false` | +| XUI_BIN_FOLDER | `string` | `"bin"` | +| XUI_DB_FOLDER | `string` | `"/etc/x-ui"` | +| XUI_LOG_FOLDER | `string` | `"/var/log"` | + +Пример: + +```sh +XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go +``` + +
+ +## Предварительный Просмотр + +![1](./media/1.png) +![2](./media/2.png) +![3](./media/3.png) +![4](./media/4.png) +![5](./media/5.png) +![6](./media/6.png) +![7](./media/7.png) + +## Особая благодарность + +- [alireza0](https://github.com/alireza0/) + +## Подтверждение + +- [Iran v2ray rules](https://github.com/chocolate4u/Iran-v2ray-rules) (License: **GPL-3.0**): _Enhanced v2ray/xray and v2ray/xray-clients routing rules with built-in Iranian domains and a focus on security and adblocking._ +- [Vietnam Adblock rules](https://github.com/vuong2023/vn-v2ray-rules) (License: **GPL-3.0**): _A hosted domain hosted in Vietnam and blocklist with the most efficiency for Vietnamese._ + +## Звездочеты со временем + +[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg)](https://starchart.cc/MHSanaei/3x-ui) diff --git a/README.zh.md b/README.zh.md deleted file mode 100644 index 30a2fc7f..00000000 --- a/README.zh.md +++ /dev/null @@ -1,478 +0,0 @@ -[English](/README.md) | [Chinese](/README.zh.md) | [Español](/README.es_ES.md) - -

Image

- -**一个更好的面板 • 基于Xray Core构建** - -[![](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg)](https://github.com/MHSanaei/3x-ui/releases) -[![](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg)](#) -[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg)](#) -[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg)](#) -[![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html) - -> **Disclaimer:** 此项目仅供个人学习交流,请不要用于非法目的,请不要在生产环境中使用。 - -**如果此项目对你有用,请给一个**:star2: - -

- - Image - -

- -- USDT (TRC20): `TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC` -- MATIC (polygon): `0x41C9548675D044c6Bfb425786C765bc37427256A` -- LTC (Litecoin): `ltc1q2ach7x6d2zq0n4l0t4zl7d7xe2s6fs7a3vspwv` - -## 安装 & 升级 - -``` -bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) -``` - -## 安装指定版本 - -要安装所需的版本,请将该版本添加到安装命令的末尾。 e.g., ver `v2.3.13`: - -``` -bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) v2.3.13 -``` - -## SSL 认证 - -
- 点击查看 SSL 认证 - -### Cloudflare - -管理脚本具有用于 Cloudflare 的内置 SSL 证书应用程序。若要使用此脚本申请证书,需要满足以下条件: - -- Cloudflare 邮箱地址 -- Cloudflare Global API Key -- 域名已通过 cloudflare 解析到当前服务器 - -**1:** 在终端中运行`x-ui`, 选择 `Cloudflare SSL Certificate`. - - -### Certbot -``` -apt-get install certbot -y -certbot certonly --standalone --agree-tos --register-unsafely-without-email -d yourdomain.com -certbot renew --dry-run -``` - -***Tip:*** *管理脚本具有 Certbot 。使用 `x-ui` 命令, 选择 `SSL Certificate Management`.* - -
- -## 手动安装 & 升级 - -
- 点击查看 手动安装 & 升级 - -#### 使用 - -1. 若要将最新版本的压缩包直接下载到服务器,请运行以下命令: - -```sh -ARCH=$(uname -m) -case "${ARCH}" in - x86_64 | x64 | amd64) XUI_ARCH="amd64" ;; - i*86 | x86) XUI_ARCH="386" ;; - armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;; - armv7* | armv7) XUI_ARCH="armv7" ;; - armv6* | armv6) XUI_ARCH="armv6" ;; - armv5* | armv5) XUI_ARCH="armv5" ;; - *) XUI_ARCH="amd64" ;; -esac - - -wget https://github.com/MHSanaei/3x-ui/releases/latest/download/x-ui-linux-${XUI_ARCH}.tar.gz -``` - -2. 下载压缩包后,执行以下命令安装或升级 x-ui: - -```sh -ARCH=$(uname -m) -case "${ARCH}" in - x86_64 | x64 | amd64) XUI_ARCH="amd64" ;; - i*86 | x86) XUI_ARCH="386" ;; - armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;; - armv7* | armv7) XUI_ARCH="armv7" ;; - armv6* | armv6) XUI_ARCH="armv6" ;; - armv5* | armv5) XUI_ARCH="armv5" ;; - *) XUI_ARCH="amd64" ;; -esac - -cd /root/ -rm -rf x-ui/ /usr/local/x-ui/ /usr/bin/x-ui -tar zxvf x-ui-linux-${XUI_ARCH}.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 -``` - -
- -## 通过Docker安装 - -
- 点击查看 通过Docker安装 - -#### 使用 - -1. 安装Docker: - - ```sh - bash <(curl -sSL https://get.docker.com) - ``` - -2. 克隆仓库: - - ```sh - git clone https://github.com/MHSanaei/3x-ui.git - cd 3x-ui - ``` - -3. 运行服务: - - ```sh - docker compose up -d - ``` - - 或 - - ```sh - docker run -itd \ - -e XRAY_VMESS_AEAD_FORCED=false \ - -v $PWD/db/:/etc/x-ui/ \ - -v $PWD/cert/:/root/cert/ \ - --network=host \ - --restart=unless-stopped \ - --name 3x-ui \ - ghcr.io/mhsanaei/3x-ui:latest - ``` - -更新至最新版本 - - ```sh - cd 3x-ui - docker compose down - docker compose pull 3x-ui - docker compose up -d - ``` - -从Docker中删除3x-ui - - ```sh - docker stop 3x-ui - docker rm 3x-ui - cd -- - rm -r 3x-ui - ``` - -
- - -## 建议使用的操作系统 - -- Ubuntu 20.04+ -- Debian 11+ -- CentOS 8+ -- Fedora 36+ -- Arch Linux -- Manjaro -- Armbian -- AlmaLinux 9+ -- Rockylinux 9+ -- OpenSUSE Tubleweed - -## 支持的架构和设备 -
- 点击查看 支持的架构和设备 - -我们的平台提供与各种架构和设备的兼容性,确保在各种计算环境中的灵活性。以下是我们支持的关键架构: - -- **amd64**: 这种流行的架构是个人计算机和服务器的标准,可以无缝地适应大多数现代操作系统。 - -- **x86 / i386**: 这种架构在台式机和笔记本电脑中被广泛采用,得到了众多操作系统和应用程序的广泛支持,包括但不限于 Windows、macOS 和 Linux 系统。 - -- **armv8 / arm64 / aarch64**: 这种架构专为智能手机和平板电脑等当代移动和嵌入式设备量身定制,以 Raspberry Pi 4、Raspberry Pi 3、Raspberry Pi Zero 2/Zero 2 W、Orange Pi 3 LTS 等设备为例。 - -- **armv7 / arm / arm32**: 作为较旧的移动和嵌入式设备的架构,它仍然广泛用于Orange Pi Zero LTS、Orange Pi PC Plus、Raspberry Pi 2等设备。 - -- **armv6 / arm / arm32**: 这种架构面向非常老旧的嵌入式设备,虽然不太普遍,但仍在使用中。Raspberry Pi 1、Raspberry Pi Zero/Zero W 等设备都依赖于这种架构。 - -- **armv5 / arm / arm32**: 它是一种主要与早期嵌入式系统相关的旧架构,目前不太常见,但仍可能出现在早期 Raspberry Pi 版本和一些旧智能手机等传统设备中。 -
- -## Languages - -- English(英语) -- Farsi(伊朗语) -- Chinese(中文) -- Russian(俄语) -- Vietnamese(越南语) -- Spanish(西班牙语) -- Indonesian (印度尼西亚语) -- Ukrainian(乌克兰语) - - -## Features - -- 系统状态监控 -- 在所有入站和客户端中搜索 -- 深色/浅色主题 -- 支持多用户和多协议 -- 支持多种协议,包括 VMess、VLESS、Trojan、Shadowsocks、Dokodemo-door、Socks、HTTP、wireguard -- 支持 XTLS 原生协议,包括 RPRX-Direct、Vision、REALITY -- 流量统计、流量限制、过期时间限制 -- 可自定义的 Xray配置模板 -- 支持HTTPS访问面板(自建域名+SSL证书) -- 支持一键式SSL证书申请和自动续费 -- 更多高级配置项目请参考面板 -- 修复了 API 路由(用户设置将使用 API 创建) -- 支持通过面板中提供的不同项目更改配置。 -- 支持从面板导出/导入数据库 - - -## 默认设置 - -
- 点击查看 默认设置 - - ### 信息 - -- **端口:** 2053 -- **用户名 & 密码:** 当您跳过设置时,此项会随机生成。 -- **数据库路径:** - - /etc/x-ui/x-ui.db -- **Xray 配置路径:** - - /usr/local/x-ui/bin/config.json -- **面板链接(无SSL):** - - http://ip:2053/panel - - http://domain:2053/panel -- **面板链接(有SSL):** - - https://domain:2053/panel - -
- -## WARP 配置 - -
- 点击查看 WARP 配置 - -#### 使用 - -如果要在 v2.1.0 之前使用 WARP 路由,请按照以下步骤操作: - -**1.** 在 **SOCKS Proxy Mode** 模式中安装Wrap - - ```sh - bash <(curl -sSL https://raw.githubusercontent.com/hamid-gh98/x-ui-scripts/main/install_warp_proxy.sh) - ``` - -**2.** 如果您已经安装了 warp,您可以使用以下命令卸载: - - ```sh - warp u - ``` - -**3.** 在面板中打开您需要的配置 - - 配置: - - - Block Ads - - Route Google + Netflix + Spotify + OpenAI (ChatGPT) to WARP - - Fix Google 403 error - -
- -## IP 限制 - -
- 点击查看 IP 限制 - -#### 使用 - -**注意:** 使用 IP 隧道时,IP 限制无法正常工作。 - -- 适用于最高 `v1.6.1` : - - - IP 限制 已被集成在面板中。 - -- 适用于 `v1.7.0` 以及更新的版本: - - - 要使 IP 限制正常工作,您需要按照以下步骤安装 fail2ban 及其所需的文件: - - 1. 使用面板内置的 `x-ui` 指令 - 2. 选择 `IP Limit Management`. - 3. 根据您的需要选择合适的选项。 - - - 确保您的 Xray 配置上有 ./access.log 。在 v2.1.3 之后,我们有一个选项。 - - ```sh - "log": { - "access": "./access.log", - "dnsLog": false, - "loglevel": "warning" - }, - ``` - -
- -## Telegram 机器人 - -
- 点击查看 Telegram 机器人 - -#### 使用 - -Web 面板通过 Telegram Bot 支持每日流量、面板登录、数据库备份、系统状态、客户端信息等通知和功能。要使用机器人,您需要在面板中设置机器人相关参数,包括: - -- 电报令牌 -- 管理员聊天 ID -- 通知时间(cron 语法) -- 到期日期通知 -- 流量上限通知 -- 数据库备份 -- CPU 负载通知 - - -**参考:** - -- `30 \* \* \* \* \*` - 在每个点的 30 秒处通知 -- `0 \*/10 \* \* \* \*` - 每 10 分钟的第一秒通知 -- `@hourly` - 每小时通知 -- `@daily` - 每天通知 (00:00) -- `@weekly` - 每周通知 -- `@every 8h` - 每8小时通知 - -### Telegram Bot 功能 - -- 定期报告 -- 登录通知 -- CPU 阈值通知 -- 提前报告的过期时间和流量阈值 -- 如果将客户的电报用户名添加到用户的配置中,则支持客户端报告菜单 -- 支持使用UUID(VMESS/VLESS)或密码(TROJAN)搜索报文流量报告 - 匿名 -- 基于菜单的机器人 -- 通过电子邮件搜索客户端(仅限管理员) -- 检查所有入库 -- 检查服务器状态 -- 检查耗尽的用户 -- 根据请求和定期报告接收备份 -- 多语言机器人 - -### 注册 Telegram bot - -- 与 [Botfather](https://t.me/BotFather) 对话: - ![Botfather](./media/botfather.png) - -- 使用 /newbot 创建新机器人:你需要提供机器人名称以及用户名,注意名称中末尾要包含“bot” - ![创建机器人](./media/newbot.png) - -- 启动您刚刚创建的机器人。可以在此处找到机器人的链接。 - ![令牌](./media/token.png) - -- 输入您的面板并配置 Telegram 机器人设置,如下所示: - ![面板设置](./media/panel-bot-config.png) - -在输入字段编号 3 中输入机器人令牌。 -在输入字段编号 4 中输入用户 ID。具有此 id 的 Telegram 帐户将是机器人管理员。 (您可以输入多个,只需将它们用“ ,”分开即可) - -- 如何获取TG ID? 使用 [bot](https://t.me/useridinfobot), 启动机器人,它会给你 Telegram 用户 ID。 -![用户 ID](./media/user-id.png) - -
- -## API 路由 - -
- 点击查看 API 路由 - -#### 使用 - -- `/login` 使用 `POST` 用户名称 & 密码: `{username: '', password: ''}` 登录 -- `/panel/api/inbounds` 以下操作的基础: - -| 方法 | 路径 | 操作 | -| :----: | ---------------------------------- | --------------------------------- | -| `GET` | `"/list"` | 获取所有入站 | -| `GET` | `"/get/:id"` | 获取所有入站以及inbound.id | -| `GET` | `"/getClientTraffics/:email"` | 通过电子邮件获取客户端流量 | -| `GET` | `"/createbackup"` | Telegram 机器人向管理员发送备份 | -| `POST` | `"/add"` | 添加入站 | -| `POST` | `"/del/:id"` | 删除入站 | -| `POST` | `"/update/:id"` | 更新入站 | -| `POST` | `"/clientIps/:email"` | 客户端 IP 地址 | -| `POST` | `"/clearClientIps/:email"` | 清除客户端 IP 地址 | -| `POST` | `"/addClient"` | 将客户端添加到入站 | -| `POST` | `"/:id/delClient/:clientId"` | 通过 clientId\* 删除客户端 | -| `POST` | `"/updateClient/:clientId"` | 通过 clientId\* 更新客户端 | -| `POST` | `"/:id/resetClientTraffic/:email"` | 重置客户端的流量 | -| `POST` | `"/resetAllTraffics"` | 重置所有入站的流量 | -| `POST` | `"/resetAllClientTraffics/:id"` | 重置入站中所有客户端的流量 | -| `POST` | `"/delDepletedClients/:id"` | 删除入站耗尽的客户端 (-1: all) | -| `POST` | `"/onlines"` | 获取在线用户 ( 电子邮件列表 ) | - -\*- `clientId` 项应该使用下列数据 - -- `client.id` VMESS and VLESS -- `client.password` TROJAN -- `client.email` Shadowsocks - - -- [API 文档](https://documenter.getpostman.com/view/16802678/2s9YkgD5jm) -- [Run In Postman](https://app.getpostman.com/run-collection/16802678-1a4c9270-ac77-40ed-959a-7aa56dc4a415?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D16802678-1a4c9270-ac77-40ed-959a-7aa56dc4a415%26entityType%3Dcollection%26workspaceId%3D2cd38c01-c851-4a15-a972-f181c23359d9) -
- -## 环境变量 - -
- 点击查看 环境变量 - -#### Usage - -| 变量 | Type | 默认 | -| -------------- | :--------------------------------------------: | :------------ | -| XUI_LOG_LEVEL | `"debug"` \| `"info"` \| `"warn"` \| `"error"` | `"info"` | -| XUI_DEBUG | `boolean` | `false` | -| XUI_BIN_FOLDER | `string` | `"bin"` | -| XUI_DB_FOLDER | `string` | `"/etc/x-ui"` | -| XUI_LOG_FOLDER | `string` | `"/var/log"` | - -例子: - -```sh -XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go -``` - -
- -## 预览 - -![1](./media/1.png) -![2](./media/2.png) -![3](./media/3.png) -![4](./media/4.png) -![5](./media/5.png) -![6](./media/6.png) -![7](./media/7.png) - -## 特别感谢 - -- [alireza0](https://github.com/alireza0/) - -## 致谢 - -- [Iran v2ray rules](https://github.com/chocolate4u/Iran-v2ray-rules) (License: **GPL-3.0**): _Enhanced v2ray/xray and v2ray/xray-clients routing rules with built-in Iranian domains and a focus on security and adblocking._ -- [Vietnam Adblock rules](https://github.com/vuong2023/vn-v2ray-rules) (License: **GPL-3.0**): _A hosted domain hosted in Vietnam and blocklist with the most efficiency for Vietnamese._ - -## Star趋势 - -[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg)](https://starchart.cc/MHSanaei/3x-ui) diff --git a/README.zh_Hans.md b/README.zh_Hans.md new file mode 100644 index 00000000..f00970dc --- /dev/null +++ b/README.zh_Hans.md @@ -0,0 +1,478 @@ +[English](/README.md) | [汉语](/README.zh_Hans.md) | [Español](/README.es_ES.md) | [Русский](/README.ru_RU.md) + +

Image

+ +**一个更好的面板 • 基于Xray Core构建** + +[![](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg)](https://github.com/MHSanaei/3x-ui/releases) +[![](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg)](#) +[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg)](#) +[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg)](#) +[![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html) + +> **Disclaimer:** 此项目仅供个人学习交流,请不要用于非法目的,请不要在生产环境中使用。 + +**如果此项目对你有用,请给一个**:star2: + +

+ + Image + +

+ +- USDT (TRC20): `TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC` +- MATIC (polygon): `0x41C9548675D044c6Bfb425786C765bc37427256A` +- LTC (Litecoin): `ltc1q2ach7x6d2zq0n4l0t4zl7d7xe2s6fs7a3vspwv` + +## 安装 & 升级 + +``` +bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) +``` + +## 安装指定版本 + +要安装所需的版本,请将该版本添加到安装命令的末尾。 e.g., ver `v2.3.13`: + +``` +bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) v2.3.13 +``` + +## SSL 认证 + +
+ 点击查看 SSL 认证 + +### Cloudflare + +管理脚本具有用于 Cloudflare 的内置 SSL 证书应用程序。若要使用此脚本申请证书,需要满足以下条件: + +- Cloudflare 邮箱地址 +- Cloudflare Global API Key +- 域名已通过 cloudflare 解析到当前服务器 + +**1:** 在终端中运行`x-ui`, 选择 `Cloudflare SSL Certificate`. + + +### Certbot +``` +apt-get install certbot -y +certbot certonly --standalone --agree-tos --register-unsafely-without-email -d yourdomain.com +certbot renew --dry-run +``` + +***Tip:*** *管理脚本具有 Certbot 。使用 `x-ui` 命令, 选择 `SSL Certificate Management`.* + +
+ +## 手动安装 & 升级 + +
+ 点击查看 手动安装 & 升级 + +#### 使用 + +1. 若要将最新版本的压缩包直接下载到服务器,请运行以下命令: + +```sh +ARCH=$(uname -m) +case "${ARCH}" in + x86_64 | x64 | amd64) XUI_ARCH="amd64" ;; + i*86 | x86) XUI_ARCH="386" ;; + armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;; + armv7* | armv7) XUI_ARCH="armv7" ;; + armv6* | armv6) XUI_ARCH="armv6" ;; + armv5* | armv5) XUI_ARCH="armv5" ;; + *) XUI_ARCH="amd64" ;; +esac + + +wget https://github.com/MHSanaei/3x-ui/releases/latest/download/x-ui-linux-${XUI_ARCH}.tar.gz +``` + +2. 下载压缩包后,执行以下命令安装或升级 x-ui: + +```sh +ARCH=$(uname -m) +case "${ARCH}" in + x86_64 | x64 | amd64) XUI_ARCH="amd64" ;; + i*86 | x86) XUI_ARCH="386" ;; + armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;; + armv7* | armv7) XUI_ARCH="armv7" ;; + armv6* | armv6) XUI_ARCH="armv6" ;; + armv5* | armv5) XUI_ARCH="armv5" ;; + *) XUI_ARCH="amd64" ;; +esac + +cd /root/ +rm -rf x-ui/ /usr/local/x-ui/ /usr/bin/x-ui +tar zxvf x-ui-linux-${XUI_ARCH}.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 +``` + +
+ +## 通过Docker安装 + +
+ 点击查看 通过Docker安装 + +#### 使用 + +1. 安装Docker: + + ```sh + bash <(curl -sSL https://get.docker.com) + ``` + +2. 克隆仓库: + + ```sh + git clone https://github.com/MHSanaei/3x-ui.git + cd 3x-ui + ``` + +3. 运行服务: + + ```sh + docker compose up -d + ``` + + 或 + + ```sh + docker run -itd \ + -e XRAY_VMESS_AEAD_FORCED=false \ + -v $PWD/db/:/etc/x-ui/ \ + -v $PWD/cert/:/root/cert/ \ + --network=host \ + --restart=unless-stopped \ + --name 3x-ui \ + ghcr.io/mhsanaei/3x-ui:latest + ``` + +更新至最新版本 + + ```sh + cd 3x-ui + docker compose down + docker compose pull 3x-ui + docker compose up -d + ``` + +从Docker中删除3x-ui + + ```sh + docker stop 3x-ui + docker rm 3x-ui + cd -- + rm -r 3x-ui + ``` + +
+ + +## 建议使用的操作系统 + +- Ubuntu 20.04+ +- Debian 11+ +- CentOS 8+ +- Fedora 36+ +- Arch Linux +- Manjaro +- Armbian +- AlmaLinux 9+ +- Rockylinux 9+ +- OpenSUSE Tubleweed + +## 支持的架构和设备 +
+ 点击查看 支持的架构和设备 + +我们的平台提供与各种架构和设备的兼容性,确保在各种计算环境中的灵活性。以下是我们支持的关键架构: + +- **amd64**: 这种流行的架构是个人计算机和服务器的标准,可以无缝地适应大多数现代操作系统。 + +- **x86 / i386**: 这种架构在台式机和笔记本电脑中被广泛采用,得到了众多操作系统和应用程序的广泛支持,包括但不限于 Windows、macOS 和 Linux 系统。 + +- **armv8 / arm64 / aarch64**: 这种架构专为智能手机和平板电脑等当代移动和嵌入式设备量身定制,以 Raspberry Pi 4、Raspberry Pi 3、Raspberry Pi Zero 2/Zero 2 W、Orange Pi 3 LTS 等设备为例。 + +- **armv7 / arm / arm32**: 作为较旧的移动和嵌入式设备的架构,它仍然广泛用于Orange Pi Zero LTS、Orange Pi PC Plus、Raspberry Pi 2等设备。 + +- **armv6 / arm / arm32**: 这种架构面向非常老旧的嵌入式设备,虽然不太普遍,但仍在使用中。Raspberry Pi 1、Raspberry Pi Zero/Zero W 等设备都依赖于这种架构。 + +- **armv5 / arm / arm32**: 它是一种主要与早期嵌入式系统相关的旧架构,目前不太常见,但仍可能出现在早期 Raspberry Pi 版本和一些旧智能手机等传统设备中。 +
+ +## Languages + +- English(英语) +- Farsi(伊朗语) +- Chinese(中文) +- Russian(俄语) +- Vietnamese(越南语) +- Spanish(西班牙语) +- Indonesian (印度尼西亚语) +- Ukrainian(乌克兰语) + + +## Features + +- 系统状态监控 +- 在所有入站和客户端中搜索 +- 深色/浅色主题 +- 支持多用户和多协议 +- 支持多种协议,包括 VMess、VLESS、Trojan、Shadowsocks、Dokodemo-door、Socks、HTTP、wireguard +- 支持 XTLS 原生协议,包括 RPRX-Direct、Vision、REALITY +- 流量统计、流量限制、过期时间限制 +- 可自定义的 Xray配置模板 +- 支持HTTPS访问面板(自建域名+SSL证书) +- 支持一键式SSL证书申请和自动续费 +- 更多高级配置项目请参考面板 +- 修复了 API 路由(用户设置将使用 API 创建) +- 支持通过面板中提供的不同项目更改配置。 +- 支持从面板导出/导入数据库 + + +## 默认设置 + +
+ 点击查看 默认设置 + + ### 信息 + +- **端口:** 2053 +- **用户名 & 密码:** 当您跳过设置时,此项会随机生成。 +- **数据库路径:** + - /etc/x-ui/x-ui.db +- **Xray 配置路径:** + - /usr/local/x-ui/bin/config.json +- **面板链接(无SSL):** + - http://ip:2053/panel + - http://domain:2053/panel +- **面板链接(有SSL):** + - https://domain:2053/panel + +
+ +## WARP 配置 + +
+ 点击查看 WARP 配置 + +#### 使用 + +如果要在 v2.1.0 之前使用 WARP 路由,请按照以下步骤操作: + +**1.** 在 **SOCKS Proxy Mode** 模式中安装Wrap + + ```sh + bash <(curl -sSL https://raw.githubusercontent.com/hamid-gh98/x-ui-scripts/main/install_warp_proxy.sh) + ``` + +**2.** 如果您已经安装了 warp,您可以使用以下命令卸载: + + ```sh + warp u + ``` + +**3.** 在面板中打开您需要的配置 + + 配置: + + - Block Ads + - Route Google + Netflix + Spotify + OpenAI (ChatGPT) to WARP + - Fix Google 403 error + +
+ +## IP 限制 + +
+ 点击查看 IP 限制 + +#### 使用 + +**注意:** 使用 IP 隧道时,IP 限制无法正常工作。 + +- 适用于最高 `v1.6.1` : + + - IP 限制 已被集成在面板中。 + +- 适用于 `v1.7.0` 以及更新的版本: + + - 要使 IP 限制正常工作,您需要按照以下步骤安装 fail2ban 及其所需的文件: + + 1. 使用面板内置的 `x-ui` 指令 + 2. 选择 `IP Limit Management`. + 3. 根据您的需要选择合适的选项。 + + - 确保您的 Xray 配置上有 ./access.log 。在 v2.1.3 之后,我们有一个选项。 + + ```sh + "log": { + "access": "./access.log", + "dnsLog": false, + "loglevel": "warning" + }, + ``` + +
+ +## Telegram 机器人 + +
+ 点击查看 Telegram 机器人 + +#### 使用 + +Web 面板通过 Telegram Bot 支持每日流量、面板登录、数据库备份、系统状态、客户端信息等通知和功能。要使用机器人,您需要在面板中设置机器人相关参数,包括: + +- 电报令牌 +- 管理员聊天 ID +- 通知时间(cron 语法) +- 到期日期通知 +- 流量上限通知 +- 数据库备份 +- CPU 负载通知 + + +**参考:** + +- `30 \* \* \* \* \*` - 在每个点的 30 秒处通知 +- `0 \*/10 \* \* \* \*` - 每 10 分钟的第一秒通知 +- `@hourly` - 每小时通知 +- `@daily` - 每天通知 (00:00) +- `@weekly` - 每周通知 +- `@every 8h` - 每8小时通知 + +### Telegram Bot 功能 + +- 定期报告 +- 登录通知 +- CPU 阈值通知 +- 提前报告的过期时间和流量阈值 +- 如果将客户的电报用户名添加到用户的配置中,则支持客户端报告菜单 +- 支持使用UUID(VMESS/VLESS)或密码(TROJAN)搜索报文流量报告 - 匿名 +- 基于菜单的机器人 +- 通过电子邮件搜索客户端(仅限管理员) +- 检查所有入库 +- 检查服务器状态 +- 检查耗尽的用户 +- 根据请求和定期报告接收备份 +- 多语言机器人 + +### 注册 Telegram bot + +- 与 [Botfather](https://t.me/BotFather) 对话: + ![Botfather](./media/botfather.png) + +- 使用 /newbot 创建新机器人:你需要提供机器人名称以及用户名,注意名称中末尾要包含“bot” + ![创建机器人](./media/newbot.png) + +- 启动您刚刚创建的机器人。可以在此处找到机器人的链接。 + ![令牌](./media/token.png) + +- 输入您的面板并配置 Telegram 机器人设置,如下所示: + ![面板设置](./media/panel-bot-config.png) + +在输入字段编号 3 中输入机器人令牌。 +在输入字段编号 4 中输入用户 ID。具有此 id 的 Telegram 帐户将是机器人管理员。 (您可以输入多个,只需将它们用“ ,”分开即可) + +- 如何获取TG ID? 使用 [bot](https://t.me/useridinfobot), 启动机器人,它会给你 Telegram 用户 ID。 +![用户 ID](./media/user-id.png) + +
+ +## API 路由 + +
+ 点击查看 API 路由 + +#### 使用 + +- `/login` 使用 `POST` 用户名称 & 密码: `{username: '', password: ''}` 登录 +- `/panel/api/inbounds` 以下操作的基础: + +| 方法 | 路径 | 操作 | +| :----: | ---------------------------------- | --------------------------------- | +| `GET` | `"/list"` | 获取所有入站 | +| `GET` | `"/get/:id"` | 获取所有入站以及inbound.id | +| `GET` | `"/getClientTraffics/:email"` | 通过电子邮件获取客户端流量 | +| `GET` | `"/createbackup"` | Telegram 机器人向管理员发送备份 | +| `POST` | `"/add"` | 添加入站 | +| `POST` | `"/del/:id"` | 删除入站 | +| `POST` | `"/update/:id"` | 更新入站 | +| `POST` | `"/clientIps/:email"` | 客户端 IP 地址 | +| `POST` | `"/clearClientIps/:email"` | 清除客户端 IP 地址 | +| `POST` | `"/addClient"` | 将客户端添加到入站 | +| `POST` | `"/:id/delClient/:clientId"` | 通过 clientId\* 删除客户端 | +| `POST` | `"/updateClient/:clientId"` | 通过 clientId\* 更新客户端 | +| `POST` | `"/:id/resetClientTraffic/:email"` | 重置客户端的流量 | +| `POST` | `"/resetAllTraffics"` | 重置所有入站的流量 | +| `POST` | `"/resetAllClientTraffics/:id"` | 重置入站中所有客户端的流量 | +| `POST` | `"/delDepletedClients/:id"` | 删除入站耗尽的客户端 (-1: all) | +| `POST` | `"/onlines"` | 获取在线用户 ( 电子邮件列表 ) | + +\*- `clientId` 项应该使用下列数据 + +- `client.id` VMESS and VLESS +- `client.password` TROJAN +- `client.email` Shadowsocks + + +- [API 文档](https://documenter.getpostman.com/view/16802678/2s9YkgD5jm) +- [Run In Postman](https://app.getpostman.com/run-collection/16802678-1a4c9270-ac77-40ed-959a-7aa56dc4a415?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D16802678-1a4c9270-ac77-40ed-959a-7aa56dc4a415%26entityType%3Dcollection%26workspaceId%3D2cd38c01-c851-4a15-a972-f181c23359d9) +
+ +## 环境变量 + +
+ 点击查看 环境变量 + +#### Usage + +| 变量 | Type | 默认 | +| -------------- | :--------------------------------------------: | :------------ | +| XUI_LOG_LEVEL | `"debug"` \| `"info"` \| `"warn"` \| `"error"` | `"info"` | +| XUI_DEBUG | `boolean` | `false` | +| XUI_BIN_FOLDER | `string` | `"bin"` | +| XUI_DB_FOLDER | `string` | `"/etc/x-ui"` | +| XUI_LOG_FOLDER | `string` | `"/var/log"` | + +例子: + +```sh +XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go +``` + +
+ +## 预览 + +![1](./media/1.png) +![2](./media/2.png) +![3](./media/3.png) +![4](./media/4.png) +![5](./media/5.png) +![6](./media/6.png) +![7](./media/7.png) + +## 特别感谢 + +- [alireza0](https://github.com/alireza0/) + +## 致谢 + +- [Iran v2ray rules](https://github.com/chocolate4u/Iran-v2ray-rules) (License: **GPL-3.0**): _Enhanced v2ray/xray and v2ray/xray-clients routing rules with built-in Iranian domains and a focus on security and adblocking._ +- [Vietnam Adblock rules](https://github.com/vuong2023/vn-v2ray-rules) (License: **GPL-3.0**): _A hosted domain hosted in Vietnam and blocklist with the most efficiency for Vietnamese._ + +## Star趋势 + +[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg)](https://starchart.cc/MHSanaei/3x-ui) -- cgit v1.2.3