Развертывание прокси протокола VLESS с помощью Marzban
1. Создание личного прокси за несколько минут
Для начала подготовим сервер с установленным пакетом Marzban. Это можно сделать двумя разными способами. Вы можете выбрать наиболее подходящий для Вас.
1.1. Покупка необходимого тарифа с предустановленным Marzban
Для этого нам потребуется купить необходимый сервер в желаемой локации. В нашем случае это будет базовый тариф SWEs-1 в Швеции
Переходим в раздел «Предустановленного ПО»
В предустановленном ПО выбираем скрипт Marzban
Информация
Установка ОС будет произведена согласно указанной ОС в скрипте предустановленного ПО, в данном случае будет установлен Ubuntu 22.04 + Marzban
Выбираем желаемый срок аренды сервера, при необходимости отключаем услугу «Бекапы» и жмём кнопку "Оплатить":
Отлично
Теперь заказанный сервер будет активирован с установкой на него ОС и скрипта Marzban, после чего сервер будет готов к настройке панели и созданию конфига для подключения. Об этом подробно расскажем в пункте 2.
1.2. Переустановка существующего сервера с выполнением установки скрипта Marzban
Перейдём в раздел услуг и нажмём иконку троеточия справа от уже купленного сервера, выберем пункт переустановить
Вы увидите данное меню, в котором перейдем во вкладку «Предустановленного ПО»
Выбираем скрипт Marzban, указываем новый пароль от сервера, нажимаем переустановить
Информация
Переустановка ОС будет произведена согласно указанной ОС в скрипте предустановленного ПО, в данном случае будет установлен Ubuntu 22.04 + Marzban
Отлично
Теперь ОС на сервере будет переустановлена с установкой скрипта Marzban, после чего сервер будет готов к настройке панели и созданию конфига для подключения. Об этом подробно расскажем в пункте 2.
Информация
Вы так же можете обратиться в поддержку для помощи в установке данного ПО.
2. Получение данных для входа в Marzban
Подключаемся к серверу посредством WinSCP (или другого удобного вам SFTP клиента) и указанием IP, логина и пароля из личного кабинета, либо письма с вашей почты.
В корневом каталоге необходимо открыть файл "marzban.txt" с данными для подключения к панели управления Marzban:
Важно
В связи с последними обновлениями безопасности, есть два варианта доступа в панель:
- Через SSH-Туннель
- Через привязку доменного имени к серверу и получении SSL сертификата
Рассмотрим оба случая
2.1. Вход в панель через SSH-туннель
Для входа в панель без использования SSL сертификата и доменного имени, нам требуется создать туннель.
Команда для создания туннеля строится следующим образом:
ssh -L {локальный порт}:{удалённый хост}:{удалённый порт} {пользователь}@{адрес сервера}
В нашем случае команда выглядит следующим образом:
ssh -L 8000:localhost:8000 root@IP_сервера
Информация
Для Windows систем команду необходимо вводить в командной строке (cmd). Для Linux и MacOS - в терминале.
После ввода данной команды, подтверждаем подключение вводом "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/
Важно
Если пароль из файла marzban.txt не подошел, необходимо создать юзера командой ниже, после чего введите имя пользователя и пароль, остальные пункты можно пропустить клавишей Enter.
sudo marzban cli admin create --sudo
После входа мы увидим главную страницу панели:
2.2. Вход в панель Marzban через HTTPS
Для входа в панель Marzban через браузер без настройки SSH Туннелей требуется:
- Приобрести и привязать доменное имя к серверу с панелью Marzban (возможно использование собственного доменного имени)
- Выпустить 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/
Важно
В команде ниже необходимо обязательно указать Ваше используемое доменное имя после параметра -d
~/.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
После выполнения команд вы увидите подобное сообщение о успешном выпуске сертификата:
Важно
Данный сертификат действует 3 месяца. Для автоматического продления его через cron, требуется оставить открытым 80 порт.
Откроем конфигурационный файл панели через редактор nano и укажем пути до SSL-сертификата:
nano /opt/marzban/.env
После внесения изменений, сохраняем файл и перезагружаем панель командой:
marzban restart
После перезапуска переходим в браузер по ссылке https://доменное_имя:8000/dashboard
и наблюдаем окно входа в панель Marzban:
Важно
Если пароль из файла marzban.txt не подошел, необходимо создать юзера командой ниже, после чего введите имя пользователя и пароль, остальные пункты можно пропустить клавишей Enter.
sudo marzban cli admin create --sudo
После входа мы увидим главную страницу панели:
2.3. Настройка протокола Vless TCP Reality в панели Marzban и создание пользователя
Для качественной работы данного протокола необходимо:
- Добавить протокол Vless TCP Reality в панель Marzban
- Сменить Server Names (по умолчанию установлен example.com)
- Сменить Dest (по умолчанию установлен example.com:443)
- Смена ключа шифрования и параметра shortIds
- Фикс ошибки Timeout при подключении через приложение Hiddify
- Создание пользователя
Дальнейшие изменения будут проводиться в настройках, которые находятся в правом верхнем углу (знак настройки)
Начнем с добавления протокола 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 требуется изменить значения:
- ServerNames
- Dest
- Privatekey
- shortIds
Сменим Server Name и Dest
Важно
Подбор Server Name и Dest рекомендуем выполнять командой ping
Чем ниже пинг до определенного сайта, тем меньше задержка при работающем соединении Необходимо выбирать надежные сайты, если сайт будет недоступен, соединения не будет. Обязательно выбирайте не популярные но надежные сайты в качестве Server Name и Dest для вашей конфигурации Vless TCP Reality.
Требования к сайту:
- TLS 1.3
- HTTP/2
- Не должен находиться за CDN сервисом
Проверить ping можно командами:
ping www.ign.com -c 4
ping cryptcheck.fr -c 4
ping github.com -c 4
ping telegram.org -c 4
В данном случае ping до сайта cryptcheck.fr оказался самым низким, выберем его в качестве 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 после чего заменить их в панели
После внесения изменений, необходимо сохранить изменения, перезагрузить ядро и перезагрузить страницу в браузере
Отлично
На данном моменте Vless TCP Reality настроен.
Нам осталось убрать ошибку "Таймаут" при подключении через программу 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 есть несколько приложений для подключения:
- Hiddify (для Операционных систем Windows, Android, Linux)
- Streisand (MacBook на процессорах от M1 и выше, iPhone, iPad)
Рассмотрим подключение для каждого приложения из списка.
3.1. 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
Отлично
Готово. Приложение настроено.
3.2. Streisand
Информация
Данное приложение можно скачать по ссылке: https://apps.apple.com/ru/app/streisand/id6450534064
Необходимо скопировать ключ из панели, запускаем приложение Streisand и кликаем на знак «+» в правом верхнем углу:
Выбираем пункт «Добавить из буфера обмена», после чего ключ добавлен:
Нажимаем кнопку включения VPN, с этого момента ваш IP адрес изменится на IP адрес вашего сервера.
Приятного использования!