Тоннель в конце света: как выжить в эпоху блокировок. Часть 2

rcl-uploader:post_uploader

Первую часть можно прочесть здесь.

Если вы взяли свой сервер, а еще на компе и телефоне без проблем устанавливаете без конфликтов с другими приложениями клиент Amnezia — предлагаю просто пропустить все, что будет описано далее и сразу перейти к месту, где рассказываю об установке и настройке клиента. В большинстве случаев этого достаточно, чтоб создать свой ВПН и пока он работает — ничего больше не делать. ВПН неплохо себя показал как на стационарном, так и на мобильном интернете, но только если Amnezia устанавливался первым.

 

Продолжаем приручать Linux

Вот вы зашли и первое, что он от вас хочет – пароль и логин. С паролем все нормально – пока не сменили – ввели тот, что вам прислали, по умолчанию root – и тут же увидели на экране. Первый час моих мучений был из-за того, что в отличии от логина, пароль на экране не отображается и вы не знаете, верно ли его ввели.

Потому скопировали без лишних пробелов, и жмите enter даже если ничего не видно – так задумано. Получить пароль вы сможете, потребовав его в личном кабинете аккаунта, который у вас для аренды севера. Это будет уже третий пароль, так что не запутайтесь.)

Вот так пароль на скрине введен, а на экране его нет. Повторюсь: поясняю не у тех, кто мнит себя круты программистом, а чтоб любой мог понять, потому с упоминанием мелочей, которые вымораживают новенького надолго. А на экране тем временем светится ошибка..

За первый или десятым разом: кому как повезет, вы наконец зайдете и у вас появится командная строка для ввода. Правда, прежде сервер меня обматерил, сказав, что я как бот, долблюсь в него с левыми данными, но потом, таки, впустил. Учитывая, что это уже 5 или 6 тестовый – где какой пароль не помню, надеюсь у вас такого не случится.

 

Укрощаем Xray: Магия VLESS и реальности.

Итак, у вас есть имя, что вам присвоил сервер, а после него мигает значок «_», именно он ждет вашу команду. Обычно обновляют приложения, у меня сервер свежий, но все равно введите:

apt update

И затем вводите такой код:

ss -ltnp | grep :443

Эта команда проверит, свободен ли порт, в данном случае 443. Если после введения команды ничего больше не происходит – все хорошо, продолжаем. На чистом сервере так и есть, если у вас уже рабочий, то может появиться LISTEN – порт занят, надо брать другой. Если мы имеем дело с блокировкой мобильного интернета, то DPI там не любит нестандартные порты и слишком хитрую маскировку. Если хоть что-то не то заподозрит – блоканет. Потому и пришлось сперва отказаться от маскировок с доменом и разных хитрых вариантов – они работали только на стационарном интернете хотя работали хорошо.

Следующая команда – установка программы Xrey, для этого копируем ссылку, вставляем в терминал как обычно или через боковую панель, снова запускаем через Еnter и ждем, пока опять не появится начальная командная строка.

bash -c "$(curl -L https://raw.githubusercontent.com/XTLS/Xray-install/main/install-release.sh)" @ install

А затем следующей командой проверяем версию – должна быть самая свежая,
в моем случае Xrey 26.1.23

xray version

Следующие команды дадут вам ключи (UUID + Reality keypair) для работы.

1.
xray uuid

2.
xray x25519

Вы получите набор, необходимый для работы, который будет выглядеть примерно так:

В вырезанных мной строках у вас будут наборы символов, которые нужно сохранить. Так как у меня проблема с копированием, то сохранять пришлось отдельным файлом. Если скопируйте – сделайте под них отдельный файл, они будут нужны для работы.

В файл, чтоб не потерять, можно будет сразу можно вписать ShortId

ShortId — это hex (0-9 a-f) длиной до 16 символов.

Просто возьмите:

aabbccdd

(Важно: только hex, без пробелов, без U+000A, без кириллицы.) Если не записали – запомните, тут всего пара букв, все это будем прописывать в настройках.

Дальше пока придется заняться конфигом – файлом с программой. Нормальный человек ставит его прямо на сервер, используя путь

/usr/local/etc/xray/config.json

