Перейти к содержанию

3x-ui - xRay ShadowSocks как замена WireGuard [Docker Edition]


DigneZzZ

Рекомендуемые сообщения

  • Админы

ShadowSocks решения: Marzban Quick | Marzban Full | Marzban Node | x-ui | 3x-ui | 3x-ui Docker


Всем привет

В продолжении прошлой темы.

Решил опубликовать набор самых основных настроек и установки в докер.

1. Первым делом ставим docker.

bash <(curl -sSL https://get.docker.com)

2. Клонируем репозиторий и падаем в него

git clone https://github.com/MHSanaei/3x-ui.git
cd 3x-ui

3. Заходим в docker-compose.yml и правим параметры:

---
version: "3.9"

services:
  3x-ui:
    image: ghcr.io/mhsanaei/3x-ui:latest
    container_name: 3x-ui
    hostname: domain.org
    volumes:
      - $PWD/db/:/etc/x-ui/
      - /etc/letsencrypt/live/domain.org/fullchain.pem:/root/cert/fullchain.pem
      - /etc/letsencrypt/live/domain.org/privkey.pem:/root/cert/privkey.pem
    environment:
      XRAY_VMESS_AEAD_FORCED: "false"
    tty: true
    network_mode: host
    restart: unless-stopped

image.png

Нам нужно поменять hostname на ваш домен, и указать путь туда, где certbot будет генерировать ключи (строка - $PWD/cert/:/etc/letsencrypt/live/proxy.domain.ru/)

Сохраняем и закрываем файл. (ctrl+o, enter, ctrl+x)

4. Выпускаем сертификаты к уже привязанному домену с помощью certbot. (Для управления домена и поддоменами рекомендую использовать Cloudflare, это очень удобно, быстро и комфортно)

apt-get install certbot -y
certbot certonly --standalone --agree-tos --register-unsafely-without-email -d proxy.domain.ru
certbot renew --dry-run

Получаем сообщение:

Цитата

Account registered.
Simulating renewal of an existing certificate for proxy.domain.ru

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations, all simulated renewals succeeded:
  /etc/letsencrypt/live/proxy.domain.ru/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Значит все хорошо. Если вы получили ошибку, проверьте домен или возможно привязка к IP не выполнилась ещё, подождите немного.

5. Назначаем разрешение на файлы в папке ключей:

 chmod 666 -Rf /etc/letsencrypt/live/proxy.domain.ru

6. Запускаем контейнер.

docker compose up -d

7. Заходим в панель:

http://proxy.domain.ru:2053/panel

8. Логин и пароль admin / admin

Добро пожаловать в панель.

image.png

9. Сразу идем в настройки панели =- настройки безопасности и меняем пароль

image.png

10. Заходим в первую вкладку и пишем наши данные по домену и адрес к нашим ключам:

image.png

 

Цитата

/etc/letsencrypt/live/proxy.domain.ru/fullchain.pem

/etc/letsencrypt/live/proxy.domain.ru/privkey.pem

Папка должна соответствовать тому что у нас в docker-compose.yml

UPD: 09.08.23. Совладать с файлам ключей не получилось. Нужно скопировать 2 ключа из пути выше, в папку /root/3x-ui/cert/

командой: 

Цитата

cp /etc/letsencrypt/live/proxy.domain.ru/fullchain.pem /root/3x-ui/cert/

cp /etc/letsencrypt/live/proxy.domain.ru/privkey.pem /root/3x-ui/cert/

10.2. Заходим в раздел подписок, включаем эту опцию и прописываем те же параметры домена и ключей (либо можете использовать отличный от основного домен)

image.png

11. Вернемся в нашу консоль. Теперь нужно установить WARP Proxy:

Вся информация есть на оф сайте: Announcing WARP for Linux and Proxy Mode (cloudflare.com)

Дополнительно читаем про добавление ключей: Cloudflare Package Repository (cloudflareclient.com)

А теперь пример реальный, на Ubuntu:

  1. Добавляем GPG key:
    curl https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
  2. Добавляем репозиторий:
    echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list
  3. Обновляемся:
    sudo apt update
  4. Ставим
    sudo apt install cloudflare-warp

Теперь настраиваем.

1. Всю помощь получаем тут:

warp-cli --help

2. Нужно зарегистрироваться:

warp-cli register

3. Теперь выставить режим работы (possible values: warp, doh, warp+doh, dot, warp+dot, proxy), я выбираю proxy:

warp-cli set-mode proxy

4. Устанавливаем порт для WARP proxy

warp-cli set-proxy-port 40000

5. Коннектимся

warp-cli connect

Готово.

Идём обратно в наш веб-интерфейс 3x-ui

Здесь нам нужно зайти на вкладку настройки xray и развернув WARP proxy воткнуть все тумблеры

image.png

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

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

Можно долго писать про настройки.

Я покажу основные.

ShadowSocks  классический

image.png

Trojan

image.png

vless

image.png

 

В принципе, если у вас работает одно какое то подключение, вы можете использовать только его. Остальные вряд ли будут чем то отличаться.

Хорошей особенностью сборки 3x-ui, в отличии от Marzban является встроенного Ограничение по IP - это то количество одновременных подключений, которые может быть доступно на 1 коннект от 1 пользователя.

Готово! 

Пользуйтесь!

Другие мои параметры:

image.png

image.png

image.png

 

PS: Настройки телеграм бота очень просты. И имеют все необходимые комментарии.

Вот что выдает бот:

image.png

Для клиента с прописанным Telegram ID информации минимум, не выдает даже сами конфиги.

image.png

 

UPD: Для работы IP Limit нужно установить на сервер Fail2ban

Ссылка на комментарий
Поделиться на другие сайты

А если к примеру уже есть домен и у него есть сертификат, выпущенный и продлеваемый хостером (аеза), то как указать путь к ним? Или все равно на домен который имеет сертификаты серботом выпускать их заного?

 

Ссылка на комментарий
Поделиться на другие сайты

  • Админы
3 минуты назад, CO_PY сказал:

А если к примеру уже есть домен и у него есть сертификат, выпущенный и продлеваемый хостером (аеза), то как указать путь к ним? Или все равно на домен который имеет сертификаты серботом выпускать их заного?

 

Сохрани их в виде в файлов и положи в папку /root/cert/ как конфиг по умолчанию

Ссылка на комментарий
Поделиться на другие сайты

То есть 4й пункт я могу пропустить? Или делать все по инструкции но как вы выше сказали кинуть их по пути /root/cert/  ?

Ссылка на комментарий
Поделиться на другие сайты

  • Админы
11 минут назад, CO_PY сказал:

То есть 4й пункт я могу пропустить? Или делать все по инструкции но как вы выше сказали кинуть их по пути /root/cert/  ?

я не могу за тебя решать)) смотри сам)

