<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>https://xander</title><generator>teletype.in</generator><description><![CDATA[https://xander]]></description><image><url>https://img1.teletype.in/files/46/00/46001170-0683-4cab-8d1c-502cc05fac46.png</url><title>https://xander</title><link>https://teletype.in/@xxxander</link></image><link>https://teletype.in/@xxxander?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=xxxander</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/xxxander?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/xxxander?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Thu, 25 Jun 2026 00:38:49 GMT</pubDate><lastBuildDate>Thu, 25 Jun 2026 00:38:49 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@xxxander/marzban</guid><link>https://teletype.in/@xxxander/marzban?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=xxxander</link><comments>https://teletype.in/@xxxander/marzban?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=xxxander#comments</comments><dc:creator>xxxander</dc:creator><title>Устанавливаем и настраиваем Marzban | Личный VPN - сервер</title><pubDate>Thu, 06 Feb 2025 21:42:49 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/69/e9/69e971dc-a35d-4f9a-a21c-665d7eb1f2fe.png"></media:content><description><![CDATA[<img src="https://img1.teletype.in/files/86/70/867070d3-e7c4-4b5a-a68d-3365ad0537f6.jpeg"></img>Прежде, чем приступить, хочу сказать, что не претендую на экспертное мнение, я обычный пользователь и описываю то, что у меня получилось, изучая документацию.]]></description><content:encoded><![CDATA[
  <figure id="u31J" class="m_column">
    <img src="https://img1.teletype.in/files/86/70/867070d3-e7c4-4b5a-a68d-3365ad0537f6.jpeg" width="1178" />
  </figure>
  <p id="STWH">Прежде, чем приступить, хочу сказать, что не претендую на экспертное мнение, я обычный пользователь и описываю то, что у меня получилось, изучая документацию.</p>
  <p id="UZ9x">Вам понадобится арендованный VPS  (Ubuntu 22.04) и домен (не обязательно, но буду рассматривать именно этот вариант) .Не могу рекомендовать что-то конкретное, &quot;идеальных решений&quot; нет. Если поизучать, пощупать как и что, можно попробовать какой нибудь <a href="https://xorek.cloud/?from=7859" target="_blank">XorekCloud</a> , исключительно🇳🇱Нидерланды. Но в целом советую поискать какой нибудь зарубежный хостинг, сам использую <a href="https://clients.liteserver.nl/aff.php?aff=816" target="_blank">LiteServer. </a>Домен брал на <a href="https://www.reg.ru/domain/new/?rlink=reflink-28677281" target="_blank">REG.RU</a> (подбирайте на латинице)<br />VPS + домен = база есть. LFG!</p>
  <p id="pUWY">Заходим на свой приобретенный сервер (данные вам должен будет отправить хостинг на почту, там будут IP, имя пользователя, пароль).</p>
  <p id="fpdP">Проверяем сервер на качество IP:</p>
  <pre id="usea" data-lang="bash">bash &lt;(curl -Ls IP.Check.Place) -l en -4</pre>
  <figure id="PsRD" class="m_column">
    <img src="https://img4.teletype.in/files/33/33/33330cba-7b7c-4106-bb7f-3c954175bf9b.jpeg" width="1179" />
  </figure>
  <p id="Gyxy">Если вам попался грязный IP, просите замену у хостера.</p>
  <h3 id="RqkU"><br />1. Подготовка сервера:</h3>
  <pre id="gLA3" data-lang="bash">apt update &amp;&amp; apt upgrade -y</pre>
  <pre id="fcL0" data-lang="bash">apt install -y curl wget nano cron socat</pre>
  <h3 id="HwuW"><br />2. Установка Marzban + MySQL:</h3>
  <pre id="4OtK" data-lang="bash">bash -c &quot;$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)&quot; @ install --database mysql</pre>
  <p id="7Vyq">Попросит пароль для базы данных MySQL - придумайте его. По завершению установки пройдут логи, чтобы выйти из них, нажмите Ctrl+C</p>
  <h3 id="t48x"></h3>
  <h3 id="vYfd">3. Получение сертификатов с acme.sh:</h3>
  <p id="EH0t">Тут сначала нужно поработать с вашим доменом. <br />Нужно изменить Nameserver (NS сервера) где покупали домен на Cloudflare. Регистрируемся на <a href="https://www.cloudflare.com/ru-ru/" target="_blank">Cloudflare</a>. Идем на главную страницу и по середине будет кнопка Get started. Дальше выбирайте всё бесплатное и где попросит вписать домен вписываем ранее купленный домен. Позже вас попросит изменить NS сервера на cloudflare. Изменяем там где покупали, поищите в интернете как изменить NS сервера к примеру на reg.ru. После надо подождать примерно 30 минут, чтобы обновились NS сервера. Если они обновились, то по заходу в Cloudflare рядом с доменом будет ✅ Active. Нажимаем на домен и заходим в DNS из меню. Добавляем A-запись через +Add record. В Name прописываем домен и в IPv4 address ваш айпи сервера. Если были другие записи, то их надо удалить и оставить одну А-запись. Нажимаем Save, чтобы сохранить DNS запись.</p>
  <p id="rHOY">Когда разберетесь с Cloudflare, возвращаетесь на сервер и работаете дальше:</p>
  <pre id="7l7Z" data-lang="bash">curl https://get.acme.sh | sh -s email=EMAIL
