Comments 53
Среднестаистическому скрипт-кидди что из под рута через приложение амнезии разворачивать, что через скрипт в 3k+ строк кода.. проще с той же нейронкой свои копья обломать, зато можно вникнуть в детали. Да и очень бросается в глаза "Не не не. Без без без." - cразу видно что писали статью с нейронкой)) Сайт https://wiresock.net/ в России не открылся...
Осталось осветить только самый мааааленький вопрос: как получить VPS, не предоставляя провайдеру никакой приватной информации: ни счетов, ни карточек, ни банка.
Берешь карту онлайн за крипту в no kyc сервисе (такие есть) в идеале за монеро или zcash, конвертируешь в автоматическом обменнике на крипту ,которую принимает этот сервис обычно это солана или usdt. Далее через ВПН покупаешь спокойно vps этой карточкой на левую почту и иногда номер с сервисов смс. Это если нужны популярные хостинг облака. А так есть и специализированные за крипту работающие с репутацией.
Вот про это бытут статейку тиснуть, а не про развёртывание амнезии в десятый раз!
Думаю запилю интересностей, недавно на Хабре)
Не так уж мало хостеров, которые работают за крипту и не задают ненужных вопросов. Размещать там можно практически все, что угодно кроме видео с расчлененкой и pdf. Но за своё нелюбопытство подобные хостинги хотят от 100$ в месяц, а не 3-5$ как обычные хостеры.
Простейшее же мероприятие .. Есть даже хостинги которые принципиально минимум информации требуют и принимают оплату криптой...если лень искать то просто делаешь крипто-карту и в крайнем случае туристическую симку которую тоже можно криптой оплатить или этой картой..и тогда тебе доступны вообще почти все хостинги ... А я их пробовал не один десяток ... Бывают хостинги которые не принимают крипто-карты но очень редко..в этом случае привязываешь её к paypal и всё) адрес если его требуют любой используйте главное что бы по индексу почтовому бился...
Скрытый текст

