Каждый, кто сталкивался с вопросом обхода блокировок таких сайтов, как Instagram, Facebook, OpenAI и других, к которым закрыт доступ в РФ, знает, что бесплатные VPN не всегда надежны. Платные VPN-сервисы тоже не всегда быстро работают, да и порой стоят не мало.

На мой взгляд, лучшее решение — это свой собственный VPN с возможностью создания неограниченного количества ключей (один ключ — одно устройство) и, как вы догадались, делать такой VPN я сегодня вас научу.

Создавать VPN мы будем через сервис Outline. Я использую его сам. Эта штука очень удобная и легко настраивается даже для новичка. Обо всем подробнее далее.

Для работы нам потребуется:

  • VPS сервер на Linux

  • Программа Outline Manager

  • Программа Outline Client

VPS сервер

Обычно я отдаю предпочтение VPS серверам на Ubuntu. Достаточно самого простого сервера, стоимостью от 400 рублей в месяц.

Outline Manager

Outline Manager нужен для подключения вашего VPS сервера к системе Outline. Через эту программу мы будем генерировать VPN ключи и управлять ими. Этот софт доступен для Linux, Windows и MacOS.

Outline Client

Outline Client нужен для использования VPN ключей. Работает на iOS, Android, Linux, Windows и MacOS. Важно помнить о правиле. Одновременно один ключ можно использовать на одном устройстве!

Теперь к пошаговой инструкции:

  1. Загружаем Outline Manager (с официального сайта)

  2. Запускаем программу

  3. Нажимаем на «Добавить сервер»

Нажимаем на «Добавить сервер» (шаг 3)
Нажимаем на «Добавить сервер» (шаг 3)
  1. Выбираем вариант "Настроить где угодно"

Выбираем вариант "Настроить где угодно"
Выбираем вариант "Настроить где угодно"
  1. На следующем экране будет эта строка. Добавляем ее в буфер обмен (копируем)

На следующем экране будет эта строка. Добавляем ее в буфер обмен (копируем)
На следующем экране будет эта строка. Добавляем ее в буфер обмен (копируем)

Авторизация на VPS сервере

После покупки VPS сервера обычно доступен вариант авторизации через SSH. Будем считать, что это ваш случай.

Приступаем к авторизации:

  1. Открываем командную строку

  2. Вводим

ssh usernamen@host (ip адресс сервера)
yes
password
  1. После входа вас поприветствует ваш Linux.

  1. Далее нам нужно установить утилиту curl.

 sudo apt install curl

Утилита curl нужна для корректной отправки запроса в Outline.

Теперь мы готовы к установке Outline. Вставляем скопированную строку из Outline Manager в терминал Ubuntu:

sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)"

Обратите внимание: при установке Outline могут потребоваться дополнительные пакеты. Следуйте инструкциям и вводите Y для загрузки/установки дополнительных пакетов.

На выходе вы должны получить сообщение «CONGRATULATIONS! Your Outline server is up and running.» и, самое главное, строку, которую нужно скопировать и вставить в Outline Manager.

Обратите внимание по ходу установки мне пришлось ввести Y
Обратите внимание по ходу установки мне пришлось ввести Y

Копируем эту строку и вставляем в окно Outline Manager (скрин ниже).

Теперь вас перенаправит на окно управления ключами. Вот некоторые возможности:

  1. Добавить новый ключ

  2. Удалить ключ

  3. Переименовать ключ

  4. Задать ограничение трафика

  5. Переименовать сервер и настроить его

Теперь давайте потестируем наш первый ключ.

  1. Выбираем «Поделиться»

2. На следующем экране «Копировать ключ доступа»

Теперь нам остается вставить этот ключ в программу Outline Client. Ниже я буду показывать в Windows версии, но тот же принцип будет распространяться на любую другую платформу.

  1. Открываем Outline Client

  2. Вставляем ключ

  3. Нажимаем «Добавить сервер»

  1. Нажимаем на "Подключить"

Теперь проведем небольшой тест. Вот как меня видят в сети без Outline и с включенным собственным VPN.