#EMAIL - ваш email (можно ввести любой)</pre>
  <pre id="8spP" data-lang="bash">mkdir -p /var/lib/marzban/certs/
#Создание директории для сертификатов</pre>
  <pre id="9oYy" data-lang="bash">~/.acme.sh/acme.sh --set-default-ca --server letsencrypt --issue --standalone -d DOMAIN \
 --key-file /var/lib/marzban/certs/key.pem \
 --fullchain-file /var/lib/marzban/certs/fullchain.pem
#Замените DOMAIN на ваш домен или субдомен</pre>
  <h3 id="TCEl"><br />4. Подключение SSL с помощью Uvicorn</h3>
  <pre id="EKvH" data-lang="bash">nano /opt/marzban/.env
#Открываем редактор файла настроек</pre>
  <p id="z2eb">Меняем данные в строках с красных на зеленые (uvicorn_port можно изменить на свой, я же оставил 8000 по умолчанию)</p>
  <figure id="38ZX" class="m_column">
    <img src="https://img1.teletype.in/files/83/d2/83d2bbd9-4597-49e4-abba-7910ef0b8d04.jpeg" width="2250" />
  </figure>
  <figure id="4sa0" class="m_column">
    <img src="https://img4.teletype.in/files/31/26/31265479-33e2-44f4-9d1a-493fe78f9c31.jpeg" width="1368" />
  </figure>
  <p id="EKkF">Прошу заметить, что в редакторе нужно раскомментировать данные строки, убрав # в начале каждой из них. Для того, чтобы выйти с сохранением изменений - нажмите Ctrl+X, затем Y, после Enter</p>
  <pre id="T83Q" data-lang="bash">marzban restart
#Перезагружаем Marzban, чтобы изменения вступили в силу</pre>
  <p id="6AuD">Создаем учетную запись Marzban:</p>
  <pre id="ssGu" data-lang="bash">marzban cli admin create --sudo
#Выполните эту команду для создания учетной записи главного администратора и доступа к панели управления Marzban</pre>
  <p id="c08T">Панель установлена! Но давайте зададим правило в CloudFlare, чтобы работали будущие подписки. Заодно замаскируем порт в адресе панели.</p>
  <p id="EO9A">Идем на главную страницу CF, там выбираем свой домен. Переходим в меню, ищем Rules - заходим в Overview. Находим в списке Origin Rules и жмем Create.</p>
  <figure id="mH93" class="m_column">
    <img src="https://img3.teletype.in/files/20/08/20088a10-abb8-444d-9f5c-f6bdc2656cda.jpeg" width="2915" />
  </figure>
  <p id="gHEg"> Когда сделаете все по примеру, нажмите Deploy. CF больше не нужен, его можете закрыть. Доступ к панели будет по адресу https://доменное_имя/dashboard<br />Обзор панели <a href="https://marzban-docs.sm1ky.com/ui/main/" target="_blank">ТУТ</a></p>
  <h3 id="Q8JB"><br />5. Создаем подключение VLESS-TCP-REALITY</h3>
  <p id="RCsN">Создаем конфигурацию подключения <a href="https://azavaxhuman.github.io/MarzbanInboundGenerator/v2/" target="_blank">в генераторе</a></p>
  <figure id="jClX" class="m_column">
    <img src="https://img3.teletype.in/files/2d/47/2d473c6d-a559-49ca-9c65-7355379b5c7b.jpeg" width="2788" />
  </figure>
  <p id="k8D5">Заполняете все как на примере.  ShortID, Public и Private ключи нужно получить через команды на сервере и ввести их в соответствующие ячейки генератора.</p>
  <pre id="umbl" data-lang="bash">openssl rand -hex 8