Ссылка на комментарий
Поделиться на другие сайты

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

Как быть ,как решить данную проблему? 

9090.jpg

Ссылка на комментарий
Поделиться на другие сайты

  • Админы
2 часа назад, CO_PY сказал:

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

Как быть ,как решить данную проблему? 

9090.jpg

Обновил этот раздел, почитай.

Ссылка на комментарий
Поделиться на другие сайты

статус сервера в ошибке, какая то проблема с публичным ключом я так понял. Опять прошу помощи)  Я сравнил ключи паблик и приват, в папках у 3x и у Letsencrypt , они совпадают. 

image_2023-08-09_19-06-21.png

image_2023-08-09_19-03-08.png

Ссылка на комментарий
Поделиться на другие сайты

51 минуту назад, CO_PY сказал:

статус сервера в ошибке, какая то проблема с публичным ключом я так понял. Опять прошу помощи)  Я сравнил ключи паблик и приват, в папках у 3x и у Letsencrypt , они совпадают. 

image_2023-08-09_19-06-21.png

image_2023-08-09_19-03-08.png

всё, разобрался, можно удалять сообщения) 

Ссылка на комментарий
Поделиться на другие сайты

  • Админы
24 минуты назад, CO_PY сказал:

всё, разобрался, можно удалять сообщения) 

Напиши решение) будет полезнее)

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, CO_PY сказал:

всё, разобрался, можно удалять сообщения) 

