Skip to Content

Восстановление доступа к панели 3x-ui  установленного в docker контейнер или Где найти и посмотреть пароль к панели в базе данных 3x-ui

Докер 3x-ui



Как посмотреть пароль в панели 3x-ui через Docker Compose?

Если вы потеряли доступ к панели 3x-ui, но имеете доступ к серверу с установленным Docker Compose, вы можете узнать пароль, извлекая его из базы данных.

Шаги для просмотра пароля

1. Перейдите в папку с панелью 3x-ui

user@server:~$ cd 3x-ui

2. Ознакомьтесь с содержимым папки

user@server:~/3x-ui$ ls
config    docker-compose.yml   DockerInit.sh  install.sh  main.go          README.md        sub   xray
database  DockerEntrypoint.sh  go.mod         LICENSE     media            README.ru_RU.md  util  x-ui.service
db        Dockerfile           go.sum         logger      README.es_ES.md  README.zh_CN.md  web   x-ui.sh

3. Перейдите в папку db

cd db
ls

В папке должен быть файл x-ui.db, содержащий базу данных.

4. Сделайте резервную копию файла базы данных

sudo cp x-ui.db backup_x-ui.db

5. Откройте базу данных и посмотрите настройки

Используем утилиту sqlite3 для работы с базой данных.

sqlite3 backup_x-ui.db

Вы попадёте в приглашение SQLite:

SQLite version 3.40.1 2022-12-28 14:03:47
Enter ".help" for usage hints.

Посмотреть таблицы в базе данных

sqlite> .tables
client_traffics     inbounds             settings
inbound_client_ips  outbound_traffics   users

Посмотреть содержимое таблицы settings

sqlite> SELECT * FROM settings;

Пример вывода:

1|secret|GQ7P5lvWjPGWTNGaH9mIyvryMDzlFGFp
2|webListen|
3|webDomain|
4|webPort|2053
5|webCertFile|/etc/letsencrypt/live/ixixi.store/fullchain.pem
6|webKeyFile|/etc/letsencrypt/live/ixixi.store/privkey.pem
7|webBasePath|/adres_panel/
8|sessionMaxAge|60
9|pageSize|50
10|expireDiff|0
11|trafficDiff|0
12|remarkModel|-ieo
13|tgBotEnable|false
14|tgBotToken|
15|tgBotProxy|
16|tgBotAPIServer|
17|tgBotChatId|
18|tgRunTime|@daily
19|tgBotBackup|false
20|tgBotLoginNotify|true
21|tgCpu|80
22|tgLang|en-US
23|timeLocation|Asia/Tehran
24|secretEnable|false
25|subEnable|false
26|subListen|
27|subPort|2096
28|subPath|/sub/
29|subDomain|
30|subCertFile|
31|subKeyFile|
32|subUpdates|12
33|subEncrypt|true
34|subShowInfo|true
35|subURI|
36|subJsonPath|/json/
37|subJsonURI|
38|subJsonFragment|
39|subJsonNoises|
40|subJsonMux|
41|subJsonRules|
42|datepicker|gregorian

