Установка контейнера 3X-UI + Traefik + Telegram Bot
Инструкция будет включать в себя:
- Установка Docker
- Установка контейнера 3X-UI + Traefik + Telegram Bot
- Настройка
Для установки понадобится:
- VPS или иной сервер с доступом к консоли SSH
- 1 ГБ ОЗУ
- 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)