в Kagi (ну или гуглояндексе если вы их используете) купить vps за крипту и полный экран вариантов
Внезапно в поиске будут в том числе - https://habr.com/ru/articles/658879/ (статья от автора PoiskVPS с подборкой, 2022 года), poiskvps с фильтром https://poiskvps.ru/vps/s-oplatoy-kriptovalyutoy и даже vc - https://vc.ru/top-raiting/2629167-luchshie-vps-dlya-oplaty-kriptovalyutoy
И даже на пикабу(!) обзоры таких хостингов делают(!) https://pikabu.ru/story/top11_luchshikh_vpsvds_za_kriptu_v_20252026_godu_13475433
и тут на сцену выходит инструмент мошенников - дропы
Расскажите подробнее, почему при аренде vps не стоит давать свои данные? Аренда сервера не является чем-то незаконным, насколько я знаю
Бааалин. Так надеялся, что эта статья будет пошаговое руководство, повторяющее внутрянку amneziawg-install.sh только с разбором тонкостей и ручным вводом команд... А тут снова curl script.sh | sudo bash
И кстати, а чем под Аднроид не угодило дефолтное приложение AmneziaWG?
Отдайте скрипт в любой толковый AI, он вам его пошагово распишет. Но там ничего интересного, основной объем это обработка ошибок и особенностей разных окружений. С этим и правда пришлось повозиться.
И кстати, а чем под Аднроид не угодило дефолтное приложение AmneziaWG?
Меня на iOS вполне устраивает, но почему-то в группе чаще хвалят WG Tunnel 🤷♂️
Отдайте скрипт в любой толковый AI, он вам его пошагово распишет.
Так вот, такой статьи на самом деле и не хватает на хабре. Причем чтобы это был именно самый распространенный кейс: купил VPS, выбрал в настройках предустановленную debian/ubuntu, залогинился и начал ручками настраивать awg 2.0.
Просто лично для меня, знакомство с амнезией началось с инструкции по настройке её на роутер. Естественно на роутере она мне не была нужна, но первая часть про настройку на VPS мне очень пригодилась. Потом я уже стал ковыряться конечно в других статьях, и даже ваш скрипт смотрел, но всегда мне казалось, что что-то я упускаю, какие-то важные детали. По сути, нужно ведь просто взять условный мануал https://wiki.debian.org/WireGuard и переработать под амнезию 2.0, с вот этими вот тонкостями, типа ловли QUIC заголовков в wireshark для создания маскировки.
Я, кажется, вполне понятно написал, что взялся за это в первую очередь для собственных нужд, а не ради статьи. Статья - это лишь способ поделиться результатом с сообществом; возможно, кому-то это окажется полезно. И, разумеется, ничто не мешает вам написать ту статью, о которой вы говорите.
типа ловли QUIC заголовков в wireshark для создания маскировки.
На мой взгляд, в оригинальной Amnezia с этим уже немного перебор. В WireSock я сделал другие параметры генерации имитации, чтобы пользователю было проще. Ещё думаю попробовать использовать S1–S4 для имитационных вставок вместо случайных байтов. Вот тут предварительно расписана архитектура https://github.com/wiresock/amneziawg-install/blob/copilot/add-udp-proxy-for-amneziawg/amneziawg-proxy/ARCHITECTURE.md
но почему-то в группе чаще хвалят WG Tunnel
Это вполне оправдано, так как он даёт много дополнительных возможностей (тем кому это нужно) относительно официального клиента WG.
3 разных режима работы приложения, Auto-Tunneling и такие приятные мелочи как мониторинг функционирования туннелей.
amneziawg 2.0 пробовал. Но есть недочеты.
нет фильтров по доменам (ru, com). да, можно загрузить ip списки, но если там 14000 записей, тормозит дико. и надо их постоянно обновлять;
uptime и top показывает load average = 1 или 2, это сбивает с толку, будто в системе запущен тяжелый процесс;
если поставить Амнезию в автозагрузку и сделать ошибку в конфиге, система больше не запустится. поможет только запуск сервера в режиме восстановления.
Вы просто Амнезию готовить не умеете:
Это не задача VPN-софта. Хотите тысячи-миллионы маршрутов (что правильно в текущих реалиях) - качайте списки откуда угодно, формируйте из них конфиг для BGP-демона и по BGP уже загоняйте в системную таблицу маршрутизации. BGP в данном случае нужен, даже если он за пределы localhost не выходит, т.к. это именно протокол, спроектированный для быстрой передачи большого числа маршрутов. И ничего не будет тормозить.
У Вас что-то не так. На дешёвой VPSке поднято несколько туннелей AWG - load average <0.1.
Ну маршрутизацию-то надо хотя бы минимально настроить. Даже если у Вас default route через AWG (что плохая идея из-за п. 1), добавляйте маршрут на интерфейсе к провайдеру до его гейтвея, чтобы на пакеты, пришедшие по этому интерфейсу, по нему же и улетали ответы. Про policy-based routing даже молчу.
Сделаешь статью как подружить BGP-демона с амнезией? Такое на взрослом сетевом оборудовании обычно как готовое решение поставляется, а тут нужно велосипед изобретать.
Ну на статью это не тянет, да и у всех своя конфигурация сети/софта/железа, напишу коротко как у меня:
Сервер в РФ, сервер в не-РФ, на обоих Debian/Ubuntu, несколько домашних/офисных роутеров (Mikrotik/OpenWRT). В домашней/офисной сети никаких VPN не надо, для использования в дороге VPN-сервер на российском сервере (самый простой протокол, не AWG, внутри РФ работает, белые списки не обхожу, ибо геморрой). Все серверы/роутеры в режиме mesh соединены VPN-туннелями точка-точка (в т.ч. AWG). Там ещё OSPF+BFD для выбора альтернативного маршрута если часть туннелей отваливается, но это отдельная история.
Соответственно, задача - раздать всем серверам/роутерам списки префиксов для маршрутизации, основанные в основном на GeoIP (у меня ещё с возможностью добавить какие-то записи (IP, подсеть, хостнейм, ASN) вручную, но это выходит за рамки базовой настройки). Дальше каждый сервер определяет, через какую точку выхода ему этот список IP маршрутизировать (базовая настройка - российский сервер или роутер к российским IP ходит напрямую через провайдера, а к иностранным - через нероссийский сервер, иностранный сервер/роутер наоборот).
Для этого на одном из серверов (у меня вообще отдельном, но может быть на любом) поднимается bird2 (это может быть и frr, и bird3, конечно, у меня bird2) и настраиваются в нём bgp-пиры для моих серверов/роутеров в режиме rs client, важные настройки - multihop 255 и gateway recursive (чтобы если к выходной точке мы ходим не напрямую, всё работало)
Для каждого списка IP (базовая настройка - ru и non-ru) создаётся отдельный файлик <список>.lst, а в конфиг Bird добавляется директива include “*.lst”, чтобы эти файлики включить. Пишется скрипт (у меня из огромного скрипта на баше это сейчас выросло до программы на Go - но у меня настройка посложнее базовой), который качает бесплатную базу Maxmind GeoLite Country, вытягивает из неё все префиксы для RU и делает из них файлик ru.lst, а потом методом исключения из 0.0.0.0/0 этих префиксов и локальных/зарезервированных подсетей делает из оставшегося файлик non-ru.lst.
В каждом файлике *.lst мы определяем статический протокол (например, protocol static ru) и список префиксов с маршрутами (тут то ли я чего-то в документации не докурил, то ли bird2 так устроен, но прямо в статическом протоколе прописать сразу нужный гейтвей не работает, мы его поменяем на следующем этапе, а здесь пишем все маршруты через IP нашего BGP-сервера, на котором bird2 крутится)
В описании пира мы пишем import none, а для export создаём filter - if proto = “ru” и уже в этом фильтре назначаем правильный гейтвей: bgp_next_hop=IP_российского_сервера. В моей более сложной конфигурации ещё фигурируют BGP communities и разные метрики, но для базового сценария можно обойтись без них.
На Linux клиентах нашего BGP-сервера, соответственно, ставим тот же bird2, настраиваем сервер пиром, принимаем с него всё и радуемся. На роутерах настраиваем BGP по мануалам для конкретной железки.
Собственно, как мы это женим с AWG (и с WG тоже). Тут главное исключить из схемы внутреннюю маршрутизацию протокола через AllowedIPs и передать все задачи маршрутизации на уровень ОС. Для этого в конфиге AWG добавляем AllowedIPs=0.0.0.0/0 и Table=off (пускать через туннель пакеты к любым IP, но не создавать маршруты в системе автоматически). А дальше уже маршруты через туннель определяются в системной таблице маршрутизации, которую у нас кормит префиксами по BGP bird2.
Если серверов/роутеров, как у меня, больше двух, - то чтобы не сойти с ума и не перепутать IP, публичные/приватные ключи, названия интерфейсов и порты на десятке-другом туннелей и конфигов, сильно рекомендуется написать Ansible-плейбуки для настройки туннелей и для настройки BGP, которые всё это берут из прописанных в одном месте переменных.
В общем, получилось, конечно, сумбурно, но в текущих реалиях с опорой на это описание любая нейросеть поможет сделать готовые конфиги / написать скрипты :) Всё равно они у всех будут разные, у каждого своя сеть.
P.S. Лимит времени на редактирование коммента закончился, а понял, что забыл написать важное. Чтобы наши серверы/роутеры не потеряли связь друг с другом и возможность поднимать туннели после получения маршрутов по BGP - в конфиг bird на каждом добавляем ещё один protocol static, который экспортируем в protocol kernel и внутри которого явно прописываем маршрут к каждому пиру, с которым у нас туннель (с маской /32), через default gateway провайдера. На роутерах просто прописываем соответствующие статические маршруты. Иначе получим, что для поднятия туннеля надо соединиться с пиром, маршрут к которому... через тот самый туннель.
del
А чем Ваш проект отличается от https://github.com/YokiToki/awg-easy ?
вово, есть куча форков контейнеров "awg-easy" сразу работающих.
Поставить Docker и запустить Docker Compos
Посмотрел: судя по истории коммитов и незамерженному PR с поддержкой S3 и S4, этот вариант на данный момент не поддерживает AmneziaWG 2.0. Собственно, я занялся этим проектом, потому что не нашёл готового скрипта для развёртывания тестового окружения, чтобы погонять WireSock.
А много ли уже побаненных хостингов по ip-адресам? Где vps точно брать не следует? И где поискать рабочий?
Вы уж не серчайте, но это очень нежная информация, если попадет не в те руки, так что вряд-ли кто спалит свой рабочий квн)
Пока похоже не так много как кажется. Из трех тестовых VPS у трех разных хостеров, все три работают на проводном Ростелеком, два работают на мобильной сети Билайн и Мегафон. Но, еще раз повторюсь, важно подобрать рабочие параметры имитации.
Коннект есть, обходит блокировку, но по тестам скорости 5мбит/с .. Сервер гигабитный
Можно Вас попросить все это "дело" в докер обернуть?
Спасибо заранее.
Как будто у вас выбор есть?) Там всё раскуплено уже)
А когда уже будет скрипт, который можно запустить на российском сервере, который поднимет туннель для западного, будет отдавать без ключа обычный сайт-заглушку, переводить траффик на западный vps с уже поднятой амнезией. И клиенты под все iOS и прочие, со всякими VLESS.
Узнаю ChatGPT с трех предложений. Кто меньше?