Расшифровка настроек:

  1. secret: Секретный ключ (пароль) для работы сервиса.
  2. webListen: IP-адрес, на котором работает веб-интерфейс.
  3. webDomain: Доменное имя, связанное с веб-интерфейсом.
  4. webPort: Порт для веб-интерфейса.
  5. webCertFile: Путь к файлу SSL-сертификата для HTTPS.
  6. webKeyFile: Путь к приватному ключу SSL.
  7. webBasePath: Базовый путь для веб-интерфейса.
  8. sessionMaxAge: Максимальное время жизни сессии (в минутах).
  9. pageSize: Количество элементов, отображаемых на одной странице.
  10. expireDiff: Разница времени для проверки срока действия.
  11. trafficDiff: Разница учёта трафика.
  12. remarkModel: Модель для комментариев или описаний.
  13. tgBotEnable: Включение или отключение Telegram-бота (true/false).
  14. tgBotToken: Токен для Telegram-бота.
  15. tgBotProxy: Настройки прокси для Telegram-бота.
  16. tgBotAPIServer: URL API сервера Telegram.
  17. tgBotChatId: ID чата для уведомлений.
  18. tgRunTime: Время выполнения заданий Telegram-бота (например, @daily).
  19. tgBotBackup: Включение резервного копирования через Telegram.
  20. tgBotLoginNotify: Уведомления о входе через Telegram.
  21. tgCpu: Порог загрузки процессора для уведомлений.
  22. tgLang: Язык Telegram (например, en-US).
  23. timeLocation: Часовой пояс.
  24. secretEnable: Включение секретного ключа (true/false).
  25. subEnable: Включение подписок (true/false).
  26. subListen: IP для подписок.
  27. subPort: Порт для подписок.
  28. subPath: Путь для подписок.
  29. subDomain: Домен для подписок.
  30. subCertFile: SSL-сертификат для подписок.
  31. subKeyFile: Приватный ключ SSL для подписок.
  32. subUpdates: Частота обновлений подписок (в часах).
  33. subEncrypt: Включение шифрования подписок.
  34. subShowInfo: Отображение информации о подписке.
  35. subURI: URI для подписок.
  36. subJsonPath: Путь для JSON-файлов подписок.
  37. subJsonURI: URI для JSON подписок.
  38. subJsonFragment: Включение фрагментации JSON подписок.
  39. subJsonNoises: Использование шумов в JSON.
  40. subJsonMux: Мультиплексирование JSON подписок.
  41. subJsonRules: Правила для JSON подписок.
  42. datepicker: Формат календаря (например, gregorian).
После изменения данных используйте их в соответствии с настройками панели.
Пример некоторых команд sqlite3:
 Изменение логина или пароля в базе данных 3x-ui через SQLite3

Если вам нужно изменить логин или пароль в базе данных 3x-ui, выполните следующие шаги:

  1. Открываем базу данных:
    Перейдите в каталог db и откройте базу данных с помощью SQLite3:

    bash


    sqlite3 x-ui.db

  2. Просмотр содержимого таблицы users:
    Введите следующую команду, чтобы увидеть текущие записи в таблице users:

    sql


    SELECT * FROM users;

    Пример вывода:


    1|admin|old_password

  3. Изменение логина или пароля:
    Используйте команду UPDATE, чтобы изменить нужные данные:
    • Для изменения логина:

      sql


      UPDATE users SET username = 'new_admin' WHERE id = 1;

    • Для изменения пароля:

      sql


      UPDATE users SET password = 'new_secure_password' WHERE id = 1;

  4. Проверка изменений:
    После внесения изменений выполните команду еще раз, чтобы убедиться в их правильности:

    sql


    SELECT * FROM users;

    Пример вывода:


    1|new_admin|new_secure_password

  5. Завершение работы:
    Сохраните изменения и выйдите из SQLite:

    bash


    .exit

  6. Перезапуск контейнера:
    После изменений перезапустите Docker-контейнер, чтобы они применились:

    bash


    docker-compose restart

Важно:

  • Создайте резервную копию базы данных перед изменениями:

    bash


    cp x-ui.db backup_x-ui.db

  • Используйте надежные пароли, чтобы защитить панель.


Вывод

Следуя этим инструкциям, вы сможете извлечь логин и пароль из базы данных, а также изменить настройки панели, если это потребуется. Не забывайте делать резервные копии перед внесением изменений и ограничивать доступ к файлам базы данных для повышения безопасности.

Теги

#3x-ui #Docker #sqlite #восстановление_пароля #панель_управления #база_данных #x-ui #настройки


Как восстановить доступ к панели 3x-ui через базу данных?

Инструкция: работа с базой данных 3x-ui в Dockeк
Изменение пароля в 3x-ui: пошаговый гайд
Резервное копирование и редактирование базы данных 3x-ui
Что содержится в настройках панели 3x-ui? Полная расшифровка
 


Установка Docker и Docker Compose на Debian:
Полное руководство для пользователей Debian