Как известный рукожоп, всегда хожу более сложными путями, но в данном случае и вам советую. Начнем с того, что сервером управлять можно не только через панель. Для этого давно придумана программа FileZilla, которую можно скачать тут. Вторая программа, которая у меня стоит давно – редактор программного кода Visual Studio Code, скачайте его, чтоб можно было вставлять в готовую программу свои ключи.

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

Нажмите Win+E (кнопка с окошком + E), а затем поставьте галочку напротив расширений имен файлов и сохраните изменения.

После этого формат файла после преобразования его в конфиг будет читаться верно и это сохранит вам уйму нервных клеток. Вот сейчас нам придется его сделать: создайте пустой текстовый документ и переименуйте его правильно в config.json Вот как это будет выглядеть в формате было/стало:

Следующий шаг – у вас есть свежескачанный Visual Studio Code и потому новый файл открываем им – первым в списка: открыть с помощью Code:

 

А вот теперь ловите нужный конфиг:

{
"log": {
"loglevel": "info"
},
"routing": {
"domainStrategy": "AsIs",
"rules": []
},
"inbounds": [
{
"port": 443,
"protocol": "vless",
"tag": "vless_reality_443",
"settings": {
"clients": [
{
"id": "UUID_HERE",
"flow": "xtls-rprx-vision"
}
],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"show": false,
"dest": "www.microsoft.com:443",
"xver": 0,
"serverNames": [
"www.microsoft.com"
],
"privateKey": "PRIVATE_KEY_HERE",
"shortIds": [
"SHORT_ID_HERE"
]
}
},
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls"
]
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "direct",
"settings": {}
},
{
"protocol": "blackhole",
"tag": "block",
"settings": {}
}
]
}

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

  • UUID_HERE → то, что дал Хray uuid
  • PRIVATE_KEY_HERE → Private key из Хray x25519
  • SHORT_ID_HERE → aabbccdd (или другой свой hex, но лучеш пока голову не забивать)
    • Внимательно: Public key НЕ вставляется в серверный конфиг — он нужен для клиента.

А теперь расскажу, зачем мне понадобилась FileZilla. Во-первых она позволяет затащить мышкой нужный файл на ваш сервер из ноута или компа и наоборот.

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

1- UUID → файл:
xray uuid > /root/uuid.txt

2- Reality ключи (private + public) → файл:

xray x25519 > /root/reality_keys.txt

3-ShortID → файл:
echo aabbccdd > /root/shortid.txt


А потом лепим из всего этого один целый файл:

cat /root/uuid.txt /root/reality_keys.txt /root/shortid.txt > /root/all_keys.txt

 

Теперь знакомимся с FileZilla: при ее открытии заполняем данные о нашем сервере.

Хост – айпи вашего сервера
Имя пользователя: root или ваш ник, на который поменяли
Пароль – тот который вы получили для работы в панели самого сервера и которым там так и не увидали.
Порт: 22

Жмете: быстрое соединение
И получаете список папок и файлов своего сервера.

 

Именно туда мы пойдем искать свои ключи: сначала в папку root, зачем в файл all_keys.txt, который себе и скачаем (на скрине второй снизу).

Сейчас нам в нем нужны 3 строки, которые вставляем в конфиг вместо :

  • Первая строка – вместо UUID_HERE
  • Вторая строка — PRIVATE_KEY_HERE
  • Последняя строка — SHORT_ID_HERE

Важное напоминание: заменяем текст на наши данные, оставляя кавычки в формате было / стало:

"SHORT_ID_HERE" / "aabbccdd"

Все это делаем на компе в открытом нами файле конфига, ничего больше не меняем, включая кавычки и отступы чтоб не сломать код, проверяем чего вставили дважды, чтоб не было лишних пробелов!

Теперь у нас на ноуте или компе стоит готовый конфиг с нашими данными, который мы через FileZilla поместим на сервер. Для этого открываем на сервере следующие папки в правильном порядке: /usr/local/etc/xray/

 

Внутри находим пустой конфиг, который выкидываем и заменяем на свой с компа, просто перетащив туда мышкой.

 

Далее возвращаемся в панель сервера и вводим в нее команду перезапуска программы:

systemctl restart xray

затем проверку программы:

systemctl status xray --no-pager