В общем, так как я все делаю по инструкции, то любые расхождения в процессе от инструкции, вызывают дикие паники) И в этот раз , не стало исключением то, что после запуска панели управления, назовем ее так, у меня статус сервера был в ошибке, что видно по скринам , пару сообщений выше. А дело в том,что я как нуб, в настройках протокола , где нужно просто нажать кнопку Get New Key , я вставлял ключи От cerbotа)) В итоге, когда понял, очень смеялся над собой)

Ссылка на комментарий
Поделиться на другие сайты

  • Админы
1 час назад, CO_PY сказал:

В общем, так как я все делаю по инструкции, то любые расхождения в процессе от инструкции, вызывают дикие паники) И в этот раз , не стало исключением то, что после запуска панели управления, назовем ее так, у меня статус сервера был в ошибке, что видно по скринам , пару сообщений выше. А дело в том,что я как нуб, в настройках протокола , где нужно просто нажать кнопку Get New Key , я вставлял ключи От cerbotа)) В итоге, когда понял, очень смеялся над собой)

Despicable Me Lol GIF

Ссылка на комментарий
Поделиться на другие сайты

Добавлю по WARP

я использовал контейнер yarmak/warp-proxy

мой файл docker-compose.yml

version: '3'

services:
  warp-proxy:
    image: yarmak/warp-proxy
    network_mode: host
    ports:
      - 40000:40000
    restart: always

и как раз в режиме прокси работает что нам и надо в случае 3x-ui

и не надо отдельно ничего ставить в живую систему

Ссылка на комментарий
Поделиться на другие сайты

Здравствуйте!

Делал всё по известной статьте с гитХаба "Shadowsocks-2022 & XRay (XTLS) сервер с простой настройкой и приятным интерфейсом"

