Обновить
32K+
61
Vadim Smirnov@SerpentFly

Software Engineer

52
Рейтинг
56
Подписчики
Отправить сообщение

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

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели49K

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

Рациональное зерно в этом, конечно, есть. Случайные VPN-сервисы - особенно бесплатные, непрозрачные и обещающие «полную анонимность в один клик» - действительно могут оказаться сомнительным выбором. Когда весь ваш трафик идет через неизвестно чью инфраструктуру, вопрос доверия перестает быть теоретическим.

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

На практике все работает ровно наоборот. Чем больше ограничений, тем выше спрос на инструменты обхода. И если уж выбирать между случайным коммерческим VPN, бесплатным приложением с мутной моделью монетизации и собственным сервером, то self-hosted-вариант выглядит как минимум достойным внимания.

Поэтому дальше речь пойдет не о том, почему VPN - это страшно, а о том, как сделать его своим: развернуть self-hosted AmneziaWG с помощью install-скрипта и дополнить его веб-интерфейсом для управления пользователями.

Читать далее

Tether как частная ФРС: как крипторынок финансирует госдолг США

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели11K

Сегодня случайно наткнулся на отчёт о структуре резервов Tether — и невольно задумался. Оказывается, больше 60% активов компании приходится на короткие казначейские облигации США. Остальное — репо, кэш, немного золота и символическая доля в биткоине. Казалось бы, обычная отчётность стейблкойна, но чем дольше смотришь на цифры, тем отчётливее ощущение: перед тобой не криптопроект, а настоящая офшорная версия ФРС.

Каждый USDT — это не просто цифровой токен, а частный доллар, созданный рынком, а не государством. Он обеспечен теми же инструментами, что лежат в основе долларовой экономики — короткими казначейскими облигациями США, теми самыми трежерис, которые питают ликвидность банков и баланс самой ФРС. Разница лишь в том, что здесь нет Конгресса, нет заседаний монетарного комитета и никаких инфляционных целей. Есть только спрос, доверие и чистая жажда ликвидности.

Ирония в том, что крипта, задуманная как альтернатива доллару, стала его топливом. Tether печатает «частные» доллары, а его резервы питают госдолг США — замкнутый цикл, где независимый эмитент невольно финансирует государство, от которого пытался быть свободным.

Читать далее

Как смотреть Netflix US/UK из любой страны: WireSock + Dante SOCKS5 (WARP)

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели21K

Когда вы оказываетесь за границей — в отпуске, командировке или после релокации — может неожиданно выясниться, что ваш привычный Netflix «похудел». Одни сериалы и фильмы исчезли, другие появились, а некоторые премьеры выходят только в США или Великобритании. Всё дело в региональных лицензиях: каталоги у Netflix различаются по странам, и то, что доступно в Лондоне или Нью-Йорке, может быть недоступно в Москве, Белграде или Берлине.

На форумах и в блогах чаще всего советуют использовать «специальный VPN для Netflix». Но у такого решения есть очевидные проблемы: коммерческие VPN-сервисы работают на ограниченных пулах IP, которые быстро попадают в базы «подозрительных адресов» и блокируются. Ещё хуже, если попытаться просто направить клиент Netflix через произвольный прокси или VPS в дата-центре — такие IP легко вычисляются по ASN, обратному DNS и истории использования, и блокируются ещё быстрее.

Cloudflare WARP устроен иначе. Его официальная цель — улучшить приватность и ускорить соединение, а не предоставлять смену геолокации. Поэтому стриминговые сервисы обычно не блокируют WARP: он не воспринимается ими как «сервис обхода», а его IP-адреса выглядят как нормальные резидентские, а не как дата-центровые.

Из коробки WARP всегда подключается к ближайшему узлу Cloudflare, фактически «садя» вас в вашей текущей стране. Но если направить трафик WARP через SOCKS5-прокси (например, Dante) в США или Великобританию, именно этот прокси станет точкой выхода. Для WARP это выглядит так: он видит, что вы пришли с адреса прокси, определяет страну этого адреса и подключает вас к своей инфраструктуре именно там. В итоге Netflix будет считать, что вы находитесь в США или UK, и покажет «американский» или «британский» каталог. Другими словами, используя прокси, мы можем «зайти» в WARP уже в нужной нам стране — а не в той, где реально находимся.