и проверяем, что 443 порт теперь что-то слушает:

ss -ltnp | grep :443

 

Основную часть на сервере сделали, теперь нам нужен клиент, который будем соединять с нашим сервером, создавая инбаунд. Некоторые инструкции прописывают работу через установку 3X-UI – панели, которая мне тоже немало крови попила. Сейчас не буду тут ее описывать – она появится позже.

 

Проверено: для стационарного интернета хороша, а для мобильного иногда работает плохо, так как переписывает конфиги и создает свои, и тут уже никак не влезть, Именно из-за нее пришлось брать сервер для демонстрации: неохота было валить уже работающие у людей обходы, а поставить нужный конфиг или отдельно вторую Xrey на одном сервере не выйдет: конфиг работает в 3X-UI и только один — она все перестраивает под себя. Потому даю простой и рабочий вариант, а потом, если захотите – помучаетесь и с ней. У меня серверов арендовано несколько, разные варианты пробую на разных и вместе не мешаю. Пока один работает – на другом экспериментирую.

А чтоб вам не пришлось долго экспериментировать, сразу тут скачиваем v2rayN для Windows и начинаем настраивать у себя на компе. Кстати, вариант этой проги для мобильного есть в плеймаркете и именно этим клиентом вам предстоит пользоваться. Я создаю инбаунд на компе, там проверяю и только рабочие ссылки даю в мобильный клиент.

Нажимаем серверы и выбираем добавить сервер (VLESS)

 

У вас откроется панель для заполнения, в которой прописываем так:

 

И нажимаем «подтвердить». Поясню, что мы такого назаполняли. В первой строке мы как-то метим созданный нами инбаунд. Лучше не давать называний, которые бросаются в глаза или могут быть опознаны, можно подменить любым набором символов.

Во второй строке вставляем айпи вашего сервера.

Порт: 443

UUID сохранили первой строкой в файле ключей, оттуда и копируем.

Поток выбираем: xtls-rprx-vision

Транспортный протокол сети оставляем: tcp

TLS выбираем: reality

SNI прописываем www.microsoft.com

Отпечаток выбираем: chrom

Публичный ключ (PublicKey)– третья строка он же Password в вашем файле ключей – копируем оттуда.

ShortID у нас: aabbccdd

Далее жмем «подтвердить». Если показывает ошибку, то есть «Задержка текущего сервера: -1 мс, none» — мы где-то промахнулись по ключам, они должны совпадать в конфиге и в клиенте идеально, стоило пропустить один символ в копировании – ничего не заработает. Недостающий символ добавлен, все включилось:

 

Теперь проверяем: выбираем кнопку «Режим VPN» и в выпадающем списке жмем «установить системный прокси», обозначение панели с синего становится красным. Теперь открываем любой сайт, например, Ютуб и смотрим, как работает. Затем проверяем, какой айпи у нас, и, если совпадает с сервером – это победа.

Далее жмем правой кнопкой мыши в панели на название вашего инбаунда и открываем следующее:

 

Выбираем «поделиться сервером» — и получаем ссылку и qr-код, который можем поставить себе в клиенте на мобильный телефон. Мне нужно проверить созданный вариант, потому даю ссылку на тест и получаю ответ по ее работе.

Также не обязательно использовать маскировку только на хром и сайт майкрсофта – они слишком известные, но если у вас это прописано в конфиге, то и в инбаунде должно быть так же, для порта – то же самое, если менять – то везде и смотреть, чтоб не отличалось. Вот еще варианты маскировок, для поиска которых тоже есть специальный ресурс REALITY Scanner, который мне пока не понадобился.

  •  www.cloudflare.com
  •  www.apple.com
  •  cdn.jsdelivr.net
  •  www.amazon.com
  •  www.bing.com

Также вместо хрома можно брать яндекс, менять порты. И помните – если на клиенте у вас реальная задержка, а не -1мс, но соединения нет – ваш обход не прокатил, но именно этот конкретный обход, а если параметры подправить – может ожить.

Вариант работает на стационарном интернете очень хорошо, на мобильном – с переменным успехом – все зависит от региона. Потому придется рассматривать и другие варианты.