Всё завелось! Есть проблема с доступом к панели:  попробовал сделать доступ с "виртуального" IP, вместо возни  с  сертификатами ( раньше заходил так -  http://IPсервака:порт/URL/).

Добавил в /etc/network/interfaces следующую запись:

iface lo:1 inet static
address 192.88.99.1
network 192.88.99.0
netmask 255.255.255.0

В настройках панели указал IP 192.88.99.1,  чтобы она слушала только на нем. Панель из вне - стала не доступно, как и ожидалось... .

Подключаюсь к сети через Shadowsocks (в NekoBox только его пока настроил) - инет есть, всё работает. IP сервера через whoer показывается.
Вбиваю строку в браузере  - http://192.88.99.1:порт/URL/ - Вообщем, в панель попасть теперь  не могу. Что не так делаю? Спасибо за любую помощь!
Не думал, что придётся в жизни ещё и этим заниматься... . (
 
Ссылка на комментарий
Поделиться на другие сайты

Вечер добрый. Развернул на двух серверах. На трубе клиент FoXray, на компе V2RayN. Заметил что на трубе периодически молча отваливается коннект. Есть ли вариант настройки killswitch? 

Второй вопрос - каким образом указать какой ДНС сервер использовать? на трубке вроде разобрался - есть опция Cloudflare DoH. Но с V2RayN пока не понял - 2ip.ru показывает что использую гугловские, хотя на самом компе указано юзать от роутера, а на роутете прописано cloudflare  DoH и DoT.    

Ссылка на комментарий
Поделиться на другие сайты

10 часов назад, 333444 сказал:

Вбиваю строку в браузере  - http://192.88.99.1:порт/URL/ - Вообщем, в панель попасть теперь  не могу. Что не так делаю? Спасибо за любую помощь!

Не думал, что придётся в жизни ещё и этим заниматься... . (
 

хоть бы ссылку на инструкцию с гитхаба дали, я такое не нахожу

да и как вы хотите сделать нельзя реализовать

всё что можно:

Цитата

 

Изменить порт на котором работает панель со стандартного 2053 на какой-нибудь другой (лучше всего где-нибудь в верхнем конце диапазона, до 65535)

Изменить корневой путь URL-адреса панели с / на что-то типа /mysecretpanelroot/

На вкладке "Настройки безопасности" изменить стандартный админский пароль на свой

 

 

Ссылка на комментарий
Поделиться на другие сайты

В 14.08.2023 в 19:08, 333444 сказал:

Здравствуйте!

Делал всё по известной статьте с гитХаба "Shadowsocks-2022 & XRay (XTLS) сервер с простой настройкой и приятным интерфейсом"

Всё завелось! Есть проблема с доступом к панели:  попробовал сделать доступ с "виртуального" IP, вместо возни  с  сертификатами ( раньше заходил так -  http://IPсервака:порт/URL/).

Добавил в /etc/network/interfaces следующую запись:

iface lo:1 inet static
address 192.88.99.1
network 192.88.99.0
netmask 255.255.255.0

В настройках панели указал IP 192.88.99.1,  чтобы она слушала только на нем. Панель из вне - стала не доступно, как и ожидалось... .

Подключаюсь к сети через Shadowsocks (в NekoBox только его пока настроил) - инет есть, всё работает. IP сервера через whoer показывается.
Вбиваю строку в браузере  - http://192.88.99.1:порт/URL/ - Вообщем, в панель попасть теперь  не могу. Что не так делаю? Спасибо за любую помощь!
Не думал, что придётся в жизни ещё и этим заниматься... . (
 

Столкнулся с такой же проблемой, дело в том что Shadowsocks похоже не может маршрутизировать запросы на локальные ip адреса сервера

Ссылка на комментарий
Поделиться на другие сайты

17 часов назад, Lzorio сказал:

сделал я по гайду wireguard + unbound + adguard ,

Вроде, wirequard как и OpenVRT - уже заблокирован РКН с 7 августа.  У меня wirequard уже не работает (настроен был wireguard + unbound на сервере).  Я не гуру, может кто то ещё ответит и поможет... .

В 16.08.2023 в 00:40, Noragami сказал:

Столкнулся с такой же проблемой, дело в том что Shadowsocks похоже не может маршрутизировать запросы на локальные ip адреса сервера

А каким образом теперь попасть в панель? Как можно изменить настройки панели из командной строки? Или только сносить и устанавливать заново?

Ссылка на комментарий
Поделиться на другие сайты

  • Админы
3 минуты назад, 333444 сказал:

Вроде, wirequard как и OpenVRT - уже заблокирован РКН с 7 августа.  У меня wirequard уже не работает (настроен был wireguard + unbound на сервере).  Я не гуру, может кто то ещё ответит и поможет... .

А каким образом теперь попасть в панель? Как можно изменить настройки панели из командной строки? Или только сносить и устанавливать заново?

Попасть на сервер ты конечно можешь и через VNC у хостера, и убрать ограничение на доступ только из сети WG..

Но в целом - доступ только через проводной интернет получается остается пока единственным вариантов.

Есть статьи про заворачиванию WG в SS тунель.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Большое спацсибо за цикл статей про 3x-ui и Marzban. Все прекрастно работает. Но есть очень большая просьба, опишите пожалуйста в таком же стиле для чайников как настроить доступ через CDN. Ну никак не получается сделать так, чтобы был запасной вариант коннекта к своей проксе даже если будет бан по ip. Никак не получается настроить VLESS+Websockets или VLESS+gRPC чекрез Cloudflare. Заранее спасибо

Ссылка на комментарий
Поделиться на другие сайты

1. При сохранении в любой вкладке выдает ошибку. Что может быть не так?

Спойлер

image.png.93cc59bf5c63ead74270bca31b76d756.png

2. В 10-м пункте копируем сертификаты по пути /root/3x-ui/cert/. После пути к сертификатам новые указывать?

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, vkblack сказал:

1. При сохранении в любой вкладке выдает ошибку. Что может быть не так?

  Показать контент

image.png.93cc59bf5c63ead74270bca31b76d756.png

2. В 10-м пункте копируем сертификаты по пути /root/3x-ui/cert/. После пути к сертификатам новые указывать?

WARNING - Изменение настроекНеудачно: read tcp ip:2053->ip:port: read: connection reset by peer

Ссылка на комментарий
Поделиться на другие сайты

  • Админы
42 минуты назад, vkblack сказал:

WARNING - Изменение настроекНеудачно: read tcp ip:2053->ip:port: read: connection reset by peer

Порт открыт?

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...

Важная информация

Вы принимаете наши Условия использования, Политика конфиденциальности, Правила. А также использование Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.

Яндекс.Метрика