Читать далее

Утечка хендлов в IP Helper API: как мы нашли и обошли ещё один баг Windows

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели6K

После статьи о баге в CancelIoEx решил рассказать ещё об одном дефекте в системных компонентах Windows — на этот раз в IP Helper (часть Windows API, отвечающая за работу с сетевой статистикой и таблицами соединений).

Этот API, среди прочего, даёт возможность сопоставлять перехваченные на уровне сети пакеты с локальными процессами. Казалось бы, проверенный механизм, который работает «под капотом» множества утилит и сетевых фильтров. Но в ходе тестирования WireSock Secure Connect в режиме split tunneling по процессам мы наткнулись на утечку, способную за считанные минуты выбить лимит хендлов в системе.

Поводом для расследования стало сообщение в нашей группе поддержки WireSock в Telegram: один из пользователей заметил аномально быстрый рост числа открытых дескрипторов процессов. Проблема стабильно воспроизводилась под нагрузкой и исчезала, если использовать фильтрацию по IP-адресам. Это стало первой зацепкой, которая в итоге вывела нас на баг в реализации IP Helper.

Отдельное спасибо пользователю @dno5iq, который обнаружил проблему, выполнил реверсинг GetOwnerModuleFromPidAndInfo и помог подтвердить наличие дефекта в её реализации.

Читать далее

Как Go зависает на Windows в CancelIoEx: история одного бага

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели6.6K

Я не считаю себя специалистом по Go и лишь изредка обращался к этому языку, но хочу поделиться историей об одном баге на стыке Go и ядра Windows, с которым мне «посчастливилось» столкнуться.

Баг до сих пор остаётся актуальным (issue на GitHub), хотя есть основания надеяться, что он будет исправлен в следующем релизе Go.

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

Читать далее

Когда VPN душат, в бой идёт SOCKS5: что нового в ProxiFyre 2.0

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели162K

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

Моя собственная схема — домашний сервер за WireGuard-эндпоинтом — уже не раз демонстрировала странности: внезапные падения скорости, потеря UDP-пакетов (особенно в мобильных сетях). Всё вроде работает, но как-то не так: туннель подключается, но затем «виснет» или показывает подозрительно низкую пропускную способность. В таких случаях надёжным обходным путём становится туннелирование TCP-трафика через SOCKS5-прокси, например, поверх SSH.

Но и у SOCKS5 есть ограничение — сам по себе он ничего не даст, если не существует механизма для перенаправления трафика от нужных приложений. Многие программы не поддерживают прокси напрямую, а системный прокси на Windows — история сложная и не всегда результативная.

Читать далее

149-ФЗ против junk-пакетов: история одной блокировки

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8.3K

18 апреля 2025 года. Обычное утро. Почта спокойна, ничего подозрительного. Среди напоминаний о просроченной подписке и очередном пуше от GitHub оказывается письмо от Хабра:

«Сообщаем вам, что на ваш материал на сайте Habr.com было наложено ограничение доступа для пользователей из определённой страны...»

Читать далее

Поддержка AmneziaWG в Wiresock Secure Connect: маскировка WireGuard-трафика или избыточность?

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели17K

В каком-то смысле эта статья является продолжением цикла материалов о реализации WireGuard-клиента на базе Cloudflare BoringTun и пользовательского пакетного фильтра на Windows. В этой статье мне еще раз хотелось бы поговорить о блокировках WireGuard-протокола и имеющихся возможностях по противодействию этим ограничениям. Одним из таких решений является AmneziaWG — надстройка над WireGuard, созданная в рамках проекта Amnezia VPN. В этом материале мы подробно разберём её особенности, подход к реализации и практическую применимость.

Читать далее

ProxiFyre: Open Source SOCKS5 Проксификатор для Windows

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели46K

