Всем привет! Это команда Amnezia. 

Мы читаем комментарии под нашими постами и знаем, что один из самых частых вопросов – когда будет XRay? Так вот, мы добавили XRay в приложение AmneziaVPN, а точнее протокол Reality от XRay для всех платформ -  IOS, Android, Windows, Linux и MacOS. Если у вас еще нет последнего релиза, скорее скачивайте и создавайте VPN на собственном сервере в пару кликов с одним из самых защищенных и быстрых протоколов в мире, ниже мы немного о нем расскажем, а в конце статьи будет пошаговая  инструкция как это сделать.

Почему XRay Reality так популярен ?

Все дело в том, что Reality подходит для стран с самым высоким уровнем интернет-цензуры, сейчас его используют в Китае и Иране, он защищен от детектирования методами active probing. 

Распознать цензоров REALITY может еще на этапе TLS-хендшейка. Если REALITY видит, что к нему приходит его клиент, то сервер запускает для него VPN туннель, а если приходит любой другой запрос на 443 порт, то TLS-подключение передается на какой-нибудь другой реальный сайт, например, google.com, где цензор получит настоящий TLS-сертификат от google.com и вообще все настоящие данные с этого сайта.

Со стороны систем анализа трафика это выглядит как подключение к настоящему сайту, сервер отдает настоящий TLS-сертификат этого сайта, и вообще все (включая TLS fingerprint сервера) выглядит очень по-настоящему и не вызывает подозрений. 

Особенно приятно, что при этом производительность REALITY и скорость подключения у протокола действительно хороши, в сравнении, например, со связкой OpenVPN over Cloak.

OpenVPN over Cloak работает по такому же принципу, но в отличие от REALITY почему-то детектируется современными системами DPI в Иране и по некоторым репортам в Китае. Если кому интересно - можете подробнее об этом прочитать тут - https://github.com/net4people/bbs/issues/327. И вообще на https://github.com/net4people/bbs/issues очень много полезной информации по вопросам блокировок и их обхода. 

Изначально мы начинали делать сервис AmneziaFree именно с Cloak, но в начале 2024 года DPI научились его распознавать и блокировать в Иране, и мы до сих пор не знаем будет ли это исправлено, поэтому, думаем полностью отказаться от Cloak. В то же время XRay уже через месяц после блокировок был доработан разработчиками, и на данный момент не блокируется как в Иране, так и в Китае, и самое главное, что у него есть постоянная поддержка и обновления, а значит его можно использовать в долгосрочной перспективе и вместе с другими нашими сервисами.

 Что ещё дает XRay Core для Амнезии ?

А теперь самое приятное. AmneziaVPN теперь стала полноценным клиентом XRay, и может открывать любые конфиги, которые поддерживаются XRay, например VMESS, VLESS и даже Shadowsocks, все они полноценно работают в приложении, так что если у вас такие есть, можно добавлять их в Amnezia и использовать на ряду с другими протоколами. Ключи с VMESS, VLESS и Shadowsocks, кстати можно приобрести у наших друзей из VPNPay .

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

Нужно признать, что это было очень непросто “впилить” в один VPN клиент почти все возможные VPN протоколы (осталось IKEv2 ещё, к осени добавим), учитывая что это кросс-платформенное приложение на C++/Qt. Нам для этого пришлось даже форкнуть сам XRay Core и Tun2Socks. 

А теперь, как мы и обещали, перейдем к пошаговому руководству