#Получаем ShortID</pre>
  <pre id="FQgP" data-lang="bash">docker exec marzban-marzban-1 xray x25519
#Получаем Public и Private Key</pre>
  <p id="8hbM">Конфиг готов! Осталось скопировать его из генератора кнопкой <strong>&quot;Copy to Clipboard!&quot;</strong> и вставить его в конфигурацию настроек Marzban.</p>
  <p id="VFP6">Переходим в панель Marzban, в правом верхнем углу жмем на знак настройки  ⚙️. <br />Наблюдаем что в блоке <strong>&quot;inbounds&quot;</strong> только Shadowsocks TCP. <strong>Добавим Vless TCP Reality в начало блока после квадратной скобки.</strong></p>
  <figure id="Tz4H" class="m_column">
    <img src="https://img2.teletype.in/files/5f/83/5f8366fc-57b5-4380-8f7d-069827331959.jpeg" width="1179" />
  </figure>
  <p id="Jx1r">После изменений, необходимо их сохранить, перезагрузить ядро, а затем страницу в браузере. На этом настройка подключения VLESS-TCP-REALITY завершена!</p>
  <p id="YaOY"></p>
  <h3 id="kYUr">6. Создаем пользователя </h3>
  <p id="Kas1">Жмем на <strong>&quot;Создать&quot; </strong></p>
  <figure id="uDiA" class="m_column">
    <img src="https://img2.teletype.in/files/9a/87/9a870644-210c-4419-baae-f847e819bb3d.jpeg" width="1179" />
  </figure>
  <p id="wm8k">На данном примере я создал пользователя с именем TEST_USER, лимитом по трафику 50 Gb, который будет обновляться ежемесячно и общий срок конфигурации 180 дей. Также включил &quot;В режим ожидания&quot; - это значит, что конфигурация со всеми ее ограничениями по сроку и трафику начнет действовать с того момента, как пользователь в первый раз подключится к ней.</p>
  <figure id="jp0m" class="m_column">
    <img src="https://img4.teletype.in/files/b9/78/b9786ea7-9c1d-4ec6-9020-1445ec4f6ee9.jpeg" width="1179" />
  </figure>
  <p id="PGUt">Осталось лишь скопировать конфигурацию, поместить ее в клиента и начать пользоваться своим подключением. <br />Оставляю <a href="https://marzban-docs.sm1ky.com/start/reality_app/" target="_blank">список клиентов</a> на выбор.</p>
  <p id="HAnr">Также можно настроить подключение, чтобы подписки отображались, как вам удобно. Для этого переходим в меню панели, затем в Настройка хоста. Выбираете нужное подключение.</p>
  <figure id="jwXk" class="m_column">
    <img src="https://img3.teletype.in/files/a3/0f/a30f176c-d678-4b99-bc6d-3ef271157202.jpeg" width="992" />
  </figure>
  <p id="fn4S">Я ввел название локации сервера + переменную {DAYS_LEFT}, получилось у меня вот так:</p>
  <figure id="kEaz" class="m_column">
    <img src="https://img1.teletype.in/files/c8/a0/c8a055ec-0289-4aeb-a72b-56bb2487e0e4.jpeg" width="1085" />
  </figure>
  <h3 id="ssAa">На этом базовая настройка Marzban завершена! </h3>
  <h3 id="t2zm">_________________________________<br />7. Настройка WARP</h3>
  <p id="24EB">В целом он нужен для доступа к сервисам, где даже с VPN не удается зайти, либо у вас попался грязный IP на VPS. Это можно поправить warp&#x27;ом</p>
  <pre id="GgL0" data-lang="bash">curl -L https://raw.githubusercontent.com/Skrepysh/tools/refs/heads/main/install-warp-cli.sh &gt; install-warp-cli.sh &amp;&amp; sudo chmod +x install-warp-cli.sh &amp;&amp; sudo ./install-warp-cli.sh