Без VPN
Без VPN
С VPN
С VPN

Выводы

То, что я описал выше, доступно каждому. Однако взаимодействовать с Outline можно и программно. Например, существует полезная библиотека Python3, которая позволяет управлять ключами через стандартные запросы.

Это особенно удобно для создания телеграм-бота для продажи ключей (я уже разрабатывал такого, если интересно — пишите в личные сообщения, дам ссылку) или собственного веб-приложения для продажи ключей.

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

Всего доброго!

Комментарии (63)


  1. Pol1mus
    08.06.2024 11:18
    +9

    Жесть.

    https://amnezia.org/ru От сервера требуется только ssh. От клиента смартфон.


    1. MountainGoat
      08.06.2024 11:18

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

      А вот смартфон совсем не обязателен.


      1. Pol1mus
        08.06.2024 11:18
        +1

        Докер не требуется, в том смысле что он его сам поставит. Нужен только доступ через ssh. Комп и вот эти все ваши консольные приключения не нужны, достаточно телефона.


        1. Kenya-West
          08.06.2024 11:18

          Вы не поняли вопрос.

          А если у меня нет телефона, в смысле, смартфона? В таком случае я не смогу воспользоваться Amnezia?


    1. benjik
      08.06.2024 11:18

      Поддерживаю. Плюс при использовании протокола amnezia wg скорость быстрее чем у outline


      1. Kil1J0y
        08.06.2024 11:18
        +1

        А ещё логи outline засрали систему полностью...

        Долой outline


        1. edik-petrof
          08.06.2024 11:18

          Так это не беда конкретного приложения. Грамотно настроенный logrotate решит проблему нехватки дискового пространства из-за логов не только outline, но и nginx, apache, и множества других приложений, включая даже syslog. Что-то из этого включено в дефолтный конфиг, а что-то придется добавить вручную. А насчет долой - это надо смотреть насколько легко outline блокируется на уровне протокола в сравнении с конкурирующими решениями.


          1. Kil1J0y
            08.06.2024 11:18

            А его блочили.. ss в нем вышел не очень. +есть нюанс в плане безопасности, он подвержен mitm(если не подводит память из за работы только по ip)


            1. RoundRobin
              08.06.2024 11:18

              Там ss старой уязвимой версии. Но в РФ блокировали не сам SS протокол, а "все непонятное" (кроме протоколов из белого списка).


    1. Dertefter
      08.06.2024 11:18

      Ну outline в любом случае ставится проще


  1. GennPen
    08.06.2024 11:18
    +1

    Вопросы:

    Поддерживает ли IPv6? Если поддерживает, то через NAT или напрямую?

    Чем он лучше того же WireGuard кроме как настройки? Я имею в виду, есть ли у него обфускация трафика, которая затруднит определение трафика: ВПН/неВПН.

    Есть ли клиент для серверной Ubuntu?


    1. MountainGoat
      08.06.2024 11:18

      Это вроде голый OpenVPN.


      1. GennPen
        08.06.2024 11:18
        +1

        Погуглил, пишут, что на основе Shadowsocks.


        1. MountainGoat
          08.06.2024 11:18

          Тьфу, извините, с другим таким же попутал, ибо имя им - легион.


          1. GennPen
            08.06.2024 11:18

            Еще больше погуглил. Кратко говоря, Outline мимикрирует под обычный HTTPS трафик.

            IPv6 родной клиент вроде как не поддерживает. Но можно подключаться через Shadowsocks клиент, который умеет в IPv6. Получается, подключаться можно и через консольный Shadowsocks клиент с Ubuntu.

            Нужно пробовать на практике.


            1. RoundRobin
              08.06.2024 11:18

              Нет, он не мимикрирует под обычный HTTPS трафик. Для наблюдателя он выглядит как шифрованный поток данных. TLS-хэндшейка там вообще нет.


    1. GennPen
      08.06.2024 11:18

      И еще, кто пользуется клиентом для Андроида. У него есть исключения для определенных приложений, как в клиенте WireGuard?


      1. Barnaby
        08.06.2024 11:18

        Нет, но можно использовать обычный клиент для SS, там есть https://play.google.com/store/apps/details?id=com.github.shadowsocks


  1. 0mogol0
    08.06.2024 11:18
    +3

    я не очень понял, а что за Outline? ну т.е. Ригу брал, Казань брал... OpenVPN знаю, WireGuard, XTLS знаю. Про Outline первый раз слышу. Что у него под капотом? Если уже рассказывали, то может стоило бы дать ссылку на материал в начале, чтобы понять о чём собственно речь.

    Пока выглядит так, будто есть внешний центр сертификации, через который вы управляете выдачей ключей, и который при желании / наличии злой воли сможет в любую минуту их отозвать или выпустить свои. И всё это, вместо того, чтобы развернуть свой локальный ЦА, для полного контроля над сервером.


    1. Dick_from_mountain
      08.06.2024 11:18

      Использую Outline как Gui клиент под Линуксом для соединения с сервером Shadowsocks. Что он ещё умеет не в курсе, но с вышеупомянутым работает нормально.


      1. ainoneko
        08.06.2024 11:18

        Да, оказывается, год назад они починили (сломанный два года назад) клиент под Линукс (выпустили новый) :)


  1. ZorkinRoman
    08.06.2024 11:18
    +1

    Насколько такая штука безопасна? (Вопрос от дилетанта экспертам)

    На примере openVPN - ты разворачиваешь open source проект самостоятельно, сам сертификаты выпускаешь и т.д. Как бы есть небольшая уверенность в том, что твои данные не утекут.

    В случае outline, ты пользуешься тёмной коробочкой от Google. Тут тоже вроде open source, но слишком всё просто без твоего участия настраивается. Смущает))


    1. MountainGoat
      08.06.2024 11:18

      Для вас существуют рецепты для Ansible. Всё само и прямо перед глазами. Только Ansible с винды надо в WSL запускать.


  1. ivantgam
    08.06.2024 11:18
    +1

    Увы, Shadowsocks сейчас крайне легко блокируется ISP, поэтому подойдёт только для временной замены.


    1. dyadyaSerezha
      08.06.2024 11:18

      Да и цена сервера в 400р примерно равна цене за платный впн.


      1. 0mogol0
        08.06.2024 11:18

        у платного впн есть как плюсы: всё настроят за тебя, плюс (по хорошему) сделают несколько серверов в разных локациях, так и минусы: активные игроки привлекают к себе внимание и становятся мишенью для блокировок.
        Частный сервер - конечно может попасть под тотальную блокировку "по протоколу", но вероятность, что будут бездоказательно блокировать впн к какому-то серверу не слишком велика, пока не ввели одобрительный порядок создания впн.


      1. yakvenalex Автор
        08.06.2024 11:18

        VPS - это на перспективу скорее. На него можно не только VPN поставить, но и, например, тот же FastApi или бота повесить. Есть свои плюсы и минусы


      1. ris58h
        08.06.2024 11:18

        В 2 раза выше цены за платный VPN.


        1. aspid-crazy
          08.06.2024 11:18

          Я арендую за 1300 в год, так что с ценами всё по разному


          1. ris58h
            08.06.2024 11:18

            Где сейчас "с порога" такая цена?


            1. aspid-crazy
              08.06.2024 11:18

              aeza.net
              У них были промо-тарифы в Стокгольме. Брал себе в марте, пару недель назад он еще был активен. Сейчас проверил - активация такого тарифа уже приостановлена. Продление вроде бы по той же цене.
              Есть еще weasel.cloud - там получается 240 р. в месяц, при оплате на год вперед.


    1. alexdora
      08.06.2024 11:18
      +2

      Пока пользуемся SS, намеков на блоки нет даже в то время когда WG отваливался по всей России. Как залочат, будем решать.


      1. Barma2012
        08.06.2024 11:18

        Пока пользуемся SS

        А что это, можно подробнее?


        1. voidinvader
          08.06.2024 11:18

          Shadowsocks последней версии. Протокол такой.


          1. RoundRobin
            08.06.2024 11:18

            С каких пор там последняя версия? Или недавно наконец-то обновили?


      1. Anyuta1166
        08.06.2024 11:18

        У вас ошибка выжившего. SS уже блокируется всеми мобильными операторами РФ. Правда, выборочно - по какой-то причине, не все подпадают под блокировку. Но от этого не легче.


    1. iosuslov
      08.06.2024 11:18
      +1

      Пользуюсь outline давно, также пользовался purevpn платным. Последний частенько умирает,т.к. попадает в баны какие-то. А аутлайн как работал, так и работает. Скорость медленная, это да. Но как правило достаточно с ним пройти какой-то барьер, а потом отключать и все будет качаться/смотреться/играться без него.

      Ну и при выборе хостера учитывайте, что некоторые провайдеры уже в бане у многих приложений. Например, aws - с его виртуалок, например, чатгпт или эпик стор вас не пустят - будут просить выключить впн


  1. FirsofMaxim
    08.06.2024 11:18
    +1

    Работает на DigitalOcean уже 3й год без перерыва.


  1. pae174
    08.06.2024 11:18

    ssh usernamen@host (ip адресс сервера)

    yes

    Вот так слепо yes и всё? Live dangerous?


    1. yakvenalex Автор
      08.06.2024 11:18

      В данном контексте yes - это разрешение на сохранение SSH ключа на компьютере. Решил не тратить на это время, так как там понятно будет из контекста (в командной строке будет все написано)


      1. pae174
        08.06.2024 11:18

        Если вы не проверили серверный ключ ssh перед тем, как нажимать этот вот yes, то вы открыли возможность для выполнения MitM атаки, что естественным образом делает всю затею с ssh бесполезной фигнёй. Успешно внедрившийся к вам MitM root может делать с вашей машиной всё, то захочет, в том числе может сделать вам любые блокировки чего угодно, сдампить ваш трафик, подсунуть вам в трафик разные прикольные штуки, да и вообще всё.


        1. yakvenalex Автор
          08.06.2024 11:18

          Любое первое подключение по SSH будет спрашивать об этом. Каким образом пойдет MitM  при условии что подключение идет к своему собственному VPS?


        1. MountainGoat
          08.06.2024 11:18

          Как вы предлагаете проверить ключ у только что созданной VPS к которой впервые подключаетесь? Напомню, что если у злоумышленника нет публичного ключа вашего SSH key, то изобразить сервер он не сможет (почему и не стоит этим ключом где попало разбрасываться, и надо иметь разные ключи для ценных машин и одноразовых VPSок)


          1. pae174
            08.06.2024 11:18

            Как вы предлагаете проверить ключ у только что созданной VPS к которой впервые подключаетесь?

            Обычно хостер дает возможность зайти на сервер не только через ssh но и через VNC. Заходите через VNC, логинитесь, делаете ssh-keygen -l -f /etc/ssh/ssh_host_ed25519_key, получаете слепок. Некоторые хостеры после развертывания виртуалки автоматически делают это за вас и потом пишут полученный слепок в панели управления виртуалкой.

            если у злоумышленника нет публичного ключа вашего SSH key, то изобразить сервер он не сможет

            Если вы не проверяете ключ своего сервера, то злоумышленнику он и не нужен вообще.


            1. MountainGoat
              08.06.2024 11:18

              А если не предоставляет - то никак. Из вашего получается, что большинство VPSок давно взломаны.


              1. pae174
                08.06.2024 11:18

                Большинство провайдеров VPSок как раз дают юзеру консоль сервера. Я за 15 лет наадминил несколько сотен серверов у разных провайдеров, у меня вообще все 100% позволяли получить слепок так или иначе, и у меня эти слепки потом хранятся наравне с паролями и клиентскими ключами на моей стороне.

                Вообще если проводить параллели, то работа по ssh без проверки ключа это все равно что работа с вебсайтом, который защищен самоподписанным сертификатом. Это не очень хорошая идея если вам есть что терять.


  1. russeljo
    08.06.2024 11:18

    VPS может быть в РФ?


    1. yakvenalex Автор
      08.06.2024 11:18

      Да, конечно. Причем как РФ айпи адреса, так и нет)


  1. Dionisvl
    08.06.2024 11:18

    Вот тут тоже самое только за 1.5$. оплата РФ картами есть.


    1. RoundRobin
      08.06.2024 11:18

      И грязные айпишники?


  1. NikaLapka
    08.06.2024 11:18

    поздравляю, следующим шагом для вас будет открытие того факта, что а) есть бесплатный протон б) доступ к первому, пока не блокируется с любого российского хостера в) следствием из а) и б) будет что никакие xray, outline,... для этого не нужны


  1. bITb2112
    08.06.2024 11:18

    К сожалению, на данный момент нет ничего лучше, чем WireGuard. Скорость, производительность, простота настройки - на высоком уровне. Да и 400р/месяц звучит дорого для прокладки между устройством и свободным интернетом. Говорю как владелец VPN на WireGuard.


    1. nidalee
      08.06.2024 11:18
      +2

      К сожалению, на данный момент нет ничего лучше, чем WireGuard.

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


      1. bITb2112
        08.06.2024 11:18

        Оу, извиняюсь за то, что не уточнил, конечно, же я имею ввиду модифицированый WireGuard с защитой от DPI, а не чистый WireGuard.


        1. KyleText
          08.06.2024 11:18
          +1

          Думаю по скорости, VLESS + REALITY при правильной настрйоке не уступает WireGuard.


  1. Andy_U
    08.06.2024 11:18

    После входа вас поприветствует ваш Linux.

    Ага, пользователем root через SSH. Я только что с аналогичной дичью столкнулся. VPS в Нидерландах. Посмотрел на .ssh/authorized_keys. А там куча публичных ключей, видимо, сотрудников тех.поддержки. Причем, е-mail'ы, такие, русскоязычные. Думаю.


  1. DMY
    08.06.2024 11:18

    Действуете по инструкции, и получаете майнер работающий на вашем хостинге, буквально через несколько минут. Так что добавьте пару строчек про запрет подключений извне к докеру, а лучше на запрет всех подключений, кроме ssh (который хорошо бы ещё на нестандартный порт перенести) и самого ВПН сервера.

    PS один ключ отлично может использоваться для нескольких одновременных подключений, это вам не WireGuard.


  1. msokolanov
    08.06.2024 11:18

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

    Спасибо за вашу статью о создании собственного VPN. Информация действительно полезная, и я уверен, что многим читателям она пригодится.

    Однако хочу обратить ваше внимание на возможное нарушение закона 149-ФЗ. В статье описывается способ обхода блокировок интернет-ресурсов, доступ к которым ограничен на территории Российской Федерации. Это может быть расценено как нарушение законодательства.

    Закон 149-ФЗ, статья 15.1, пункт 5(1), предусматривает включение в реестр запрещённых ресурсов информации о способах обхода блокировок. Публикация такой информации может привести к юридическим последствиям как для автора, так и для платформы, на которой размещена статья.

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

    Благодарю за понимание и желаю успехов в вашей деятельности!


    1. yakvenalex Автор
      08.06.2024 11:18

      Благодарю за отзыв. Нужно задуматься)


    1. GennPen
      08.06.2024 11:18
      +7

      Роскомнадзор, разлогинься.

      Чем эта статья отличается от кучи других инструкций? Ну, даже на том же Дзене море статей на эту тематику.

      Публикация такой информации может привести к юридическим последствиям как для автора

      А можно вопрос: Каким образом это относится к автору? Его включат в реестр запрещённых ресурсов информации?


    1. colorles
      08.06.2024 11:18
      +4

      Изыди, нечисть.


  1. burzum
    08.06.2024 11:18

    >Одновременно один ключ можно использовать на одном устройстве!

    Это неправда.


  1. BasiC2k
    08.06.2024 11:18

    Outline спокойно детектируется и блокируется. Хотя ещё полгода назад такой проблемы не было.