Установка контейнера 3X-UI + Traefik + Telegram Bot

Установка контейнера 3X-UI + Traefik + Telegram Bot


Инструкция будет включать в себя:

  1. Установка Docker
  2. Установка контейнера 3X-UI + Traefik + Telegram Bot
  3. Настройка

Для установки понадобится:

  1. VPS или иной сервер с доступом к консоли SSH
  2. 1 ГБ ОЗУ
  3. Debian не ниже версии 9 или Ubuntu не ниже 20.04 (инструкция может работать и на других дистрибутивах, но некоторые детали будут отличатся)

Официальный репозиторий 3X-UI: https://github.com/MHSanaei/3x-ui

Официальный репозиторий форка X-UI: https://github.com/alireza0/x-ui

Для начала необходимо установить Docker и Docker-compose (пропускаем шаг если уже установлен)

Добавляем официальный репозиторий Docker:

Для Debian:

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Для Ubuntu:

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Устанавливаем docker и docker-compose:

$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Проверяем работу docker:

$ sudo docker run hello-world


Далее клонируем репозиторий со скриптом установки 3X-UI + Traefik + Telegram Bot:

git clone https://github.com/torikki-tou/team_418.git
cd team_418

Делаем скрипт исполняемым и запускаем установку:

chmod +x setup.sh
./setup.sh

Скрипт запросит у вас:

Имя пользователя для панели администратора - "Enter username for 3X-UI Panel"

Пароль администратора - "Enter password"

Порт подключения к панели администратора - "Enter port on which 3X-UI would be available: "

имя хоста (домен) или IP если домен отсутствует "Enter your hostname:"

Ваш адрес почты для сертификата LetsEncrypt "Enter your e-mail for certificate:"

API токен вашего телеграм бота (подробнее тут) "Enter your Telegram bot API token:"

По завершении работы скрипт выдаст адрес подключения к панели администратора.

3X-UI, Traefik и Telegram бот установлены и работают.

Для настройки через Веб UI:

Для 3X-UI переходим по адресу https://ваш домен : ваш порт, где yourserverip - IP-адрес вашего сервера или доменное имя, если оно у вас есть и настроено (обратите внимание, протокол http://, а не https://).

Создаем подключения

Нажимаем кнопку добавить подключение


Для VLESS с XTLS-Reality:

"Remark" (Примечание) - любое название;

"Протокол" - "vless",

"Listening IP" ("Порт IP", который на самом деле не порт, а адрес) - оставляем пустым, либо задаем вручную если надо;

"Порт" - вместо случайно выданного ставим 443;



Далее переходим к настройкам клиента.

"Email" - это аналог имени пользователя, поэтому стоит указать то, что позволит понять вам к какому пользователю относится конфигурация. Важно: пользователи разных подключений не могут иметь один и тот же email

"ID" - генерируется случайно, можно оставить без изменений

"Subscription" - тут наоборот, лучше будет если текст в этом поле будет совпадать с тем, что вы задали для Shadowsocks (подробности ниже). Внимание: поле Subscription по умолчанию не отображается, нужно сначала активировать функционал подписок в настройках панели.

"Flow" - надо выбрать "xtls-rprx-vision". Обратите внимание, поле Flow (см. скриншот) появится только после того, как чуть ниже вы поставите галочку на пункте "Reality". То есть лучше всего настривать так: сначала ставите галочку Reality, а потом заполняете поля с настройками пользователя.

Дальше у нас идут настройки транспорта:

"Reality" - как уже сказано выше, должно быть активно;

"XTLS" - наоборот, должно быть неактивно (это немного запутывает, не смотря на то, что Reality тоже относится к XTLS, здесь под XTLS подразумеваются только устаревшие версии протокола, и галочки "XTLS" и "Reality" в панели являются взаимоисключающими);

"uTLS" - по умолчанию "firefox", можно поставить "chrome", (при выборе "android", могут быть проблемы с клиентами);

"Домен" - на самом деле это не домен, а адрес для подключения к вашему серверу. Можно оставить пустым, тогда панель автоматически подставит IP-адрес или домен, по которому вы обращаетесь в панели на сервере.

"ShortIds" - панель сгенерирует рандомный ID;

"Public Key", "Private Key" - можно кликнуть на "Get new keys", и панель сама сгенерирует новые для вас;

"Dest" и "Server names" - вот это самое интересное, это домен, под который вы будете маскироваться. По умолчанию панель предлагает маскировку под yahoo.com и www.yahoo.com с переадресацией на yahoo.com:443, но лучше выбрать какой-нибудь другой домен, Требования довольно простые:

это должен быть иностранный сервер (вне РФ), не заблокированный по домену Роскомнадзором, поддерживающий подключения по TLSv1.3 и HTTP/2, имеющий заглавную страницу, которая не переадресовывает на какой-нибудь другой домен. В идеале если бы IP-адрес был из диапазона того же облачного хостера, что и у вас, и чтобы сервер поддерживал Online Certificate Status Protocol (OCSP). Можно использовать следующие домены:

  • www.samsung.com:443
  • www.googletagmanager.com:443
  • www.asus.com:443
  • www.amd.com:443
  • www.cisco.com:443
  • www.microsoft.com:443
  • dl.google.com:443
  • www.linksys.com:443
  • www.nvidia.com:443

и т.д.

Сохраняем введенную форму, и - всё! Настройка завершена.

После этого на странице видим примерно вот это:


Если тыкнуть на кнопочку "Меню" соответствующую нужному протоколу, можно его активировать/деактивировать, сбросить счетчики трафика, добавить пользователей (в том числе сгенерировать разом N аккаунтов по шаблону), и самое главное - раскрыв (плюсиком) список пользователей, можно посмотреть настройки подключения для вбивания в клиенты для этого пользователя.

Нажав на значок QR-кода, панель покажет QR-код, который можно отсканировать камерой в мобильных клиентах (v2rayNG или Nekobox на Android, Wings X/FoXray или Shadowrocket на iOS)

Report Page