{"id":22202907,"url":"https://github.com/localzet/x-ui","last_synced_at":"2025-07-27T05:31:54.245Z","repository":{"id":257893770,"uuid":"861438864","full_name":"localzet/X-UI","owner":"localzet","description":" X-UI is a lightweight, user-friendly web panel designed for managing Xray configurations. Ideal for personal use, it streamlines the process of managing server configurations, making it accessible for everyone.","archived":false,"fork":false,"pushed_at":"2024-11-10T21:16:21.000Z","size":5211,"stargazers_count":2,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-24T20:10:55.046Z","etag":null,"topics":["admin","panel","web","xray","xray-core"],"latest_commit_sha":null,"homepage":"https://localzet.github.io/X-UI/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/localzet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["localzet"]}},"created_at":"2024-09-22T22:13:26.000Z","updated_at":"2024-11-10T21:16:24.000Z","dependencies_parsed_at":"2024-11-07T10:25:48.076Z","dependency_job_id":"f910f538-fd5c-4ffb-9b04-efdd49e81e0d","html_url":"https://github.com/localzet/X-UI","commit_stats":null,"previous_names":["localzet/x-ui"],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localzet%2FX-UI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localzet%2FX-UI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localzet%2FX-UI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localzet%2FX-UI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/localzet","download_url":"https://codeload.github.com/localzet/X-UI/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227763328,"owners_count":17816165,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin","panel","web","xray","xray-core"],"created_at":"2024-12-02T16:38:51.032Z","updated_at":"2025-07-27T05:31:54.238Z","avatar_url":"https://github.com/localzet.png","language":"JavaScript","funding_links":["https://github.com/sponsors/localzet"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003ca href=\"#\"\u003e\u003cimg src=\"https://static.zorin.space/assets/media/logos/ZorinProjectsSP.svg\" alt=\"Image\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n**Продвинутая веб-панель • Построена на основе Xray Core**\n\n[![](https://img.shields.io/github/v/release/localzet/x-ui.svg)](https://github.com/localzet/x-ui/releases)\n[![](https://img.shields.io/github/actions/workflow/status/localzet/x-ui/release.yml.svg)](#)\n[![](https://img.shields.io/github/go-mod/go-version/localzet/x-ui.svg)](#)\n[![](https://img.shields.io/github/downloads/localzet/x-ui/total.svg)](#)\n[![](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html)\n\n\u003e **Отказ от ответственности:** Этот проект предназначен только для личных исследований. Пожалуйста, не используйте его в незаконных целях и не применяйте в производственной среде.\n\n**Если этот проект оказался полезным для вас, вы можете оценить его, поставив звёздочку** :star2:\n\n## Установка и обновление\n\n```\nbash \u003c(curl -Ls https://raw.githubusercontent.com/localzet/x-ui/master/install.sh)\n```\n\n## SSL Сертификат\n\n\u003cdetails\u003e\n  \u003csummary\u003eНажмите для получения информации об SSL сертификате\u003c/summary\u003e\n\n### ACME\n\nДля управления SSL сертификатами с помощью ACME:\n\n1. Убедитесь, что ваш домен правильно настроен и указывает на сервер.\n2. Выполните команду `x-ui` в терминале, затем выберите `SSL Certificate Management`.\n3. Вам будут предложены следующие опции:\n\n    - **Get SSL:** Получить SSL сертификаты.\n    - **Revoke:** Отозвать существующие SSL сертификаты.\n    - **Force Renew:** Принудительно перевыпустить SSL сертификаты.\n    - **Show Existing Domains:** Отобразить все сертификаты доменов, доступные на сервере.\n    - **Set Certificate Paths for the Panel:** Укажите сертификат для вашего домена, который будет использоваться панелью.\n\n\n### Certbot\n\nДля установки и использования Certbot:\n\n```sh\napt-get install certbot -y\ncertbot certonly --standalone --agree-tos --register-unsafely-without-email -d вашдомен.com\ncertbot renew --dry-run\n```\n\n### Cloudflare\n\nСкрипт управления включает встроенное приложение для получения SSL сертификата через Cloudflare. Чтобы использовать этот скрипт для запроса сертификата, вам потребуется следующее:\n\n- Email, зарегистрированный в Cloudflare\n- Глобальный API-ключ Cloudflare\n- Доменное имя должно указывать на текущий сервер через Cloudflare\n\n**Как получить глобальный API-ключ Cloudflare:**\n\n1. Выполните команду `x-ui` в терминале, затем выберите `Cloudflare SSL Certificate`.\n2. Перейдите по ссылке: [Cloudflare API Tokens](https://dash.cloudflare.com/profile/api-tokens).\n3. Нажмите на \"View Global API Key\" (см. скриншот ниже):\n   ![](media/APIKey1.PNG)\n4. Возможно, вам потребуется повторно пройти аутентификацию. После этого ключ API будет отображён (см. скриншот ниже):\n   ![](media/APIKey2.png)\n\nПри использовании просто введите ваше `доменное имя`, `email` и `API-ключ`. Схема приведена ниже:\n![](media/DetailEnter.png)\n\n\u003c/details\u003e\n\n## Ручная установка и обновление\n\n\u003cdetails\u003e\n  \u003csummary\u003eНажмите для получения информации о ручной установке\u003c/summary\u003e\n\n#### Использование\n\n1. Чтобы скачать последнюю версию архива напрямую на ваш сервер, выполните следующую команду:\n\n```sh\nARCH=$(uname -m)\ncase \"${ARCH}\" in\n  x86_64 | x64 | amd64) XUI_ARCH=\"amd64\" ;;\n  i*86 | x86) XUI_ARCH=\"386\" ;;\n  armv8* | armv8 | arm64 | aarch64) XUI_ARCH=\"arm64\" ;;\n  armv7* | armv7) XUI_ARCH=\"armv7\" ;;\n  armv6* | armv6) XUI_ARCH=\"armv6\" ;;\n  armv5* | armv5) XUI_ARCH=\"armv5\" ;;\n  s390x) echo 's390x' ;;\n  *) XUI_ARCH=\"amd64\" ;;\nesac\n\n\nwget https://github.com/localzet/x-ui/releases/latest/download/x-ui-linux-${XUI_ARCH}.tar.gz\n```\n\n2. После загрузки архива выполните следующие команды для установки или обновления x-ui:\n\n```sh\nARCH=$(uname -m)\ncase \"${ARCH}\" in\n  x86_64 | x64 | amd64) XUI_ARCH=\"amd64\" ;;\n  i*86 | x86) XUI_ARCH=\"386\" ;;\n  armv8* | armv8 | arm64 | aarch64) XUI_ARCH=\"arm64\" ;;\n  armv7* | armv7) XUI_ARCH=\"armv7\" ;;\n  armv6* | armv6) XUI_ARCH=\"armv6\" ;;\n  armv5* | armv5) XUI_ARCH=\"armv5\" ;;\n  s390x) echo 's390x' ;;\n  *) XUI_ARCH=\"amd64\" ;;\nesac\n\ncd /root/\nrm -rf x-ui/ /usr/local/x-ui/ /usr/bin/x-ui\ntar zxvf x-ui-linux-${XUI_ARCH}.tar.gz\nchmod +x x-ui/x-ui x-ui/bin/xray-linux-* x-ui/x-ui.sh\ncp x-ui/x-ui.sh /usr/bin/x-ui\ncp -f x-ui/x-ui.service /etc/systemd/system/\nmv x-ui/ /usr/local/\nsystemctl daemon-reload\nsystemctl enable x-ui\nsystemctl restart x-ui\n```\n\n\u003c/details\u003e\n\n## Установка с помощью Docker\n\n\u003cdetails\u003e\n  \u003csummary\u003eНажмите для получения информации о Docker\u003c/summary\u003e\n\n#### Использование\n\n1. **Установите Docker:**\n\n   ```sh\n   bash \u003c(curl -sSL https://get.docker.com)\n   ```\n\n2. **Склонируйте репозиторий проекта:**\n\n   ```sh\n   git clone https://github.com/localzet/x-ui.git\n   cd x-ui\n   ```\n\n3. **Запустите сервис:**\n\n   ```sh\n   docker compose up -d\n   ```\n\nДобавьте параметр ```--pull always``` для автоматического обновления контейнера, когда публикуется новый образ. Подробности: https://docs.docker.com/reference/cli/docker/container/run/#pull\n\n**ИЛИ**\n\n   ```sh\n   docker run -itd \\\n      -e XRAY_VMESS_AEAD_FORCED=false \\\n      -v $PWD/db/:/etc/x-ui/ \\\n      -v $PWD/cert/:/root/cert/ \\\n      --network=host \\\n      --restart=unless-stopped \\\n      --name x-ui \\\n      ghcr.io/localzet/x-ui:latest\n   ```\n\n4. **Обновление до последней версии:**\n\n   ```sh\n   cd x-ui\n   docker compose down\n   docker compose pull x-ui\n   docker compose up -d\n   ```\n\n5. **Удаление x-ui из Docker:**\n\n   ```sh\n   docker stop x-ui\n   docker rm x-ui\n   cd --\n   rm -r x-ui\n   ```\n\n\u003c/details\u003e\n\n## Настройки Nginx\n\u003cdetails\u003e\n  \u003csummary\u003eНажмите чтобы просмотреть конфигурацию обратного прокси-сервера\u003c/summary\u003e\n\n#### Обратный прокси-сервер Nginx\n```nginx\nlocation / {\n    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    proxy_set_header X-Forwarded-Proto $scheme;\n    proxy_set_header Host $http_host;\n    proxy_set_header X-Real-IP $remote_addr;\n    proxy_set_header Range $http_range;\n    proxy_set_header If-Range $http_if_range; \n    proxy_redirect off;\n    proxy_pass http://127.0.0.1:2053;\n}\n```\n\n#### Nginx sub-path\n- Убедитесь, что \"корневой путь URL адреса панели\" в настройках панели и `/sub` совпадают.\n- В настройках панели `url` должен заканчиваться на `/`.\n\n```nginx\nlocation /sub {\n    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    proxy_set_header X-Forwarded-Proto $scheme;\n    proxy_set_header Host $http_host;\n    proxy_set_header X-Real-IP $remote_addr;\n    proxy_set_header Range $http_range;\n    proxy_set_header If-Range $http_if_range; \n    proxy_redirect off;\n    proxy_pass http://127.0.0.1:2096;\n}\n```\n\u003c/details\u003e\n\n## Рекомендуемые ОС\n\n- Ubuntu 20.04+\n- Debian 11+\n- CentOS 8+\n- Fedora 36+\n- Arch Linux\n- Parch Linux\n- Manjaro\n- Armbian\n- AlmaLinux 9+\n- Rocky Linux 9+\n- Oracle Linux 8+\n- OpenSUSE Tubleweed\n- Amazon Linux 2023\n- Windows x64\n\n## Поддерживаемые архитектуры и устройства\n\n\u003cdetails\u003e\n  \u003csummary\u003eНажмите для получения информации о поддерживаемых архитектурах и устройствах\u003c/summary\u003e\n\nНаша платформа поддерживает разнообразные архитектуры и устройства, обеспечивая гибкость в различных вычислительных средах. Вот основные архитектуры, которые мы поддерживаем:\n\n- **amd64**: Эта распространенная архитектура является стандартом для персональных компьютеров и серверов, обеспечивая беспроблемную работу большинства современных операционных систем.\n\n- **x86 / i386**: Широко используется в настольных и портативных компьютерах. Эта архитектура имеет широкую поддержку со стороны множества операционных систем и приложений, включая, но не ограничиваясь, Windows, macOS и Linux.\n\n- **armv8 / arm64 / aarch64**: Предназначена для современных мобильных и встроенных устройств, таких как смартфоны и планшеты. Эта архитектура представлена устройствами, такими как Raspberry Pi 4, Raspberry Pi 3, Raspberry Pi Zero 2/Zero 2 W, Orange Pi 3 LTS и другими.\n\n- **armv7 / arm / arm32**: Служит архитектурой для старых мобильных и встроенных устройств, оставаясь широко используемой в таких устройствах, как Orange Pi Zero LTS, Orange Pi PC Plus, Raspberry Pi 2 и других.\n\n- **armv6 / arm / arm32**: Ориентирована на очень старые встроенные устройства, эта архитектура, хотя и менее распространенная, всё ещё используется. Например, такие устройства, как Raspberry Pi 1, Raspberry Pi Zero/Zero W, полагаются на эту архитектуру.\n\n- **armv5 / arm / arm32**: Более старая архитектура, ассоциируемая с ранними встроенными системами, сегодня менее распространена, но всё ещё может быть найдена в устаревших устройствах, таких как ранние версии Raspberry Pi и некоторые старые смартфоны.\n\n- **s390x**: Эта архитектура обычно используется в мейнфреймах IBM и обеспечивает высокую производительность и надежность для корпоративных рабочих нагрузок.\n\u003c/details\u003e\n\n## Возможности\n\n- Мониторинг состояния системы\n- Поиск по всем входящим подключениям и клиентам\n- Тёмная/светлая тема\n- Поддержка нескольких пользователей и протоколов\n- Поддержка протоколов, включая VMESS, VLESS, Trojan, Shadowsocks, Dokodemo-door, Socks, HTTP, WireGuard\n- Поддержка протоколов XTLS, включая RPRX-Direct, Vision, REALITY\n- Статистика трафика, ограничение трафика, ограничение по времени истечения\n- Настраиваемые шаблоны конфигурации Xray\n- Поддержка HTTPS доступа к панели (ваше доменное имя + SSL сертификат)\n- Поддержка установки SSL-сертификата в один клик и автоматического перевыпуска\n- Для получения более продвинутых настроек обращайтесь к панели\n- Исправляет маршруты API (настройка пользователя будет создана через API)\n- Поддержка изменения конфигураций по различным элементам, предоставленным в панели\n- Поддержка экспорта/импорта базы данных из панели\n\n## Настройки панели по умолчанию\n\n\u003cdetails\u003e\n  \u003csummary\u003eНажмите для получения информации о настройках по умолчанию\u003c/summary\u003e\n\n### Имя пользователя и пароль \u0026 webbasepath:\n\nЭти параметры будут сгенерированы случайным образом, если вы пропустите их изменение.\n\n- **Порт:** порт панели по умолчанию — `2053`\n\n### Управление базой данных:\n\nВы можете удобно выполнять резервное копирование и восстановление базы данных прямо из панели.\n\n- **Путь к базе данных:**\n    - `/etc/x-ui/x-ui.db`\n\n### Webbasepath\n\n1. **Сбросить webbasepath:**\n    - Откройте терминал.\n    - Выполните команду `x-ui`.\n    - Выберите опцию `Reset Web Base Path`.\n\n2. **Генерация или настройка пути:**\n    - Путь будет сгенерирован случайным образом, или вы можете ввести собственный путь.\n\n3. **Просмотр текущих настроек:**\n    - Чтобы просмотреть текущие настройки, используйте команду `x-ui settings` в терминале или опцию `View Current Settings` в `x-ui`.\n\n### Рекомендации по безопасности:\n- Для повышения безопасности используйте длинное случайное слово в структуре вашего URL.\n\n**Примеры:**\n- `http://ip_адрес:порт/*webbasepath*/panel`\n- `http://домен:порт/*webbasepath*/panel`\n\n\u003c/details\u003e\n\n## Ограничение IP\n\n\u003cdetails\u003e\n  \u003csummary\u003eНажмите для получения информации об ограничении IP\u003c/summary\u003e\n\n#### Использование\n\n**Примечание:** Ограничение IP не будет работать корректно при использовании IP Tunnel.\n\nЧтобы включить функциональность ограничения IP, вам нужно установить `fail2ban` и его необходимые файлы, выполнив следующие шаги:\n\n1. Выполните команду `x-ui` в терминале, затем выберите `IP Limit Management`.\n2. Вам будут предложены следующие опции:\n\n    - **Change Ban Duration:** Отрегулировать длительность блокировок.\n    - **Unban Everyone:** Снять все текущие блокировки.\n    - **Check Logs:** Просмотреть логи.\n    - **Fail2ban Status:** Проверить статус `fail2ban`.\n    - **Restart Fail2ban:** Перезапустить службу `fail2ban`.\n    - **Uninstall Fail2ban:** Удалить Fail2ban с его конфигурацией.\n\n3. Добавьте путь к логам доступа в панели, установив `Xray Configs/log/Access log` в `./access.log`, затем сохраните и перезапустите xray.\n\n- **Для версий до `v2.1.3`:**\n    - Вам нужно вручную установить путь к логам доступа в вашей конфигурации Xray:\n\n      ```sh\n      \"log\": {\n        \"access\": \"./access.log\",\n        \"dnsLog\": false,\n        \"loglevel\": \"warning\"\n      },\n      ```\n\n- **Для версий `v2.1.3` и новее:**\n    - Есть возможность настройки `access.log` непосредственно из панели.\n\n\u003c/details\u003e\n\n## Телеграм-бот\n\n\u003cdetails\u003e\n  \u003csummary\u003eНажмите для получения информации о телеграм-боте\u003c/summary\u003e\n\n#### Использование\n\nВеб-панель поддерживает уведомления и функции, такие как ежедневный трафик, вход в панель, резервное копирование базы данных, состояние системы, информация о клиентах и другие, через телеграм-бота. Чтобы использовать бота, вам нужно настроить параметры, связанные с ботом, в панели, включая:\n\n- Токен Telegram\n- ID чата админа(-ов)\n- Время уведомлений (в синтаксисе cron)\n- Уведомления о дате истечения\n- Уведомления о лимите трафика\n- Резервное копирование базы данных\n- Уведомления о загрузке CPU\n\n**Примеры синтаксиса:**\n\n- `30 * * * * *` - Уведомлять на 30-й секунде каждого часа\n- `0 */10 * * * *` - Уведомлять на первой секунде каждых 10 минут\n- `@hourly` - Ежечасное уведомление\n- `@daily` - Ежедневное уведомление (в 00:00)\n- `@weekly` - Еженедельное уведомление\n- `@every 8h` - Уведомлять каждые 8 часов\n\n### Возможности телеграм-бота\n\n- Периодические отчеты\n- Уведомления о входе\n- Уведомления о пороге загруженности процессора\n- Уведомления о времени истечения и трафике заранее\n- Поддерживает меню отчетов клиента, если имя пользователя телеграм клиента добавлено в конфигурации пользователя\n- Поддержка отчета о трафике через Telegram, поиск по UUID (VMESS/VLESS) или паролю (TROJAN) - анонимно\n- Бот, основанный на меню\n- Поиск клиента по email (только администратор)\n- Проверка всех входящих соединений\n- Проверка состояния сервера\n- Проверка истекших пользователей\n- Получение резервных копий по запросу и в периодических отчётах\n- Многоязычный бот\n\n### Настройка телеграм-бота\n\n- Запустите [Botfather](https://t.me/BotFather) в вашем аккаунте Telegram:\n  ![Botfather](./media/botfather.png)\n\n- Создайте нового бота с помощью команды /newbot: у вас спросят 2 вопроса: отображаемое имя и имя пользователя для вашего бота. Обратите внимание, что имя пользователя должно заканчиваться на слово \"bot\".\n  ![Создать нового бота](./media/newbot.png)\n\n- Запустите созданного бота. Ссылку на вашего бота можно найти здесь.\n  ![токен](./media/token.png)\n\n- Перейдите в панель и настройте параметры телеграм-бота следующим образом:\n  ![Настройки панели](./media/panel-bot-config.png)\n\nВведите токен вашего бота в поле ввода номер 3.\nВведите ID пользователя в поле ввода номер 4. Telegram-аккаунты с этим ID будут администраторами бота. (Вы можете ввести несколько ID, разделяя их запятой)\n\n- Как получить ID пользователя Telegram? Используйте этот [бот](https://t.me/useridinfobot). Запустите бота, и он отобразит ваш ID пользователя Telegram.\n  ![ID пользователя](./media/user-id.png)\n\n\u003c/details\u003e\n\n## Маршруты API\n\n\u003cdetails\u003e\n  \u003csummary\u003eНажмите для получения информации о маршрутах API\u003c/summary\u003e\n\n#### Использование\n\n- `/login` с `POST`-данными: `{username: '', password: ''}` для входа\n- `/panel/api/inbounds` это базовый путь для следующих действий:\n\n| Метод  | Путь                               | Действие\n| :----: | -----------------------------------| -------------------------------------------\n| `GET`  | `\"/list\"`                          | Получить все входящие соединения\n| `GET`  | `\"/get/:id\"`                       | Получить входящее соединение с inbound.id\n| `GET`  | `\"/getClientTraffics/:email\"`      | Получить трафик клиента по email\n| `GET`  | `\"/getClientTrafficsById/:id\"`     | Получить трафик клиента по ID\n| `GET`  | `\"/createbackup\"`                  | Telegram-бот отправит резервную копию администраторам\n| `POST` | `\"/add\"`                           | Добавить входящее соединение\n| `POST` | `\"/del/:id\"`                       | Удалить входящее соединение\n| `POST` | `\"/update/:id\"`                    | Обновить входящее соединение\n| `POST` | `\"/clientIps/:email\"`              | IP-адрес клиента\n| `POST` | `\"/clearClientIps/:email\"`         | Очистить IP-адреса клиента\n| `POST` | `\"/addClient\"`                     | Добавить клиента к входящему соединению\n| `POST` | `\"/:id/delClient/:clientId\"`       | Удалить клиента по clientId\\*\n| `POST` | `\"/updateClient/:clientId\"`        | Обновить клиента по clientId\\*\n| `POST` | `\"/:id/resetClientTraffic/:email\"` | Сбросить трафик клиента\n| `POST` | `\"/resetAllTraffics\"`              | Сбросить трафик всех входящих соединений\n| `POST` | `\"/resetAllClientTraffics/:id\"`    | Сбросить трафик всех клиентов в входящем соединении\n| `POST` | `\"/delDepletedClients/:id\"`        | Удалить истекших клиентов в входящем соединении (-1: всех)\n| `POST` | `\"/onlines\"`                       | Получить пользователей, которые находятся онлайн (список email'ов)\n\n\\*- Поле `clientId` должно быть заполнено следующим образом:\n\n- `client.id` для VMESS и VLESS\n- `client.password` для TROJAN\n- `client.email` для Shadowsocks\n\n\u003c/details\u003e\n\n\n- [API-документация](https://www.postman.com/hsanaei/3x-ui/collection/q1l5l0u/3x-ui)\n- [\u003cimg src=\"https://run.pstmn.io/button.svg\" alt=\"Run In Postman\" style=\"width: 128px; height: 32px;\"\u003e](https://app.getpostman.com/run-collection/5146551-dda3cab3-0e33-485f-96f9-d4262f437ac5?action=collection%2Ffork\u0026source=rip_markdown\u0026collection-url=entityId%3D5146551-dda3cab3-0e33-485f-96f9-d4262f437ac5%26entityType%3Dcollection%26workspaceId%3Dd64f609f-485a-4951-9b8f-876b3f917124)\u003c/details\u003e\n\n## Переменные среды\n\n\u003cdetails\u003e\n  \u003csummary\u003eНажмите для получения информации о переменных среды\u003c/summary\u003e\n\n#### Использование\n\n| Переменная       |                      Тип                       | Значение по умолчанию |\n| ---------------- | :------------------------------------------:   | :-------------------- |\n| XUI_LOG_LEVEL    | `\"debug\"` \\| `\"info\"` \\| `\"warn\"` \\| `\"error\"` | `\"info\"`             |\n| XUI_DEBUG        |                   `boolean`                    | `false`              |\n| XUI_BIN_FOLDER   |                    `string`                    | `\"bin\"`              |\n| XUI_DB_FOLDER    |                    `string`                    | `\"/etc/x-ui\"`        |\n| XUI_LOG_FOLDER   |                    `string`                    | `\"/var/log\"`         |\n\nПример:\n\n```sh\nXUI_BIN_FOLDER=\"bin\" XUI_DB_FOLDER=\"/etc/x-ui\" go build main.go\n```\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flocalzet%2Fx-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flocalzet%2Fx-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flocalzet%2Fx-ui/lists"}