Я думаю все мы понимаем текущую ситуацию с интернетом на территории Российской Федерации. Сейчас это выходит на уровень абсурда, а VPN сервисы выходят на уровень первой необходимости, и в связи с этим я хотел бы поговорить насколько некоторые из них ну абсолютно ужасны, каким сервисам верить не стоит.
Вообще в основном это касается тех сервисов которые вышли за уровень Remnawave + Client подписки, то есть у них имеется свое приложение. Обычно после его разработки они начинают говорить что-то в духе "- Эксклюзивные обходы: обходы, которые появляются только в нашем приложении, и работают благодаря кастомному ядру". (цитата телеграм канала AtlantaVPN, не плохой кстати сервис был) Это заявление является абсолютным бредом.
Поясню на пальцах и примере KakaduVPN.
Цитаты рекламы некоторого сервиса с ИИшным попугаем на логотипе:
- "Наш сервис разрабатывался 5 лет и специально для чебурнета"
- "Мы используем запатентованную технологию 'invisible protocol'"
Цитаты из одного видео, сказать такой бред еще надо умудриться.
Хорошо, так давайте ка проверим их патент.
- Роспатент: Пусто.
- Google patents: Результаты есть но они не связаны с искомыми.
Ни в нашей, ни в глобальной патентной службе, ни в выдаче гугла, ни у них на сайте, вообще НИГДЕ нет ничего о их "invisible protocol". Я конечно понимаю что это маркетинг, но маркетинг ужасно отвратительный.
Ладно ладно, не злимся раньше времени, давайте проверим что у них под капотом и почитаем лицензионное соглашение, может там будут зацепки?
11. Шифрование и безопасность
Мы используем ChaCha20-Poly1305, Curve25519 и Noise Protocol Framework — те же технологии шифрования, которым доверяют Google, Signal и Cloudflare.
Актуальная версия всегда будет доступна на нашем официальном сайте или внутри приложения.
Это буквально описание Wireguard...
Я подозреваю Wireguard в основном из-за Noise protocol, тк он используется в хендшейке Noise_ikpsk2. Само собой, Noise Protocol это фреймворк, он не обязательно принадлежит Wireguard, но в данном контексте это самый вероятный вариант т.к. никаких патентов на их собственный прото не было обнаружено, а значит что они используют обычное VPN-ядро из протоколов которые присутсвуют в ядре. В singbox/xray Noise обычно использует только подозреваемый wg, тот же самый VLESS использует как правило стандартные TLSv1.3 шифры, которые здесь и указаны, скорее всего это не ложь и используется настоящий AEAD_CHACHA20_POLY1305.
Реверс инжиниринг в их документах явно не запрещен, само собой я займусь им, только чуть чуть, так, просто чтобы подтвердить свои слова.
Все проведенные ниже действия актуальны на 19.04.2026, все что я провел ниже может быть проверено вами.
Посмотрим самым быстрым способом: Посмотрим, есть ли упоминания "invisiblie protocol" в коде, раз уж его документаций и патентов нигде нет.
Вывод strings на их android пакет для проверки наличия "invisible-protocol"
namilsk@mpc ~> strings Kakadu.apk | grep -i "invisible" | uniq
index: jstmpllitinterptarinsecurepathreflectlite.SetCurrency_SymbolModifier_LetterModifier_SymbolNonspacing_MarkSpace_Separator
Hanifi_RohingyaPsalter_PahlaviELFOSABI_NETBSDELFOSABI_86OPENEM_ALTERA_NIOS2EM_ARC_COMPACT2EM_CSR_KALIMBA SHT_GNU_LIBLISTSHT_GNU_VERNEED
COMPRESS_LOPROCCOMPRESS_HIPROCPT_GNU_EH_FRAMEPT_GNU_PROPERTYDT_INIT_ARRAYSZDT_FINI_ARRAYSZDT_SYMTAB_SHNDXDT_GNU_CONFLICT.debug_line_str
.debug_rngliststoo many imagesno symbol tableinvalid pointerAuthoritative: AuthenticData: NSResource bodycreating name: initialize time
AddRange(%v-%v)invalid IPRangeframe too largeX-Accel-ExpiresX-Forwarded-Forstart outbound/close outbound/close endpoint/read ECH config
decode short_idreload key pairunpack responsefound user id: parse rule-set[close rule-set[fallback-delay=source_ip_cidr=domain_suffix=[
domain_keyword=fetch rule-set network changedlistener closedreceive message: TLS handshakepeek first byteinvalid requestdiscard padding
parse host key parse range endResolveAddress ResolveService SetLinkDomains downlinkPacketsmissing servers already existsset exit node:
"MultiLabelMap"Derp-Fast-Start (no semicolon)fswatch: watch passCredEnabledquickAckEnabledmonotonicOffsetHasIPPacketInfoDestinationAddr
pkg/tcpip.RoutePacketsReceivedNeighborSolicitMembershipQueryIGMPPacketStatsLinkLocalSourceHostUnreachableRepliesReceivedpkg/tcpip.Stats
packetsReceivedmembershipQueryicmpRateLimiterrtrSolicitTimerinvalidationJobaddressEndpointneighborSolicit%T.Prefix(): %s%s unrecognized
networkEndpointmaxHeaderLengthNetworkProtocolOutputInterfaceMinRandomFactorMaxRandomFactorRetransmitTimerqueuedProtocolsicmpPacketEntry
timeWaitTimeoutlastRcvdAckTimePrevCopiedBytesunhandled statepkg/buffer.Viewinvalid timeout is unavailableinvalid integerinvalid boolean
0601021504Z0700non-minimal tagunknown Go typeBelowExactAbovetimestamp replyfmipv6 messages#multipartfilesAccept-Language/etc/mime.types
accept-encodingaccept-languagex-forwarded-forstring too longDiacriticalDot;DoubleRightTee;DownLeftVector;GreaterGreater;HorizontalLine;
InvisibleComma;InvisibleTimes;LeftDownVector;LeftRightArrow;Leftrightarrow;LessSlantEqual;LongRightArrow;Longrightarrow;LowerLeftArrow;
NestedLessLess;NotGreaterLess;NotLessGreater;NotSubsetEqual;NotVerticalBar;OpenCurlyQuote;ReverseElement;RightTeeVector;RightVectorBar;
ShortDownArrow;ShortLeftArrow;SquareSuperset;TildeFullEqual;UpperLeftArrow;ZeroWidthSpace;curvearrowleft;doublebarwedge;downdownarrows;
hookrightarrow;leftleftarrows;leftrightarrow;leftthreetimes;longrightarrow;looparrowright;nshortparallel;ntriangleright;rightarrowtail;
rightharpoonup;trianglelefteq;upharpoonright;not enough data# Lookups = %d
index: jstmpllitinterptarinsecurepathreflectlite.**SetCurrency_SymbolModif**
...Вообще достаточно комично что единственное что я нашел в их пакете связанное с тем самым "запатентованным протоколом разрабатывавшимся 5 лет" это "Невидимая запятая" (InvisibleComma, вывод выше) из HTML спецсимволов. Никаким "Invisible Protocol" здесь как видите не пахнет. Хорошо, тогда вынюхаем подозреваемые протоколы и самые популярные ядра, чтобы понять что они на самом деле используют, смотреть будем наличие Wireguard-go, Xray и SingBox.
Аналогичная операция с Wireguard
namilsk@mpc ~> strings Kakadu.apk | grep -i "wireguard" | uniq
IsWireGuardOnly
isWireguardOnly
WireGuardGoString
*wireguard.Device
*netlink.Wireguard
*wireguard.Outbound
*wireguard.Endpoint
*wireguard.wireConn
*option.WireGuardPeer
*wireguard.ClientBind
*wireguard.peerConfig
sendWireGuardOnlyPing
*wireguard.stackDevice
*wireguard.PeerOptions
*[]option.WireGuardPeer
*wireguard.wireEndpoint
*wireguard.systemDevice
*[]wireguard.peerConfig
*[]wireguard.PeerOptions
forceFullWireguardConfig
*wireguard.DeviceOptions
*[1]wireguard.PeerOptions
*wireguard.deviceEndpoint
*wireguard.remoteEndpoint
*wireguard.EndpointOptions
addrForWireGuardSendLocked
*option.LegacyWireGuardPeer
maybeReconfigWireguardLocked
*wireguard.systemStackDevice
sendWireGuardOnlyPingsLocked
&*option.LegacyWireGuardOutboundOptions
'github.com/sagernet/wireguard-go/device
'github.com/sagernet/wireguard-go/replay
'github.com/sagernet/wireguard-go/tai64n
)github.com/sagernet/wireguard-go/rwcancel
.....
github.com/sagernet/tailscale/tailcfg.(*NodeView).IsWireGuardOnly
github.com/sagernet/wireguard-go/conn.(*StdNetBind).ParseEndpoint
github.com/sagernet/wireguard-go/conn.(*StdNetEndpoint).ClearSrc
github.com/sagernet/wireguard-go/conn.(*StdNetEndpoint).DstIP
github.com/sagernet/wireguard-go/conn.(*StdNetEndpoint).DstToBytes
github.com/sagernet/wireguard-go/conn.(*StdNetEndpoint).DstToString
github.com/sagernet/wireguard-go/conn.listenNet
github.com/sagernet/wireguard-go/conn.(*StdNetBind).Open
github.com/sagernet/wireguard-go/conn.(*StdNetBind).makeReceiveIPv4
github.com/sagernet/wireguard-go/conn.(*StdNetBind).makeReceiveIPv6
github.com/sagernet/wireguard-go/conn.(*StdNetBind).Open.(*StdNetBind).makeReceiveIPv6.func2
github.com/sagernet/wireguard-go/conn.(*StdNetBind).Open.(*StdNetBind).makeReceiveIPv4.func1
github.com/sagernet/wireguard-go/conn.(*StdNetBind).Open.deferwrap1
github.com/sagernet/wireguard-go/conn.(*StdNetBind).putMessages
github.com/sagernet/wireguard-go/conn.(*StdNetBind).receiveIP
github.com/sagernet/wireguard-go/conn.(*StdNetBind).getMessages
github.com/sagernet/wireguard-go/conn.(*StdNetBind).receiveIP.deferwrap1
github.com/sagernet/wireguard-go/conn.(*StdNetBind).BatchSize
github.com/sagernet/wireguard-go/conn.(*StdNetBind).Close
github.com/sagernet/wireguard-go/conn.(*StdNetBind).Close.deferwrap1
github.com/sagernet/wireguard-go/conn.ErrUDPGSODisabled.ErrorWireguard-go найден в зависимостях! (Само собой я убираю лишнее из вывода.)
дальше sing-box и libbox
То-же самое с sing-box
namilsk@mpc ~> strings Kakadu.apk | grep -iE "sing-box|singbox|libbox" | uniq
....
github.com/sagernet/sing-box/experimental/libbox/internal/procfs/procfs.go
github.com/sagernet/sing-box/experimental/libbox/build_info.go
github.com/sagernet/sing-box/experimental/libbox/command_clash_mode.go
github.com/sagernet/sing-box/experimental/libbox/command_client.go
github.com/sagernet/sing-box/experimental/libbox/iterator.go
github.com/sagernet/sing-box/experimental/libbox/command_close_connection.go
github.com/sagernet/sing-box/experimental/libbox/command_connections.go
github.com/sagernet/sing-box/experimental/libbox/command_conntrack.go
github.com/sagernet/sing-box/experimental/libbox/command_deprecated_report.go
github.com/sagernet/sing-box/experimental/libbox/command_group.go
github.com/sagernet/sing-box/experimental/libbox/command_log.go
github.com/sagernet/sing-box/experimental/libbox/command_power.go
github.com/sagernet/sing-box/experimental/libbox/command_select.go
github.com/sagernet/sing-box/experimental/libbox/command_system_proxy.go
github.com/sagernet/sing-box/experimental/libbox/command_urltest.go
github.com/sagernet/sing-box/experimental/libbox/config.go
github.com/sagernet/sing-box/experimental/libbox/dns.go
github.com/sagernet/sing-box/experimental/libbox/panic.go
github.com/sagernet/sing-box/experimental/libbox/deprecated.go
github.com/sagernet/sing-box/experimental/libbox/http.go
github.com/sagernet/sing-box/experimental/libbox/log.go
github.com/sagernet/sing-box/experimental/libbox/memory.go
github.com/sagernet/sing-box/experimental/libbox/monitor.go
github.com/sagernet/sing-box/experimental/libbox/pidfd_android.go
github.com/sagernet/sing-box/experimental/libbox/pprof.go
github.com/sagernet/sing-box/experimental/libbox/profile_import.go
github.com/sagernet/sing-box/experimental/libbox/remote_profile.go
github.com/sagernet/sing-box/experimental/libbox/service.go
github.com/sagernet/sing-box/experimental/libbox/service_other.go
github.com/sagernet/sing-box/experimental/libbox/link_flags_unix.go
github.com/sagernet/sing-box/experimental/libbox/service_error.go
github.com/sagernet/sing-box/experimental/libbox/service_pause.go
github.com/sagernet/sing-box/experimental/libbox/setup.go
github.com/sagernet/sing-box/experimental/libbox/tun.go
github.com/sagernet/sing-box/experimental/libbox/tun_name_linux.go
github.com/sagernet/sing-box/build/amd64/libbox/go_libboxmain.go
github.com/sagernet/sing-box/experimental/libbox/platform.go
github.com/sagernet/sing-box/build/amd64/libbox/go_main.go
github.com/sagernet/sing-box/build/amd64/libbox/seq.go
github.com/sagernet/sing-box/build/amd64/libbox/seq_android.go
path github.com/sagernet/sing-box/build/amd64/libbox
lib/arm64-v8a/libbox.soPK
lib/armeabi-v7a/libbox.soPK
lib/x86/libbox.soPK
lib/x86_64/libbox.soPK
.....Удивительно, но они даже не умудрились почистить ссылки на go пакеты зависимости через -ldflags="-s -w". Кстати распаковав APK и зайдя в /lib/$(ARCH)/ можно увидеть libbox.so, который в очередной раз показывает нам что они просто забрали себе свободный софт в свой бэкенд и называют его "своей, запатентованной технологией" Понятно, осталось только понять какой же из всех возможных протоколов этот сервис реально использует.
Посмотрим на активность через PCAPDroid (Google Play версия Kakadu). Раз в 30 секнунд приложение отправляет DNS запросы на домены google-statistics.com, say-today.ru и firebaselogging.googleapis.com. firebaselogging.googleapis.com - понятно, это FireBase, сервис через который работают все уведомления в Android. Но вот первое и второе это какие то левые, судя по дизайну вайбкод сайты, что смущает.
Скрин сайта заглушки
В прочем метриках нет ничего удивительного. Никаких данных все равно не передается, летят только DNS запросы. Да и когда приложение выключено никаких запросов нет. К этому вернемся попозже.
Анализ сетевого поведения
Я послушал их трафик через Wireshark, отталкиваясь от резульатов я могу сказать что вероятнее всего они используют VLESS + Reality связку, стандартную на данный момент, по тому что характерных хендшейков иных протоколов вроде Hys2 (QUIC), WG (Noise_ik), ShadowSocks я не наблюдаю, также при включении он всегда стучит на русский IP с ISP SELECTEL и SNI say-today.ru.
Скриншот дампа Wireshark
Обратите внимание на пакет 9156: 1956 192.168.240.112 155.212.215.82 TLSv1.3 609 ClientHello (SNI=say-today.ru) тот самый SNI на счет которого отправлялись DNS запросы. А сам по себе конфиг использует http/1.1 который выглядит абсолютно также как обычный GET запрос на сайт, настройки неплохие.
Но на деле это может быть только SNI, проверим DNS запись, совпадает ли SNI с доменом?
namilsk@mpc ~> nslookup say-today.ru
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: say-today.ru
Address: 155.212.215.82
Все правильно, но еще раз напоминаю что я НЕ подключался к say-today.ru напрямую, от чего можно сделать вывод что это балансировщик или часть прокси-цепи за сайтом-заглушкой (XRay fallback + веб сервер на локалхосте) по тому что все сервера ведут туда.
И дальше я заинтересовался теми самыми "вайбкод сайтами" который мы видели выше, google-statistics и say-today. Они имеют один IP, одни номера телефонов которые отличаются только последней цифрой (+7(495)128449{0,2}). Я отправил заявку с TempMail и левым номером на этот сайт - ответа ноль.
Ну я думаю тут и в воду глядеть не надо чтобы понять что это просто две заглушки без реальной смысловой нагрузки:
- Нет ценообразования у казалось бы бизнес-сайтов
- Нет ответа на заявки (ни автоматического ни реального)
- Близкий к вайб-коду дизайн
- Одинаковые номера телефонов, отличие только в последней цифре
- Один IP
- Одинаковые формы подачи заявок (отсутвие ЛК/регистрации уже должно настораживать если бы это был реальный сервис)
И что собственно не так? Почему я говорю что настройки хорошие но все равно продолжаю гнать на этот VPN?
А по тому что устойчивость к блокировкам. Ее нет. Он централизован, каждый раз при подключении все ваши адреса будут стучать на один балансировщик или одну часть цепи, IP которой пока что чудом остался не тронутым РКН, а когда до него доберутся, документы не гарантируют их ответсвенности за их лежащие сервера.
Мы прилагаем усилия для стабильной и безопасной работы Сервиса, но не можем гарантировать полное отсутствие перебоев, сбоев или снижения скорости, особенно из-за внешних факторов:
- проблем у интернет-провайдера;
- государственных блокировок;
- перегрузки сети;
- ошибок на устройстве пользователя.
Мы не несем ответственности за любые убытки или неудобства, связанные с использованием Сервиса, включая, но не ограничиваясь:
- потерей данных;
- нарушением законодательства;
- проблемами с подключением;
- неисправностями оборудования.
Здесь вы видите фактически полное снятие ответственности. Вы - купили, Kakadu - не обязуется предоставлять вам гарантии на рабочее подключение. Похвалить можно только за политику возврата, она у них приятная.
Итого:
- Инфраструктурное бутылочное горло в лице одного сервера-маршрутизатора. (UPD (02.05.2026): В одном из их рекламных видео которое крутилось вокруг доп. тарификации зарубежного трафика было заявлено что "Весь их трафик идет сквозь русские сервера дальше в Европу", отсюда мы можем видеть что мои расследования были подтверждены)
- Отсутвие гарантий на работоспособность и безнаказанность провайдера.
- Украденный свободный софт + нарушенная лицензия GPLv3.0 которая требует открыть код программы если она была модифицирована и указывать авторство и лицензии если то используется в проприетарном продукте. Ни одно из требований не соблюдено.
Берите только проверенные сервисы, только те где вы можете посмотреть конфигурации, и только тот к которому есть доверие.
А лучше - потратьте пару вечеров и поднимите все свое, за такие-же деньги вы сможете получить не ограниченное кол-во устройств, минимальные задержки и высокую скорость.
02.05.2026: Еще один зазнавшийся сервис!
Сегодня наткнулся на очередную рекламу VPN который (осторожно, цитата) "использует свой протокол, а не обычный VLESS". Ну что-же, давайте проверим это заявление!
Потрошить будем в этот раз VezarusVPN. И кстати, с их политикой использования я тоже решил ознакомиться. И что я получил? Зайдя на их сайт, пролистав до футера, нажав на "условия использования" я получил 404. Вот это сервис! Уже чувствуется их техническая подкованность и филигранно настроенный протокол.
Ладно, свериться то все равно требуется, ведь так? Я перешел по "terms of use" в их приложении. И получил? Просроченный сертификат. Вот сайт (возможно уже обновили).
То что меня смутило:
### Отказ от гарантий
Услуги предоставляются «как есть». Исполнитель не гарантирует бесперебойную работу сервиса, особенно в случаях, вызванных техническими работами, действиями третьих лиц, ограничениями операторов связи, сетевыми атаками и иными обстоятельствами, не зависящими от Исполнителя.
### Возмещение убытков
Вы соглашаетесь возмещать нам убытки по претензиям, возникающим из-за вашего использования услуг.
#### Обход безопасности
Попытки обойти меры безопасности или контроль доступа
В остальном условия благие, юрисдикция в этот раз не ОАЭ, а Россия. Реверсивная инженерия в РФ регулируется статьей 1280 ГК РФ которая по сути его запрещает в любых целях кроме разработки ПО которое будет работать "вместе" с тем что вы разбираете. Но де-факто относительно ст. 272 УК РФ мои действия далее не попадают под определение реверсивной-инженерии как таковой, с юридической точки зрения это является анализом поведения в открытой для пользователя среде (Strings и Wireshark которые я использовал ранее).
Приложение здесь распространялось через Play Market, я вытащил его через Apk Extractor, дальше гоним по strings
Поиск Wireguard
namilsk@mpc ~> strings base.apk | grep -iE "wireguard"
eError registering plugin wireguard_flutter_plus, orban.group.wireguard_flutter.WireguardFlutterPlugin
4Lcom/wireguard/android/backend/GoBackend$VpnService;
)Lcom/wireguard/android/backend/GoBackend;
5Lorban/group/wireguard_flutter/VpnDisconnectReceiver;
4Lorban/group/wireguard_flutter/VpnForegroundService;
WireGuard VPN
WireGuard/GoBackend
WireGuardStats
Rnull cannot be cast to non-null type orban.group.wireguard_flutter.WireGuardTunnel
(orban.group.wireguard_flutter.DISCONNECT
wireguard_flutter_plus_releaseЭто даже хуже чем то было с Kakadu, здесь мы видим orban.group.wireguard_flutter пакет доступный на pub.dev.
Я не совсем уверен в том что они настолько наглые чтобы использовать Wireguard и затирать про "свой" протокол. По этому проверим еще sing-box, xray и v2ray.
Поиск sing-box, xray и v2ray
namilsk@mpc ~> strings base.apk | grep -iE "sing-box"
namilsk@mpc ~ [0|1]> strings base.apk | grep -iE "vless"
assets/flutter_assets/assets/icons/vless_icon.svg
assets/flutter_assets/assets/icons/vless_region.png
`Error registering plugin flutter_vless_android, com.github.tfox.flutter_vless.FlutterVlessPlugin
Flutter Vless
FlutterVlessPlugin
;Lcom/github/tfox/flutter_vless/xray/service/XrayVPNService;
8com.github.tfox.flutter_vless.xray.V2RAY_CONNECTION_INFO
flutter_vless
flutter_vless/status
flutter_vless_android_release
initializeVless
startVless
stopVless
assets/flutter_assets/assets/icons/vless_icon.svgPK
assets/flutter_assets/assets/icons/vless_region.pngPK
namilsk@mpc ~/З/Telegram Desktop> strings base.apk | grep -iE "v2ray"
, CONNECTED_V2RAY_SERVER_PORT=
, V2RAY_FULL_JSON_CONFIG=
V2RAY_CONFIG
V2RAY_CONNECTED
V2RAY_CONNECTING
V2RAY_DISCONNECTED
*XrayConfig(CONNECTED_V2RAY_SERVER_ADDRESS=
8com.github.tfox.flutter_vless.xray.V2RAY_CONNECTION_INFO
NgetConnectedV2rayServerDelay: Failed to measure delay (VPN may not be running)
6getConnectedV2rayServerDelay: Success! Response code:
/getConnectedV2rayServerDelay: Testing delay to Абсолютно та же картина, только теперь это плагины-обертки на flutter, а не напрямую libbox. Другими словами, здесь разработчики даже поленились использовать более производительные библиотеки и просто сделали себе import VlessPlugin, а потом initializeVless(). Здесь точных результатов по репозиториям я не нашел, но ближайшее совпадение это pub.dev и github, но все-же, здесь лицензия MIT. Молодцы, хотя бы не нарушили лицензии.
Переходим к WireShark.
Вообще этот пациент оказался более мудреным чем прошлый, они используют Vless, UDP трафик + рандомные байты которые можно увидеть в Wireshark сбивают меня с толку.
Рассуждения следующие.
- В коде имеется WireGuard и Vless плагины, значит вероятнее всего используется что-то из них.
- После подключения видно специфический UDP трафик, а WireGuard работает на UDP, так что это скорее всего он.
- Проверяем, WireShark не распознает WireGuard хендшейки в первых пакетах отправленных VPN.
Честно говоря - я не совсем уверен. Вероятно это Hys2 (QUIC тоже UDP) из реализации Xray-Core (по тому что именно его оборачивает flutter_vless) или VLESS поверх UDP (то есть какой нибудь например mKCP).
Скриншот дампа WireShark
И судя по WHOIS у них есть свой зарегистрированный провайдер (ISP).
Скриншот whois с 2ip.io
Но я осмелюсь утверждать что это им не поможет. Почему? Все просто. Российские провайдеры в любом случае обязаны подчиняться роскомнадзору, да и скорее всего это виртуальный провайдер, просто запись, а оборудование чужое (а может вообще и просто запись). Да и если сервис блокирует всю Россию, то любой провайдер будет заблокирован просто по GeoIP.
Вывод у нас все тот же. Не покупайте спорные по качеству VPN, те где сами не можете проверить конфигурации (ну пожалуйста).