🤩Развертывание прокси протокола VLESS с помощью Marzban

Marzban - удобная панель для создания конфигов подключения к прокси различных протоколов, таких как VLESS, VMESS, Trojan, Shadowsocks. В данной инструкции мы рассмотрим подключение по протоколу VLESS.

Создание личного прокси за несколько минут

Для начала подготовим сервер с установленным пакетом Marzban. Это можно сделать двумя разными способами. Вы можете выбрать наиболее подходящий для Вас.

1.1 Покупка необходимого тарифа с предустановленным Marzban

Для этого нам потребуется купить необходимый сервер в желаемой локации. В нашем случае это будет базовый тариф SWEs-1 в Швеции

Переходим в раздел «Предустановленного ПО»

В предустановленном ПО выбираем скрипт Marzban

Установка ОС будет произведена согласно указанной ОС в скрипте предустановленного ПО, в данном случае будет установлен Ubuntu 22.04 + Marzban

Выбираем желаемый срок аренды сервера, при необходимости отключаем услугу «Бекапы» и жмём кнопку "Оплатить":

1.2 Переустановка существующего сервера с выполнением установки скрипта Marzban:

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

Вы увидите данное меню, в котором перейдем во вкладку «Предустановленного ПО»

Выбираем скрипт Marzban, копируем новый пароль от сервера, нажимаем переустановить

Переустановка ОС будет произведена согласно указанной ОС в скрипте предустановленного ПО, в данном случае будет установлен Ubuntu 22.04 + Marzban

Вы так же можете обратиться в поддержку для помощи в установке данного ПО.

2. Получение данных для входа в Marzban

Подключаемся к серверу посредством WinSCP (или другого удобного вам SFTP клиента) и указанием IP, логина и пароля из личного кабинета, либо письма с вашей почты.

В корневом каталоге необходимо открыть файл "marzban.txt" с данными для подключения к панели управления Marzban:

2.1 Вход в панель через SSH-Туннель

Для входа в панель без использования SSL сертификата и доменного имени, нам требуется создать туннель. Команда для создания туннеля строится следующим образом: ssh -L [локальный порт]:[удалённый хост]:[удалённый порт] [пользователь]@[адрес сервера]

В нашем случае команда выглядит следующим образом:

ssh -L 8000:localhost:8000 root@IP сервера

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

Теперь панель должна быть доступна в браузере по ссылке: http://127.0.0.1:8000/dashboard/

Рассмотрим способ получения доступа к панели с мобильных устройств. Нам потребуется программа Termius:https://play.google.com/store/apps/details?id=com.server.auditor.ssh.client - Android https://apps.apple.com/ru/app/termius-terminal-ssh-client/id549039908 - IOS и MacOS После установки переходим в нее и первый раз авторизуемся на сервере через SSH, после чего выходим в главное меню и выбираем вкладку "Port Forwarding"

В нижнем углу нажимаем "+" после чего выбираем Local и нажимаем Continue

Выбираем сервер из списка, после чего указываем следующие данные:

Задаем имя данному туннелю и нажимаем на "Галочку" чтобы сохранить настройки:

Активируем туннель путем нажатия на данное правило:

Теперь панель должна быть доступна в браузере по ссылке: http://127.0.0.1:8000/dashboard/

sudo marzban cli admin create --sudo

После входа мы увидим главную страницу панели:

2.2 Вход в панель Marzban через HTTPS

Для входа в панель Marzban через браузер без настройки SSH Туннелей требуется: 1. Приобрести и привязать доменное имя к серверу с панелью Marzban (возможно использование собственного доменного имени) 2. Выпустить SSL сертификат для доменного имени и указать сертификат в конфигурации панели Marzban

Вы можете быстро и легко приобрести домен у нас на сайте за несколько минут - https://my.aeza.net/order/domain

Если доменное имя уже имеется либо приобретено в другом месте, нужно добавить A-запись направленую на сервер с панелью Marzban

Правильно добавленная А-запись выглядит следующим образом:

После установки А-записи, необходимо дождаться обновления данных в глобальной сети: Обычно это происходит в течении 5-15 минут, но иногда время обновления DNS-записей занимает до 24 часов.

Проверить обновление данных в сети можно в различных сервисах, например: https://dnschecker.org

После глобального обновления доменного имени, переходим в SSH-консоль сервера и выпустим SSL-сертификат с использованием скрипта Acme.sh Ниже пошагово указаны команды для получения SSL-сертфиката через Acme.sh:

sudo apt install cron socat
curl https://get.acme.sh | sh -s email=Ваша почта
sudo mkdir -p /var/lib/marzban/certs/
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt --issue --standalone -d Ваше_доменное_имя \
 --key-file /var/lib/marzban/certs/key.pem \
 --fullchain-file /var/lib/marzban/certs/fullchain.pem

После выполнения команд вы увидите подобное сообщение о успешном выпуске сертификата:

Откроем конфигурационный файл панели через редактор nano и укажем пути до SSL-сертификата:

nano /opt/marzban/.env

После внесения изменений, сохраняем файл и перезагружаем панель командой:

marzban restart

После перезапуска переходим в браузер по ссылке https://доменное_имя:8000/dashboard и наблюдаем окно входа в панель Marzban:

sudo marzban cli admin create --sudo

После входа мы увидим главную страницу панели:

2.3 Настройка протокола Vless TCP Reality в панели Marzban и создание пользователя

Для качественной работы данного протокола необходимо: 1. Добавить протокол Vless TCP Reality в панель Marzban 2. Сменить Server Names ( по умолчанию установлен example.com) 3. Сменить Dest ( по умолчанию установлен example.com:443) 4. Смена ключа шифрования и параметра shortIds 5. Фикс ошибки Timeout при подключении через приложение Hiddify 6. Создание пользователя

Дальнейшие изменения будут проводиться в настройках, которые находятся в правом верхнем углу (знак настройки)

Начнем с добавления протокола Vless TCP Reality Открываем данные настройки

Наблюдаем что в блоке "Inbounds" только Shadowsocks TCP, добавим Vless TCP Reality в начало блока после квадратной скобки

{
      "tag": "VLESS TCP REALITY",
      "listen": "0.0.0.0",
      "port": 443,
      "protocol": "vless",
      "settings": {
        "clients": [],
        "decryption": "none"
      },
      "streamSettings": {
        "network": "tcp",
        "tcpSettings": {},
        "security": "reality",
        "realitySettings": {
          "show": false,
          "dest": "заменить:443",
          "xver": 0,
          "serverNames": [
            "заменить"
          ],
          "privateKey": "заменить",
          "shortIds": [
            "заменить"
          ]
        }
      },
      "sniffing": {
        "enabled": true,
        "destOverride": [
          "http",
          "tls",
          "quic"
        ]
      }
    },

После добавления протокола, конфигурация должна выглядеть данным образом

После добавления протокола Vless TCP Reality требуется изменить значения: 1. ServerNames 2. Dest 3. Privatekey 4. shortIds

Сменим Server Name и Dest

Требования к сайту: 1. TLS 1.3 2. HTTP/2 3. Не должен находиться за CDN сервисом

Проверить ping можно командой:

ping сайт -c 4

Если вы не нашли сайт подходящий под данные требования, можно использовать сайты указанные ниже:

Лучше подходит для серверов в Швеции:

teamdocs.su 

Лучше подходит для серверов в Германии:

wikiportal.su

Лучше подходит для серверов в Москве:

docscenter.su

В данном случае ping до сайта teamdocs.su оказался самым низким, выберем его в качестве Server Name и Dest, укажем их в данные строки

Сгенерируем новые ключи шифрования и параметр shortIds в командной строке вашего сервера командами

docker exec marzban_marzban_1 xray x25519

Если вышла ошибка, попробуйте другую команду:

docker exec marzban-marzban-1 xray x25519
openssl rand -hex 8

Нам необходимо скопировать параметры Private key и shortIds после чего заменить их в панели

После внесения изменений, необходимо сохранить изменения, перезагрузить ядро и перезагрузить страницу в браузере

Нам осталось убрать ошибку "Таймаут" при подключении через программу Hiddify

Возвращаемся в конфигурацию панели и находим пункт "Routing"

Вставляем следующее правило в самое начало блока rules после квадратной скобки

{
        "outboundTag": "DIRECT",
        "domain": [
          "full:cp.cloudflare.com",
          "domain:msftconnecttest.com",
          "domain:msftncsi.com",
          "domain:connectivitycheck.gstatic.com",
          "domain:captive.apple.com",
          "full:detectportal.firefox.com",
          "domain:networkcheck.kde.org",
          "full:*.gstatic.com"
        ],
        "type": "field"
      },

После внесения изменений, необходимо их сохранить и перезагрузить ядро

Создадим пользователя в панели Marzban и выберем протокол Vless TCP Reality

Копируем ключ подключения к нашему серверу данным образом и переходим в третий пункт "Подключение ключа в клиент VLESS"

3. Подключение ключа в клиент VLESS

Для ключей Vless есть несколько приложений для подключения: 1. Hiddify (Для Операционных систем Windows, Android, Linux) 2. Streisand (MacBook на процессорах от M1 и выше, Iphone, Ipad) Рассмотрим подключение для каждого приложения из списка.

Hiddify

Репозиторий Github в котором необходимо выбрать приложение под Вашу операционную систему:https://github.com/hiddify/hiddify-next/releases Приложение на Android можно установить через Google Play: https://play.google.com/store/apps/details?id=app.hiddify.com

Необходимо скопировать ключ из панели, запускаем приложение Hiddify и кликаем новый профиль:

Далее нажимаем добавить из буфера обмена, после чего Ваш ключ будет добавлен:

Нажимаем кнопку «Нажмите для подключения», с этого момента ваш IP адрес изменится на IP адрес вашего сервера.

Отключим Регион "Россия" и включим режим VPN ( по умолчанию установлен режим Системный прокси)

Для включения режима VPN необходимо установить запуск приложения от имени администратора в свойствах ярлыка

После данного действия, перезапускаем приложение и включаем режим VPN

Streisand

Данное приложение можно скачать по ссылкe: https://apps.apple.com/ru/app/streisand/id6450534064

Необходимо скопировать ключ из панели, запускаем приложение Streisand и кликаем на знак «+» в правом верхнем углу:

Выбираем пункт «Добавить из буфера обмена», после чего ключ добавлен:

Нажимаем кнопку включения VPN, с этого момента ваш IP адрес изменится на IP адрес вашего сервера.

Приятного использования!

Last updated