Как создать свой VPN c Reality на собственном сервере.

  1. Купите сервер VPS у любого хостинг провайдера, обычно он стоит не дороже хорошего VPN, а поднятый на нем VPN можно будет расшарить еще для  нескольких человек. Таким образом примерно за 5 долларов месяц вы получаете собственный VPN для себя семьи и друзей.

    Вот тут подробные инструкции с картинками  как это сделать у некоторых хостингов-провайдеров   https://amnezia.org/ru/starter-guide, но вы можете выбрать любой другой хостинг для покупки VPS, важно только соблюдать минимальные системные требования, которые можно будет выбрать при покупке.  

    Минимальные системные требования к VPS: 

    Операционная система - Linux, подходит Ubuntu 22.04 или Debian 11.

    Поддерживаемая архитектура процессора - x86-64

    Виртуализация - KVM.

    Поддержка адреса IPv4

    Оперативная память (RAM) - рекомендуемая 2 Гб, но не меньше 1 Гб.

    Предустановленное ПО и панель управления не требуются.

  2. Скачайте последнюю версию приложение AmneziaVPN для вашего устройства (приложение бесплатное и open source): 

    Android - Google Play

    iOS - App Store

    Windows, macOS, Linux, Android APK - Скачать с сайта amnezia.org или Скачать с GitHub

  3. После покупки VPS на почту придет письмо от хостинг-провайдера  об активации сервера. В письме должны быть указаны IP, User name или User ID, и Password, именно эти данные нужно будет внести в приложение Amnezia. 

  1. Далее приложение предложит выбрать протокол или уровень цензуры, нажмите “Выбрать протокол” и выберите XRay Reality, подождите пару минут

    Готово!  Можно пользоваться и делиться VPN.

    Как правильно использовать Reality? 

    По-умолчанию Amnezia назначает дефолтный сайт для всех пользователей, если вы в России  этого  будет достаточно, по крайней мере на момент написания статьи. Однако, если вы хотите максимально замаскировать Reality от систем анализа трафика, поменяйте сайт маскировки в настройках протокола.  

    Это должен быть сервер другой страны, (то есть не той, в которой вы находитесь), при этом он не должен быть заблокирован и должен поддерживать подключения по TLSv1.3 и HTTP/2, иметь заглавную страницу, которая не переадресовывается. 

    Если лень придумывать и искать, возьмите сайт какой-нибудь популярной международной корпорации.

    Ну а если вы не хотите заморачиваться с настройкой VPN на собственном сервере у нас есть абсолютно бесплатный VPN AmneziaFree (возможно его функций вам будет достаточно), и совсем  недавно появился VPN для всех сайтов - Amnezia Premium с локацией в Нидерландах, Германии, Сингапуре, Швеции и США для туннелирования всего трафика, то есть обычный VPN от Amnezia. 

    • Подключение до 5 устройств, безлимитный трафик и неограниченная скорость. 

    • Оплата для Amnezia Premium доступна  российскими картами и криптовалютой через VPNPay

    и  мы уже работаем над более крутой версией.


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


  1. selivanov_pavel
    30.07.2024 17:51
    +7

    Молодцы, надо переходить на устойчивые к DPI протоколы.

    ИХМО достаточно палевно, что в SNI стоит какой-то домен, но сам домен не резолвится в этот IP. Хорошо бы в будущем добавить возможность настройки для своего домена, который будет указывать на IP сервера.


    1. UranusExplorer
      30.07.2024 17:51
      +9

      ИХМО достаточно палевно, что в SNI стоит какой-то домен, но сам домен не резолвится в этот IP.

      У больших сервисов, особенно стоящих за CDN, могут быть десятки IP-адресов для их домена, выдаваемые их DNS-балансировщиками рандомно, либо в зависимости от локации, загрузки нод и т.д., поэтому "не резолв" не такая уж и подозрительная вещь.

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


  1. Pulsating_Star
    30.07.2024 17:51
    +1

    На самом деле вполне годный и их AmneziaWG. Но xray поставил как запасной вариант. Конфиг конечно поправил в докере под себя.


  1. izogfif
    30.07.2024 17:51
    +3

    Поддерживаемая архитектура процессора - x86-64
    Оперативная память (RAM) - рекомендуемая 2 Гб, но не меньше 1 Гб.

    Что-то прям как-то ну очень требовательно. На не-unlimited AWS t4g.nano (2 ядра, полгига, 5% baseline performance / vCPU, без возможности выйти за это ограничение при высокой загрузке CPU) вполне нормально работает связка XRay + VLESS + TLS-Reality.


    1. UranusExplorer
      30.07.2024 17:51
      +2

      Там докер (вполне понятное решение для того чтобы легко и надёжно разворачивать софт вне зависимости от системы на VPS), поэтому оно немного прожорливое.


      1. selivanov_pavel
        30.07.2024 17:51
        +3

        Так и в докер контейнере он столько не сожрёт. Прямо сейчас смотрю на виртуалку, там xray + 3x-ui + nginx(не для ВПН) + всякая системная фигня ест 220 М оперативки.


        1. RoundRobin
          30.07.2024 17:51
          +2

          Учитывайте многочисленные утечки памяти в xray-core. Часть недавно исправили, но часть никуда не делась. С учетом этого "2 Гб, но не меньше 1 Гб." адекватные цифры. Очень сильно зависит от используемых опций, но расчитывать уместиться в 256 точно не стоит.


          1. UranusExplorer
            30.07.2024 17:51
            +1

            Учитывайте многочисленные утечки памяти в xray-core

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


          1. selivanov_pavel
            30.07.2024 17:51
            +1

            Ну так на той виртуалке xray с аптаймом пару недель крутится и используется. Если в каких-то конфигурациях правда течёт, ну поставить контейнеру рестарт раз в сутки, на клиентах никак не скажется. 512 Мб за глаза хватит, а если swap включить, то и 256 спокойно влезет. Целый 1 Гб - слишком высокие требования.


  1. MountainGoat
    30.07.2024 17:51
    +10

    Он серверную часть сам обновляет или это как-то надо делать?


    1. andersong
      30.07.2024 17:51

      Я на свою VPS поставил Webmin, периодически заглядываю и обновляю.


    1. HyperMe
      30.07.2024 17:51

      Видимо сам. По крайней мере у меня, XRay заработал без ручной переустановки серверной части. Просто обновил клиент и установил новый протокол на сервер.


      1. MountainGoat
        30.07.2024 17:51
        +1

        То, что он сам устанавливает контейнер - это козе понятно. Вопрос: будет ли он сам его потом обновлять без переустановки или обновления вручную докером?


  1. Pavel7
    30.07.2024 17:51
    +13

    В письме должны быть указаны IP, User name или User ID, и Password, именно эти данные нужно будет внести в приложение Amnezia. 

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


    1. Hitsun
      30.07.2024 17:51
      +4

      Согласен, но если виртуалка только как vpn и используется, то не вижу проблем. А если там что-то еще, то юзер, вероятно, и так это понимает.


    1. Hitriy_Zhuk
      30.07.2024 17:51
      +4

      стоило бы в статье предупредить неискушённых пользователей, что они дают полный доступ к своей виртуалке приложению

      Ну оно вроде и так понятно.

      Лично я категорически против такой фигни. (в смысле доступ раздавать непойми кому, а не предупреждать)


    1. Didimus
      30.07.2024 17:51
      +2

      Я верно понимаю, что с этой машины потом может твориться любая дичь, а придут к тому, кто сервер оплачивал?


      1. UranusExplorer
        30.07.2024 17:51
        +2

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


        1. Didimus
          30.07.2024 17:51
          +1

          1. Раньше замечены не были не гарантирует защиту в будущем. К сожалению, очень много негативных примеров

          2. Доступ к серверу даже на непродолжительное время может его полностью скомпрометировать. Останется какой-либо бэкдор

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


          1. Aelliari
            30.07.2024 17:51
            +3

            Эмм

            Раньше замечены не были не гарантирует защиту в будущем

            Доступ к серверу даже на непродолжительное время может его полностью скомпрометировать. 

            Как это сочетается, с

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

            ??

            Т.е. ты дал им пароли => скомпроментировано.

            Они сами купили и настроили сервер за твои деньги => не скомпрометировано.

            Я ведь правильно прочел сообщение, на которое отвечаю?


            1. Didimus
              30.07.2024 17:51

              Очевидно, когда сервер куплен на живого человека, его можно подставить


              1. Aelliari
                30.07.2024 17:51
                +2

                Эм, живой человек точно также заплатил за этот сервер, но посреднику, и эксплуатирует его . Вот если что - транзакция о оплате, вот запись в биллинге посредника, вот данные сервера…


                1. Didimus
                  30.07.2024 17:51

                  Если все эти сервера разом начнут совершать что-то противоправное, к кому придут?

                  Может быть, амнезисты так ботнет собирают


          1. UranusExplorer
            30.07.2024 17:51
            +3

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

            Вариант с "купили пользователю сервер", судя по сайту, у них есть - Amnezia Premium.

            Ну или тот же самый VPN Generator, который вообще бесплатный (и за ним тоже хорошие ребята стоят).


    1. AlexanderS
      30.07.2024 17:51
      +1

      Никто же не запрещает завести нового пользователя, дать ему sudo и настроить его исполнение без ввода пароля. Но охват аудитории тогда сузится весьма сильно. Это же по ssh подключаться надо, три-четыре команды вводить... Вы понимаете сколько народу отвалится просто увидев эти команды)

      Когда я игрался, у меня, кстати, такой вариант не сработал. От пользователя с sudo приложение не хочет деплоить на сервер. Говорит ошибка 201, порты заняты чем-то другим, хотя по факту они свободы. Переключаешься от рута - всё устанавливается без вопросов. После установки подключаешься как пользователь - всё работает. Попробовал на другой VPS - то же самое. Или я что-то делал не так, или надо в багтрекер писать...