на мобильном инете сразу отваливается на двух операторах, рукопожатие не идет, на проводном все хорошо
Попробуйте прописать SIP пакеты в I1-I2. Если нужны конкретные значения - напишите в личку.
Пропишите в клиенте I1 следующее значение, мне помогло.
Скрытый текст
<b 0xc70000000108ce1bf31eec7d93360000449e227e4596ed7f75c4d35ce31880b4133107c822c6355b51f0d7c1bba96d5c210a48aca01885fed0871cfc37d59137d73b506dc013bb4a13c060ca5b04b7ae215af71e37d6e8ff1db235f9fe0c25cb8b492471054a7c8d0d6077d430d07f6e87a8699287f6e69f54263c7334a8e144a29851429bf2e350e519445172d36953e96085110ce1fb641e5efad42c0feb4711ece959b72cc4d6f3c1e83251adb572b921534f6ac4b10927167f41fe50040a75acef62f45bded67c0b45b9d655ce374589cad6f568b8475b2e8921ff98628f86ff2eb5bcce6f3ddb7dc89e37c5b5e78ddc8d93a58896e530b5f9f1448ab3b7a1d1f24a63bf981634f6183a21af310ffa52e9ddf5521561760288669de01a5f2f1a4f922e68d0592026bbe4329b654d4f5d6ace4f6a23b8560b720a5350691c0037b10acfac9726add44e7d3e880ee6f3b0d6429ff33655c297fee786bb5ac032e48d2062cd45e305e6d8d8b82bfbf0fdbc5ec09943d1ad02b0b5868ac4b24bb10255196be883562c35a713002014016b8cc5224768b3d330016cf8ed9300fe6bf39b4b19b3667cddc6e7c7ebe4437a58862606a2a66bd4184b09ab9d2cd3d3faed4d2ab71dd821422a9540c4c5fa2a9b2e6693d411a22854a8e541ed930796521f03a54254074bc4c5bca152a1723260e7d70a24d49720acc544b41359cfc252385bda7de7d05878ac0ea0343c77715e145160e6562161dfe2024846dfda3ce99068817a2418e66e4f37dea40a21251c8a034f83145071d93baadf050ca0f95dc9ce2338fb082d64fbc8faba905cec66e65c0e1f9b003c32c943381282d4ab09bef9b6813ff3ff5118623d2617867e25f0601df583c3ac51bc6303f79e68d8f8de4b8363ec9c7728b3ec5fcd5274edfca2a42f2727aa223c557afb33f5bea4f64aeb252c0150ed734d4d8eccb257824e8e090f65029a3a042a51e5cc8767408ae07d55da8507e4d009ae72c47ddb138df3cab6cc023df2532f88fb5a4c4bd917fafde0f3134be09231c389c70bc55cb95a779615e8e0a76a2b4d943aabfde0e394c985c0cb0376930f92c5b6998ef49ff4a13652b787503f55c4e3d8eebd6e1bc6db3a6d405d8405bd7a8db7cefc64d16e0d105a468f3d33d29e5744a24c4ac43ce0eb1bf6b559aed520b91108cda2de6e2c4f14bc4f4dc58712580e07d217c8cca1aaf7ac04bab3e7b1008b966f1ed4fba3fd93a0a9d3a27127e7aa587fbcc60d548300146bdc126982a58ff5342fc41a43f83a3d2722a26645bc961894e339b953e78ab395ff2fb854247ad06d446cc2944a1aefb90573115dc198f5c1efbc22bc6d7a74e41e666a643d5f85f57fde81b87ceff95353d22ae8bab11684180dd142642894d8dc34e402f802c2fd4a73508ca99124e428d67437c871dd96e506ffc39c0fc401f666b437adca41fd563cbcfd0fa22fbbf8112979c4e677fb533d981745cceed0fe96da6cc0593c430bbb71bcbf924f70b4547b0bb4d41c94a09a9ef1147935a5c75bb2f721fbd24ea6a9f5c9331187490ffa6d4e34e6bb30c2c54a0344724f01088fb2751a486f425362741664efb287bce66c4a544c96fa8b124d3c6b9eaca170c0b530799a6e878a57f402eb0016cf2689d55c76b2a91285e2273763f3afc5bc9398273f5338a06d>
Взято из мануала амнезии.
Как альтернатива, если веб-панель не нужна (для дома, для семьи) или VPS совсем слабенький сервачок (дешёвый) можно глянуть https://github.com/bivlked/amneziawg-installer. Чистый bash без зависимостей, тоже AWG 2.0 с I1-I5. Есть vpn:// URI для импорта в Amnezia Client одним тапом, --expires для временных клиентов, batch add/remove.
Автор - я, если что)
нахер эта параша белые списки она не обходит 🤮🤮🤮 для долбоящеров
Интересно. Пытаюсь добавить профиль в WireSock, получаю ошибку. Одного пользователя создавал при установке, второго через веб-панель, на обоих ошибка.

Вам нужна версия старше 3.3.1. Скачайте с сайта из раздела беты или из группы в телеграмм.
Прошу дать наводку на клиент AWG 2.0 для Linux без графики. Желательно живой и поддерживаемый скрипт или контейнер. Искал для Ubunti 24.04, внезапно не смог почти ничего найти. Нашлось несколько не очень популярных проектов на гитхабе и все.
У WireGuard/AWG нет строгого разделения на клиент и сервер, всё определяется конфигурацией. Нужно установить тот же модуль ядра и awg-tools, а затем настроить туннель. Единственное, в чём я не до конца уверен, это поддержка имитационных пакетов.
А https://github.com/amnezia-vpn/amneziawg-go чем не устраивает?
Разве AmnesiaWG не заблокирован? 🤔

Не доверяй чужому VPN: поднимаем self-hosted AmneziaWG с веб-панелью