Один из проверенных временем и надёжных методов, не требующий сложной специализированной инфраструктуры, — это туннелирование TCP-соединений с использованием SSH. Этот протокол является критически важным для стабильности работы интернета, и вероятность его массовой блокировки выглядит крайне малой. Вероятно, наибольшими трудностями, с которыми мы можем столкнуться, являются ограничения на скорость соединения. Уникальной особенностью SSH является встроенный SOCKS5 прокси-сервер, который предоставляет функционал аналогичный VPN с возможностью реализации split tunneling на уровне отдельных приложений.

Читать далее

TeamViewer — быть или не быть

Время на прочтение4 мин
Охват и читатели37K

Как мы помним, с 5 мая 2022 года в Беларуси и России перестал работать сервис TeamViewer. В комментариях к данному посту, я упомянул, как довольно несложно решил эту проблему и пообещал написать более развёрнутое руководство. К сожалению, примерно в то же время я начал заниматься вопросами собственной трудовой иммиграции и со временем стало сложновато. Теперь, когда я уже более менее освоился на новом месте, пришло время закрыть этот технический долг.

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

Читать далее

Обход блокировок WireGuard в Египте

Время на прочтение5 мин
Охват и читатели78K

В 2021 году VPN протокол WireGuard стал настолько популярен в Египте, что удостоился чести пополнить список заблокированных, несказанно “обрадовав” не только клиентов Cloudflare Warp+, Mullvad Wireguard и других коммерческих VPN-провайдеров, но и некоторых пользователей корпоративных VPN. Предварительные исследования показали, что по всей видимости DPI нацелен на WireGuard Handshake Initiate пакеты, которые имеют фиксированный размер (148 байт) и узнаваемую структуру (первые четыре байта UDP пакета [0x01, 0x00, 0x00, 0x00]). Мы постараемся разобраться с особенностями работы DPI по блокировке WireGuard и попробуем ее обойти. Кого заинтересовал - добро пожаловать под кат.

Читать далее

WireGuard клиент для Windows на основе BoringTun

Время на прочтение10 мин
Охват и читатели54K

В начале 2019 года компания Cloudflare представила BoringTun, реализацию WireGuard протокола, написанную на языке Rust. Код проекта распространяется под лицензией BSD-3-Clause и включает в себя библиотеку, которая может использоваться для интеграции функциональности клиента WireGuard в произвольные приложения для любых платформ, включая iOS и Android. Библиотека реализует только протокол WireGuard без сопутствующих механизмов туннелирования, которые предполагается реализовывать в зависимости от целевой платформы.

В этой статье мы рассмотрим реализацию альтернативного VPN клиента WireGuard под Windows на основе BoringTun и оценим ее эффективность в сравнении с существующими решениями. Кого заинтересовало, прошу под кат.

Читать далее

Двойной VPN, или как построить цепочку из WireGuard VPN серверов на Windows

Время на прочтение5 мин
Охват и читатели54K

В этой статье мы рассмотрим процесс настройки цепочки VPN серверов с помощью WireGuard на Windows. В Интернете есть множество руководств, посвященных построению и настройке цепочек VPN серверов, однако большинство из них основаны на Linux и требуют определенных навыков администрирования данной ОС. В предыдущей статье мы уже узнали, как настроить WireGuard VPN Server в Windows, здесь же мы используем ту же технологию для создания цепочки WireGuard VPN из двух хостов Windows с помощью WireGuard и WireSock.

Если заинтересовал, то добро пожаловать под кат.

Читать далее

WireGuard Server на Windows

Время на прочтение6 мин
Охват и читатели93K

Подозреваю, что я не один такой, кто держит дома в режиме 24/7 маленький и тихий системный блок с Windows в качестве сервера, на который можно зайти по RDP (с того же смартфона) и несколько переживает в связи с количеством «неслучайных» попыток к нему подключиться. Кому интересно рассмотреть еще один вариант решения с использованием WireGuard на Windows, прошу по кат...

Читать далее

Информация

В рейтинге
187-й
Откуда
Сербия
Дата рождения
Зарегистрирован
Активность