На тест у меня одна ссылка, потому у меня ограниченное число тех, кто ею пользуется, так как если надо забрать у одного, придется пересоздавать все данные файла ключей и заменять все в конфиге и инбаунде, создавая новый. Вот потому вариант используют нечасто, предпочитая панель 3X-UI — она сама создает ключи и конфиги, переписывает все при новых настройках, так же поможет создать инбаунд и дать по нему каждому клиенту отдельную ссылку.

Потому как бы не хотелось предложить вам один приличный вариант, вместо него придется давать инструмент для ваших экспериментов. Итак, если толку от ваших попыток было немного, переходим к установке на сервер 3X-UI.

 

5. Панель 3X-UI: VPN с человеческим лицом

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

Мне не хотелось рассказывать это вариант, но с разницей в неделю были сделаны абсолютно одинаковые варианты обхода с тестовыми названиями Жаба и Жук. Оба работали на стационарном интернете. Но так как тестовый период Жабы закончился, то на следующем сервере был сделан Жук. И он не прошел проверку DPI от слова совсем: интернет не включился. Проверяли те же люди, на тех же устройствах, в тех же регионах, разница была только в смене айпи сервера. И недели хватило, чтобы DPI, пропустивший Жабу, научился распознавать поведение и Жука уже не пропустил, так что у этих людей он теперь годится только под стационарный интернет. Так как проверка важна в момент запуска, то даже этот вариант может заработать, если вы сперва зайдете со своим Жуком на сервер через Wi-Fi, а потом отключите его и станетесь на сервере уже у мобильного оператора. Но при входе на другой ресурс он снова может отключиться.

А теперь вернемся к установке и для начала проверим, какие порты у нас заняты такой командой:

ss –ltnp

Появятся номера портов с меткой LISTEN – их не трогаем. Далее идет установка программы 3x-ui на сервер командой:

bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

Дожидаемся полной установки и получаем такую строку:

 

(y/n) значит, что от вас спрашивают да или нет (yes/no), жмите просто Enter и не отвечайте. Далее у вас установка может спотыкнуться здесь:

 

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

 

И я снова нажму Enter. Далее уже по привычной схеме – Enter.

 

В финале видим набор инструментов для управление панелью:

 

Проверяем статус панели командой:

x-ui status

Получаем на экране среди прочего текста зеленым:

Если у вас вместо командной строки внизу

— это называется режим просмотра, выходим с него просто – всегда жмем на английскую маленькую букву “q”.
Затем снова проверяем порты и те, которые появятся, как слушаемые сервером, не используем.

ss –ltnp

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

 

Теперь возвращаюсь на свой комп и открываю панель программы в своем привычном браузере! Для этого нужно ввести следующее (в ссылке вместо IP_СЕРВЕРА вставляем своей реальный айпи сервера):

https://IP_СЕРВЕРА:41904

Этот ss 41904 нам дает наш сервер на выводе:

 

У меня сперва появился мудак, ловящий рыбу, если это появилось у вас, не надо к нему присоединяться, просто ставим ссылку не в поиск, а все таки в адресную строку.

 

Но мои приключения продолжаются и Гугл обматерил меня еррором:

 

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

https://IP_СЕРВЕРА:41904/x-ui

Но он не сдался и потому настоящий путь пришлось уточнить уже на сервере командой:

x-ui settings

Оказалось, что у меня все как всегда – нестандартный адрес панели, а настоящий имел расширение /40e7JUxXj1W2L0611/, у вас будет другое. Именно верный адрес и примет адресная строка браузера, открыв вам панель для работы. Но если продолжит с вами ругаться – идите на сервере в ее панель управления такой командой, которую стоит помнить на будущее:

x-ui

И заново получите панель с набором команд:

 

В этом списке не нужен пункт 7, эту цифру и ввожу в командную строку, жму Enter и получаю вопрос:

 

На который уверенно жмем английскую букву «y», после чего сервер сгенерирует вам новое расширение.
Час войны с адресной строкой и ручного ввода нужного адреса наконец то открыл мне нужное окно:

 

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

x-ui

А затем по очереди выбираем и жмем цифру 6 и Enter. Появится вопрос:

 

На который снова отвечаем английской буквой «y». Панель предложит выбрать себе ник, а после его введения – пароль, а потом еще и спросит, отключить ли двухфакторку, соглашайтесь пока, снова выбрав «y».

 