#Скрипт установки официального warp-cli</pre>
  <p id="eWg2">После запуска скрипта будут варианты, введите 1. <br />Пройдет установка, предложит ввести ключ Warp Plus. Если он у вас есть - введите, в ином случае нажмите Enter для пропуска - установится Free тариф. После этого введите порт 40000. </p>
  <figure id="okPB" class="m_column">
    <img src="https://img2.teletype.in/files/dc/e9/dce9b48c-a94d-4ab2-a4ef-5078931921fb.jpeg" width="1388" />
  </figure>
  <p id="pf8x">Все - установлен Warp в режиме локального прокси, осталось его активировать в Marzban, поправив конфиг настроек, мы с ним уже работали в <strong>п.5</strong>.   <br /><br />Нужно добавить новый outbound:</p>
  <pre id="jHZc" data-lang="bash">{
      &quot;tag&quot;: &quot;warp&quot;,
      &quot;protocol&quot;: &quot;socks&quot;,
      &quot;settings&quot;: {
      &quot;servers&quot;: [
          {
            &quot;address&quot;: &quot;127.0.0.1&quot;,
            &quot;port&quot;: 40000
          }
        ]
      }
    }
</pre>
  <figure id="1RX5" class="m_column">
    <img src="https://img4.teletype.in/files/fb/af/fbaffd22-af32-42df-8558-3797f51869b6.jpeg" width="1831" />
  </figure>
  <p id="dCJc">Должно получиться так ☝️   <br /></p>
  <p id="FBAv">Также добавим новые правила в настройку маршрутизации:</p>
  <pre id="xHDp" data-lang="bash">{    
        &quot;ip&quot;: [&quot;geoip:ru&quot;],   
        &quot;outboundTag&quot;: &quot;warp&quot;,   
        &quot;type&quot;: &quot;field&quot;
      }, 
      { 
        &quot;domain&quot;: [&quot;geosite:google&quot;, 
                   &quot;geosite:openai&quot;, 
                   &quot;geosite:category-ru&quot;], 
        &quot;outboundTag&quot;: &quot;warp&quot;, 
        &quot;type&quot;: &quot;field&quot; 
      }</pre>
  <figure id="bM4Z" class="m_column">
    <img src="https://img2.teletype.in/files/12/5d/125d36bd-3e07-4313-ac96-b6b3d2eec98a.jpeg" width="1701" />
  </figure>
  <p id="wNfk">Должно получиться так ☝️</p>
  <p id="9TGG">Идем через свой VPN на 2ip.io - должен быть IP VPS   <br />Переходим на 2ip.ru - должно замаскироваться доменом WARP Cloudflare. Если у вас так, значит варп и правила работают по сценарию.</p>
  <p id="aVax"></p>
  <h3 id="U2PI">8. Маскировка VPN под свой сайт:</h3>
  <p id="jd0l">При создании подключения в sni и dest мы вводили популярные домены (telegram, whatsapp, yahoo). Использовать подобные решения в целом не стоит, т.к конторы могут выявить аномальный трафик =&gt; заблокировать соединение или внести IP в черный список. Кроме того, провайдер может проверить, действительно ли ваш трафик соответствует тому, как работает настоящий сайт. Поэтому вместо этого мы будем использовать свой сайт для маскировки.</p>
  <p id="vXnL">Подготовим наше подключение vless к будущей работе. Идем в панель - настройки, там в созданном ранее подключении приводим эти строки в такой вид (используйте свой домен): </p>
  <pre id="hHD9" data-lang="bash"> &quot;dest&quot;: &quot;127.0.0.1:20000&quot;,
 &quot;xver&quot;: 1,
 &quot;serverNames&quot;: [
        &quot;mydomain.com&quot;,
        &quot;www.mydomain.com&quot;
 ],</pre>
  <p id="IcyT">Сохраняете изменения. После идете в свой Cloudflaer, там нужно выключить, либо удалить созданное ранее правило, которе мы создавали для скрытия порта в конце <strong>п.4</strong>, а также создать CNAME-запись для домена (скрин)</p>
  <figure id="vTcC" class="m_column">
    <img src="https://img4.teletype.in/files/f0/c6/f0c6b421-dfb8-476a-b1c1-e2ad353f6bb4.jpeg" width="1069" />
  </figure>
  <p id="zRMr">У вас в итоге будет А и CNAME записи. В них обязательно выключите &quot;Proxy status&quot;. <br /></p>
  <p id="3UNa">Теперь вам нужно отредактировать конфиг Marzban:</p>
  <pre id="Bb5J" data-lang="bash">nano /opt/marzban/.env
#Открываем редактор файла настроек</pre>
  <p id="sZTc">В UVICORN_HOST прописываем 127.0.0.1   <br />И закомментируйте эти строки:   <br />UVICORN_SSL_CERTFILE <br />UVICORN_SSL_KEYFILE <br />XRAY_SUBSCRIPTION_URL_PREFIX<br />Сохраняемся, выходим (Ctrl+X, затем Y, после Enter) и перезагружаем Marzban:</p>
  <pre id="LK67" data-lang="bash">marzban restart
</pre>
  <p id="dM7v">Дальше нужно установить и настроить Caddy: </p>
  <pre id="1eI9" data-lang="bash">apt install -y debian-keyring debian-archive-keyring apt-transport-https curl</pre>
  <pre id="zirq" data-lang="bash">curl -1sLf &#x27;https://dl.cloudsmith.io/public/caddy/stable/gpg.key&#x27; | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg</pre>
  <pre id="AyFB" data-lang="bash">curl -1sLf &#x27;https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt&#x27; | sudo tee /etc/apt/sources.list.d/caddy-stable.list</pre>
  <pre id="HHBr" data-lang="bash">apt update &amp;&amp; apt install caddy</pre>
  <p id="LEUg">Будем использовать шаблон от Skrepysh: </p>
  <pre id="7nb3" data-lang="bash">sudo wget https://raw.githubusercontent.com/Skrepysh/tools/refs/heads/main/Caddyfile -qO /etc/caddy/Caddyfile &amp;&amp; sudo nano /etc/caddy/Caddyfile</pre>
  <p id="HjL5">Откроется Caddyfile в редакторе nano, вы должны заполнить все поля, отмеченные &quot;🚨&quot;, своими значениями (а также удалить комментарии, отмеченные тем же символом). Когда сделаете - сохранитесь, выйдите из редактора (Ctrl+X, затем Y, после Enter) и перезапустите Caddy:</p>
  <pre id="lzC4" data-lang="bash">systemctl restart caddy</pre>
  <p id="Vqoz">Отлично! Почти готово. Теперь нужно создать папку для вашего маскировочного сайта:</p>
  <pre id="jFbd" data-lang="bash">mkdir -p /var/www/caddy</pre>
  <p id="9v5P">Помещаем в эту папку свой сайт:</p>
  <pre id="xEU8" data-lang="bash">nano /var/www/caddy/index.html</pre>
  <p id="4v6I">Откроется редактор nano. Сюда вам нужно вставить код своего сайта (его легко можно создать с помощью чата GPT), сохраниться и выйти (Ctrl+X, затем Y, после Enter). Вам нужно понимать, что сайт должен выглядеть, как реальный и не имеющий тематики vpn/proxy.</p>
  <p id="hBmZ">У меня получился такой сайт на тематику облачного хранилища, где меня встречает главная страница авторизации, при неверном вводе логина/пароля высвечивается уведомление об этом, есть кнопка &quot;запомнить меня&quot; и смена языка сайта ENG/RU.</p>
  <figure id="Ill1" class="m_column">
    <img src="https://img1.teletype.in/files/8b/0a/8b0a041a-1ead-4703-a1b6-f7595ed8cfde.jpeg" width="1179" />
  </figure>
  <p id="3WjW">Если вы все сделали правильно и без ошибок, то у вас должно работать vpn-подключение, открываться сайт по адресу <a href="https://mydomen.com" target="_blank">https://mydomen.com</a> и открываться панель по адресу <a href="https://mydomen.com/dadhboard" target="_blank">https://mydomen.com/dashboard/</a></p>
  <p id="Aypw"><br /></p>
  <p id="c2DI"></p>
  <hr />
  <p id="IcHU">В основу этого гайда легла <a href="https://marzban-docs.sm1ky.com/" target="_blank">документация</a> Marzban   <br />Также спасибо TG каналу: <a href="http://t.me/protocol_vpn" target="_blank">t.me/protocol_vpn</a>, обращайтесь туда за помощью!</p>
  <h3 id="lbEJ">По возможности буду дополнять этот гайд🥸</h3>
  <p id="LpUJ"><br />Если есть желание отблагодарить (крипта):    <br /><strong>Solana (SOL):   <br /></strong>CeRXuRq5mTeZkDHGPfwqdPEEE1HQg2sPstGfwd7UvkLU  <br /><strong>Toncoin (TON):    <br /></strong>UQCpnON3BMgiJyZlr5TL4mNJVJspkb3Dp5H5ZfnBn_WY0mYG</p>

]]></content:encoded></item></channel></rss>