Затем вводите созданный вами логин и пароли и входите в такую панель:

 

Далее заходите в подключения и начинайте создавать первое:

 

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

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

 

На другой панели у меня есть уже заполненный рабочий вариант, но что работает в одном месте, может не получиться в другом, потому будем делать все заново, но порт использовать попытаюсь именно 455, так как уже 443 занят.

 

Название может быть любое, жабы и жуки надоели, потому будет просто 1234, порт, как было уже сказано – 455, нажав на клиент обновлю верхние три строки – те, что сейчас вы просто уже увидели.

 

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

 

И последнее – генерирую публичный и приватный ключ, а короткий айди опять оставлю aabbccdd и нажимаю создать:

 

Где-то минуту любуюсь своей работой…

 

А потом нажимаю на +, если хочу создать qr-код. Мне он не нужен, потому жму на три точки и выбираю экспорт ссылок:

 

Полученную ссылку несу в уже известный нам клиент, но теперь в нем выбираю не сервер, а импорт массива URL:

 

Добавляю подключение, устанавливаю его, как активный сервер, если у вас подключений несколько и оно стартует:

Далее снова устанавливаю системный прокси как уже делали и проверяю созданный обход сначала у себя на компе, а потом и у тех, кто тестирует ссылки. Использовали несколько клиентов: в компе v2rayN, на смартфоне V2Ray, можно также другие, которые поддерживают Reality.

Продолжение следует.

0

Автор публикации

не в сети 15 часов

Николай

429
Комментарии: 83Публикации: 4730Регистрация: 03-02-2021

1 Kомментарий

  1. Крутая Статья Спасибо!!! Только через полгода все это будет бесполезно. С 1 марта будут отключать страну от мирового интернета. И не будет протестов как в Непале путин Гад будет делать это плавно в течении года а в Непале отключили все и разом!!! Это как с Ютубом сначала замедлии не всем потом всем а потом и вовсе отключили!!! Крыса строит северную Корею!!! НО ЕСЛИ К ЗАМЕДЛЕНИЕ И БЛОКИРОВКАМ ТЕЛЕГРАМА И РОСТУ СТОИМОСТИ ИНТЕРНЕТА ЕЩЕ ДОБАВИТЬ ЗАМЕДЛЕНИЕ И БЛОКИРОВКУ УСЛУГ ЖКХ ОДНОВРЕМЕННО С РОСТОМ ИХ СТОИМОСТИ!!! ТОГДА НЕПАЛ ПУТИНУ ПОКАЖЕЦА ДЕТСКИМ УТРЕННИКОМ!!! А ВСЕГОТО НУЖНО ПРОСТО ОТКРЫТЬ КРАН С ГОРЯЧЕЙ ВОДОЙ НА ПОЛНУЮ И ПУСКАЙ СУТКОМЯ ЛЬЕЦА СПОСОБОВ БЛОКИРОВКИ СЧЕТЧИКА МИЛИОН В КОНЦЕ КОНЦОВ ЕГО МОЖНО ПРОСТО СНЯТЬ НАВРЕМЯ КАК И КРАНСМЕСИТЕЛЬ ЧТОБЫ ПОТОКУ ВОДЫ НИЧЕГО НЕМЕШАЛО!!! ТЕ КТО ЗА РЕВАЛЮЦИЮ БУДУТ ОТКРЫВАТЬ КРАНЫ А ТЕ КТО ЗА ПУТИНА ПОЙДУТ МИТИНГОВАТЬ К АМИНИСТРАЦИИ В ИТОГЕ ПРОТИВ ПУТИНА БУДУТ ВСЕ!!! пУТИНСКИЙ РЕЖИМ ЭТО РЕЖИМ С УНИКАЛЬНОЙ ГЕОГРАФИЕЙ КОТОРЫЙ БУДЕТ РАСШАТАН НЕ ВЫХОДЯ ИЗ ДОМА!!! ЭТО ШАРИКИ И ФАНАРИКИ НО ЕСТЬ НЮАНС ДЛЯ ПУТИ В ВИДЕ КОЛЫШКА))) САРАТНИКИ РАСПРОСТРАНИТЕ.

    0

Отправить ответ