Ник Пост Дата
ValdikSS

27.02.2022 наблюдается блокировка IP-адреса 199.36.158.100 сервиса Google Firebase, который используется на доменах forms.gle, posts.gle и firebaseapp.com от Google.
Блокировка осуществляется системой ТСПУ DPI, на провайдерах, где эта система установлена. TCP-соединение закрывается пакетом TCP RSTACK в ответ на SYN, ICMP-ответ (ping) не получается.

Сервис ping-admin показывает доступность сервиса в целом. ОБИТ, Ростелеком, МТС и Tele2 (все с ТСПУ) не устанавливают соединение до этого IP-адреса, причём с соседними адресами 199.36.158.99, 199.36.158.101 и 199.36.158.102 проблем не наблюдается.

В Реестре данный адрес не значится. Потенциальные заблокированные домены, ссылающиеся на этот адрес, также не найдены.

# traceroute 199.36.158.100 --tcp
traceroute to 199.36.158.100 (199.36.158.100), 30 hops max, 60 byte packets
1 _gateway (192.168.69.1) 0.431 ms 0.388 ms 0.583 ms
2 185-171-192-41.obit.ru (185.171.192.41) 1.378 ms 1.774 ms 2.161 ms
3 172.29.192.206 (172.29.192.206) 1.748 ms 1.949 ms 2.132 ms
4 172.29.192.121 (172.29.192.121) 2.720 ms 2.965 ms 3.103 ms
5 172.29.194.77 (172.29.194.77) 2.692 ms 2.945 ms 2.938 ms
6 172.29.194.102 (172.29.194.102) 2.930 ms 1.633 ms 1.762 ms
7 172.29.255.217 (172.29.255.217) 1.079 ms 1.867 ms 1.282 ms
8 172.29.194.121 (172.29.194.121) 1.694 ms 1.888 ms 1.880 ms
9 172.29.194.37 (172.29.194.37) 1.872 ms 1.864 ms 2.061 ms
10 censor-02.obit.ru (85.114.3.53) 2.053 ms 2.046 ms 2.039 ms
11 vi-xx-1874.brc1.spb.obit.ru (85.114.3.56) 2.440 ms 2.637 ms 2.835 ms
12 ae1-144.rt.ov.spb.ru.retn.net (87.245.250.65) 2.828 ms 1.884 ms 1.867 ms
13 * * *
14 * * *
15 * * *
16 ae0-3.rt.irx.fkt.de.retn.net (87.245.232.181) 33.290 ms * 33.267 ms
17 gw-fastly.retn.net (87.245.236.129) 32.644 ms 32.447 ms 32.603 ms
18 199.36.158.100 (199.36.158.100) 33.621 ms 30.754 ms 38.735 ms

Traceroute соседнего адреса:

# traceroute 199.36.158.102 --tcp
traceroute to 199.36.158.102 (199.36.158.102), 30 hops max, 60 byte packets
1 _gateway (192.168.69.1) 0.466 ms 0.450 ms 0.625 ms
2 185-171-192-41.obit.ru (185.171.192.41) 1.438 ms 1.838 ms 2.241 ms
3 172.29.194.72 (172.29.194.72) 1.823 ms 2.020 ms 2.221 ms
4 172.29.192.121 (172.29.192.121) 2.467 ms 2.563 ms 2.760 ms
5 172.29.194.77 (172.29.194.77) 2.447 ms 2.441 ms 2.435 ms
6 172.29.194.102 (172.29.194.102) 2.428 ms 1.063 ms 0.954 ms
7 172.29.255.217 (172.29.255.217) 1.353 ms 2.251 ms 1.136 ms
8 172.29.194.121 (172.29.194.121) 1.515 ms 1.508 ms 1.500 ms
9 172.29.194.37 (172.29.194.37) 2.931 ms 2.923 ms 3.115 ms
10 ae1-144.rt.ov.spb.ru.retn.net (87.245.250.65) 2.501 ms 2.494 ms 2.488 ms
11 * * *
12 gw-fastly.retn.net (87.245.236.129) 31.493 ms 31.068 ms 31.060 ms
13 199.36.158.102 (199.36.158.102) 38.291 ms 38.266 ms 38.859 ms

2022-02-27T11:01:31.875Z
bfov0jzd

mars-stub.web.app

2022-03-01T15:07:22.372Z
ValdikSS
$ host mars-stub.web.app
mars-stub.web.app has address 199.36.158.100
mars-stub.web.app has IPv6 address 2620:0:890::100
2022-03-01T15:07:34.233Z
nitesco

199.36.158.100 разблокировали?

2022-03-02T07:01:03.557Z
ValdikSS

Да.

2022-03-02T07:01:32.162Z
oLejikOnMyEvent(OLejik On My Event)

все еще не пашет, причем уже давно

2022-04-26T11:16:15.236Z
diwenx

It looks like the IP is still being blocked, same mechanism as the tor entry IP.

2022-04-26T19:39:35.104Z
ValdikSS

Убедился еще раз — 199.36.158.100 с моих провайдеров доступен.
forms.gle, posts.gle, firebaseapp.com открываются.

2022-05-22T09:41:36.673Z
UzverNumber47(Uzver Number47)

В последнее время ни у кого не было проблем с доступом к firebase из МегаФон и МТС? Именно мобильных сетей. С VPN все нормально начинает работать.
Firebase клиент пишет “Failed to fetch document because the client is offline”. И это все, что у меня есть.

2023-10-13T09:09:28.493Z
rubkv(rubkv)

Подтверждаю. Тоже есть периодические проблемы с доступом к Firebase через Мегафон и Ростелеком (Теле2). Начались примерно 3-4 дня назад. Database location: nam5 (не знаю имеет ли это значение).

Не знаю куда копать…

2023-10-15T00:29:35.316Z
UzverNumber47(Uzver Number47)

У меня все началось в ночь 7-8.10.2023. С каждым днем у большего числа людей начинает глючить. Домашние, мобильные сети, уже независимо от провайдера. Но еще есть у кого нормально работает. Видимо постепенно вводят свои блокировки :rage:

2023-10-15T09:50:38.894Z
ValdikSS

Все предыдущие домены, которые были недоступны год назад, работают.

2023-10-15T16:08:36.534Z
rubkv(rubkv)

Аналогично, всё так. С каждым днём всё большее количество пользователей жалуются на ошибку о недоступности БД Firebase. Подскажите, какая у вас локация серверов в Firebase, nam5 или другая?

Пока не понимаю как отловить заблокированные IP-адреса, чтобы сообщить здесь. У тех пользователей, у которых проблема с доступностью Firebase если включить VPN - всё работает отлично.

2023-10-15T16:43:00.364Z
amen

Такая же проблема, началась 3 дня назад.
Firestore сервер используем eur3.
Есть подозрение, что проблема именно с авторизацией в Firebase, а не с самой базой данных.

Если кто найдет решение этой проблемы, было бы здорово.

С VPN тоже все работает.

2023-10-15T17:35:47.216Z
rubkv(rubkv)

Коллеги, есть у кого-нибудь возможность попробовать отловить какие IP-адреса все-таки попали под блокировку? У нас авторизации нет, но проблема с запуском приложений из-за недоступности Firebase - есть.

Я попробую сегодня собрать дамп через PCAPdroid, может тоже кто-нибудь попробует отловить заблокированные адреса? Едва ли такая частичная блокировка серверов Firebase носит преднамеренный характер?

2023-10-15T18:26:58.268Z
ValdikSS

Firebase изначально работал по протоколу XMPP, но сейчас он объявлен deprecated и используется HTTP API.
Возможно, в вашем ПО используется XMPP-версия, а проблемы вызваны Обсуждение: Блокировка Jabber/XMPP в России?

2023-10-15T21:16:04.236Z
UzverNumber47(Uzver Number47)

Database location: eur3

2023-10-16T07:26:35.825Z
evilandfox(Rinat)

У нас тоже проблема, у многих пользователей (зависит походу от интернет провайдера) не работают запросы к firestore, причем только во flutter-библиотеке. Firebase Admin SDK и Firebase web SDK ок.
Предполагаю тогда что cloud_firestore | Flutter Package работет на XMPP и из за этого возникают проблемы. Пока непонятно как это решать.

2023-10-16T07:44:06.190Z
usnevst

Firebase Cloud Messaging XMPP protocol
Authorize send requests

// Production
fcm-xmpp.googleapis.com:5235

// Testing
fcm-xmpp.googleapis.com:5236

You must initiate a Transport Layer Security (TLS) connection. Note that FCM doesn’t currently support the STARTTLS extension.

it is just a wrapper around native Firebase SDKs

2023-10-16T07:50:35.528Z
amen

В Android Cloud Firestore такая же проблема, flutter не используется, да и FCM не используем.
Пока работает только через VPN.

2023-10-16T09:30:06.034Z
rubkv(rubkv)

Аналогично. Flutter и не FCM не используем в этом проекте, но доступа у пользователей без VPN - нет. Значит вряд ли ошибка в блокировке XMPP?

Экспериментальным путем выяснили, что проблема с доступом к Cloud Firestore, доступ к Firebase Remote Config, например, есть у всех пользователей.

2023-10-16T09:54:18.510Z
usnevst

У firebaseremoteconfig.googleapis.com туча адресов, у firestore.googleapis.com один. Они иногда пересекаются.

Адреса firestore.googleapis.com для разных geoip клиентов

142.250.179.234
142.250.181.170
142.250.182.138
142.250.184.138
142.250.184.170
142.250.193.170
142.250.201.74
142.250.218.234
142.250.65.170
142.250.65.234
142.250.68.42
142.250.74.138
142.250.74.74
142.250.80.42
142.251.221.138
142.251.221.74
142.251.36.202
142.251.40.138
142.251.40.234
142.251.41.10
142.251.47.202
172.217.0.170
172.217.169.106
172.217.2.138
172.217.215.95
172.217.23.202
216.58.215.234
34.64.4.10
74.125.130.95

2023-10-16T10:08:59.985Z
rubkv(rubkv)

Если я правильно смотрю дамп, то нет ответа на Client Hello как минимум от двух IP-адресов.

25 2.264054 192.168.1.118 216.58.209.202 TLSv1 234 Client Hello
32 2.527785 192.168.1.118 216.58.209.202 TCP 234 [TCP Retransmission] 39206 → 443 [PSH, ACK] Seq=1 Ack=1 Win=87616 Len=168 TSval=4294938752 TSecr=1926719265

61 3.566939 192.168.1.118 216.58.211.226 TLSv1 583 Client Hello
71 4.101006 192.168.1.118 216.58.211.226 TCP 583 [TCP Retransmission] 58744 → 443 [PSH, ACK] Seq=1 Ack=1 Win=87616 Len=517 TSval=4294939224 TSecr=2701383711

По некоторым IP-адресам есть ответ Server Hello:
37 2.710146 192.168.1.118 216.58.209.170 TLSv1.2 247 Client Hello
40 2.758502 216.58.209.170 192.168.1.118 TLSv1.2 1466 Server Hello

Но не уверен, что правильно смотрю.

2023-10-16T11:10:38.727Z
usnevst

Чем заканчиваются TCP streams c этими Retransmission?

PCAPdroid использует zdtun, реализуя логику tun2socket. Пишет пакеты клиента на VPN интерфейсе, транслируя дату в сетевые сокеты. ACK’ает пакеты клиента при удачной записи в сокет, связь с ответом сервера косвенная. Дампы, при блокировке, могут сильно отличаться от снятых на внешнем интерфейсе или далее в сети. Retransmission может совсем не быть в дампах PCAPdroid, при реальной блокировке. Получается, надо смотреть все streams.

РКН ранее уже блокировал Google. Было масштабней, не нужно было искать иголку в стогу сена. Но можно использовать тот опыт для сбора всех адресов используемых гуглом для apis. Только не понятно, каких apis, блокируют ли проблемные адреса на всех ТСПУ, что именно по адресам блокируют.

2023-10-16T18:05:20.957Z
evilandfox(Rinat)

что делать то, ребят?

2023-10-17T05:09:47.431Z
usnevst

Мобильные платформы существуют в мире единорогов и розовых пони, там никогда не бывает сетевых сбоев. “client is offline” (unavailable) возвращает также когда проблемы с бэкендом, но апи доступно и отвечает. Идеальная цель для РКН, могут кошмарить и отмараживаться.

2023-10-17T12:18:19.716Z
ValdikSS 2023-10-17T12:26:24.469Z
ValdikSS

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

2023-10-17T20:58:00.474Z
murka(Danil Shaymurzin)
googleapis.com
firestore.googleapis.com
oauth2.googleapis.com
play.googleapis.com

dns.google
2023-10-18T07:10:25.246Z
ValdikSS

Всё TLS на порт 443?
Доступно отовсюду, проблем не наблюдаю.

2023-10-18T09:05:52.273Z
UzverNumber47(Uzver Number47)

У меня проблема решилась перенаправлением трафика через прокси-сервер, который находится в СПб. Squid с дефолтными настройками и вот такой кусочек кода в андроид приложении.

System.setProperty("https.proxyHost", "x.x.x.x");
System.setProperty("https.proxyPort", "1234");
System.setProperty("com.google.api.client.should_use_proxy", "true");

Может кому-то поможет.
Firebase ios SDK вроде тоже так умеет, но я бы сам не отказался если бы кто-то показал как сделать подобное на ios.

2023-10-18T14:39:34.896Z
usnevst

Там есть другие внереестровые блокировки?

2023-10-19T09:56:01.244Z
UzverNumber47(Uzver Number47)

Я не знаю, с тех пор как подключил этот сервер пользователи больше не жаловались. В будущем если и на нем появятся блокировки - поставлю VPN прямо на сервер. Как-то так придумал.

2023-10-19T10:15:57.108Z
usnevst

Проверка на внереестровые блокировки

curl https://play.google.com/
2023-10-19T10:26:54.939Z
UzverNumber47(Uzver Number47)

Именно в таком виде ничего не выводит. С опцией -v много текста и в конце Connection … left intact.

2023-10-19T10:34:09.211Z
usnevst

Нет ошибок.
Блокировок нет.

2023-10-19T10:41:22.593Z
UzverNumber47(Uzver Number47)

Тогда, думаю, можно рекомендовать этот подход. Сервер брал самый дешевый на selectel.ru
Почему сurl на play.google.com? Все запросы в моем приложении шли на .googleapis.com правда это уже с включенным прокси в приложении.

2023-10-19T11:10:53.882Z
usnevst

Потому что .googleapis.com пока непонятно где и что блокируют, а https://play.google.com стабильно везде где есть внереестровые блокировки, и сайт близок к теме.

Есть полный список доменов которое приложение запрашивает при нулевом старте (без кеша, даты)?

2023-10-19T11:20:56.567Z
UzverNumber47(Uzver Number47)
firebaselogging-pa.googleapis.com
firebasestorage.googleapis.com
firestore.googleapis.com
firebaseinappmessaging.googleapis.com
firebaseremoteconfig.googleapis.com
2023-10-20T07:34:29.846Z
Andrew(Андрей)

Как у вас успехи? Приложение с базой firebase работает только через впн или ноунем провайдеров. Стоит ли ожидать разрешения проблемы со стороны Firebase Support. Написал им, но пока тишина.

2023-10-20T09:23:51.513Z
Andrew(Андрей)

У нас присвоен регион eur3 - мультирегион в восточной Европе. Сейчас нельзя изменить регион, его можно менять только при создании нового проекта в файрбейс. Может стоит попробовать создать новый проект, присвоить другой регион (Азию, Восток) и перенести на него базу? Спасибо. PS не программист.

2023-10-20T09:28:21.894Z
UzverNumber47(Uzver Number47)

Кстати, у пользователей, у которых отваливалась firestore database, вполне себе нормально в браузере открывался firestore.googleapis.com И еще, когда я сразу пытался поднять nginx чтобы проксировать все в него приходили CONNECT запросы по каждому адресу выше. Может это важно.

2023-10-20T11:06:28.182Z
usnevst

У iOS пользователей приложения были те же проблемы?

2023-10-20T11:47:41.851Z
Deniska(Denis)

Попробовал создать проекты в разных регионах и все также. Не помогает

2023-10-20T11:50:42.589Z
UzverNumber47(Uzver Number47)

Да, они и остались. Прямо сейчас пытаюсь что-то похожее, как я сделал на Android, провернуть и на ios, но ничего не выходит. Задать “глобальный прокси” для ios приложения не выходит. Можно только перед отправкой самого запроса. Если кто поможет, буду признателен

2023-10-20T12:13:09.475Z
usnevst

Без сетевого дампа от клиента проблему не понять, imho.

firebase-ios-sdk и firebase-android-sdk используют разные стеки для TLS, у iOS С++ либы, у Android java. При этом через браузер работает (только неизвестно какой ip адрес получали для firestore). Если это не блок на стороне самих apis (не сетевой или TLS), возможно есть попытка цензора отсечь не api трафик и случился false positive. Вариантов у цензора масса, даже с данными из дампа воспроизвести блокировку из другой точки будет сложно. Это сетевой ад.

2023-10-20T15:12:41.316Z
UzverNumber47(Uzver Number47)

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

2023-10-20T15:59:44.233Z
Vladimir(Vladimir)

Всем привет. Через прокси тоже заработало.
Вот настройки для реализации на iOS:

Firebase осуществляет сетевой слой посредством gRPC.
Необходимо найти класс C++ “grpc_connection”
(лежит в папке FirebaseFirestore)
Найти Метод - CreateChannel (у меня на строке 300)
В параметрах к ChannelArguments добавить две строки

args.SetString(GRPC_ARG_HTTP_PROXY, “http://proxyHost:proxyPort”); (url и порт одной строкой (порт через двоеточие))
args.SetInt(GRPC_ARG_ENABLE_HTTP_PROXY, 1);

Непосредственно процедуру формирования данных для сетевого соединения с учетом настроек прокси можно отследить (проверить) в классе http_proxy (лежит в папке gRPC-Core) это строка 132 - absl::optionalstd::string HttpProxyMapper::MapName
Если прокси url указан некорректно, то Firebase в консоле напишет что-то вроде - cannot parse value of ‘http_proxy’ итп

Важно! При обновлении зависимостей Firestore проекта, эти правки перетрутся.

Надеюсь помог

2023-10-20T17:07:22.767Z
UzverNumber47(Uzver Number47)

Есть вариант чуть проще.

setenv("grpc_proxy", "http://x.x.x.x:yyyy", 1);

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

Спасибо usnevst!

2023-10-20T17:33:25.262Z
Vladimir(Vladimir)

Ого, круто! А я ковырял гугловский SDK, тоже полезно )))

2023-10-20T17:45:42.410Z
ValdikSS

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

2023-10-22T16:59:47.168Z
usnevst

Есть примеры, когда проблема исчезала при переключении на wi-fi проводного провайдера?

2023-10-22T20:11:18.857Z
Andrew(Андрей)

Да, есть, провайдер к-телеком

2023-10-23T04:10:57.230Z
UzverNumber47(Uzver Number47)

Есть, причем множество. И есть примеры когда в сести wi-fi проводного провайдера те же проблемы.

2023-10-23T07:08:20.365Z
usnevst

Клиенты использовали нестандартные dns настройки? Провайдеры известны?

2023-10-23T08:49:37.852Z
Andrew(Андрей)

Переписываюсь с ТП Файрбейс,
Скриншот Ой!
Предлагаю вам также написать в ТП, более подробно изложить проблему (не программист), возможно у вас получится донести все нюансы данной проблемы, возможно предложить им решение.

https://firebase.google.com/support/troubleshooter/contact

2023-10-23T09:13:18.004Z
ValdikSS

Чтобы сообщить о проблеме, нужно сначала понять, где она происходит: блокируется ли какой-то конкретный домен, IP-адрес, порт. Без этой информации ни провайдер, ни поддержка Google вам никак не поможет.

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

Все IP-адреса домена firestore.googleapis.com, которые мне удалось найти, открываются со всех точек в России, которые у меня имеются.

2023-10-23T20:16:29.029Z
Deniska(Denis)

Я не разбираюсь особо в этом. Но вот попытался перехватить трафик, у меня пакеты идут туда когда пытаюсь обратиться к firestore базе данных. А в ответ никаких.


Хотя пинг к lu-in-f95.1e100.net проходит

2023-10-24T13:02:47.609Z
UzverNumber47(Uzver Number47)

У меня есть 1 пользователь, у которого сваливается по таймауту http://play.google.com Мегафон и NetByNet даже VPN не помогает. Какую информацию мы можем от него получить? Мой метод с прокси у него не работает. Т.е. даже запросы, которые проксируются через мой сервер в СПб у него не проходят.

2023-10-24T13:25:49.208Z
ValdikSS

Захватите трафик с помощью Wireshark, в pcap-файл. На вашем скриншоте недостаточно информации.

  1. Установите WireShark
  2. Выберите в нём сетевой интерфейс и укажите в строке filter: port 53 or port 443
  3. Запустите захват
  4. Откройте сервис/запустите программу, которая не работает
  5. Проверьте, есть ли какие-то адреса, на которые не удаётся подключение (много красных строк TCP SYN либо много повторений ClientHello).
  6. Остановите захват кнопкой с красным квадратом, сохраните в pcap-файл.

Выложите дамп (pcap-файл) сюда или отправьте личным сообщением.

Он заблокирован с марта 2022: Блокировка news.google.com и недоступность play.google.com

2023-10-24T14:16:18.882Z
ValdikSS

Я нашел причину — Android-приложение meduza в режиме обхода блокировок обращается к Firebase (firestore.googleapis.com) при запуске.
Блокируют сочетание TLS ciphersuites + server_name + supported_groups средствами ТСПУ. Как я понимаю, оно стандартное, из Firebase SDK.

meduza-firebase.pcap (11.6 KB)

2023-10-26T19:32:37.848Z
nail(Nail)

Столкнулся с той же проблемой. Заметил, что на некоторых операторах начали зависать обращения к firestore документам и отваливаться транзакции. Меняешь сеть или используешь vpn - проблема уходит. Налицо блокировки. Начал копать и разбираться. Приложение на Flutter. Работает нативно на android и ios, и есть web версия.

Любопытно, что на операторе, на котором нативные flutter (AOT) версии блокируются, web версия работает! Первое предположение было, что может как-то хитро разные IP используются, для натива и web, отсюда и разное поведение (с блокировкой и без) Забегая вперед - нет, IP адреса одинаковые. [64.233.165.95] Ну и это же логично, их же выдает DNS по UDP, а там user-agent’a нет.

Первое что потребовалось, это исключить влияние Flutter. Сделал тестовый проект на Android. Чистое Android приложение на kotlin с последними версиями библиотек - симптомы те же.
В логах немного разные ошибки в зависимости от провайдера, видимо зависит от того как провайдеры рубят коннекшен, или не рубят его. все не сохранилось, вот одна из них такая:
Caused by: io.grpc.StatusException: UNAVAILABLE: Channel shutdownNow invoked

Когда сеть без блокировок firestore работает по gRPC и создание документа выглядит так:

POST https://firestore.googleapis.com/google.firestore.v1.Firestore/Write HTTP/2.0
user-agent: grpc-java-okhttp/1.52.1
...
POST https://firestore.googleapis.com/google.firestore.v1.Firestore/Commit HTTP/2.0
user-agent: grpc-java-okhttp/1.52.1
...

Начал снимать TCP DUMP на разных провайдерах и анализировать их.

  • не блочится на мобильном tele2
  • блочится на домашнем wifi - оператор ufanet.ru

в том числе запечатлел нюанс, что web версия на “плохом” операторе работает и не блочится

tele2_not_blocked.pcap (9,8 КБ)
wifi_blocked.pcap (1,2 КБ)
web_wifi_not_blocked_long.pcap (13,4 КБ)

Обнаружил, что при handshake после “Client Hello” сервер не отвечает “Server Hello”. Handshake просто прерывается.

Далее начал искать по ключевым словам “Client Hello” и наткнулся на этот сайт и это обсуждение.
Надеюсь мои наблюдения будут полезны.

У меня два вопроса:

  1. Как ValdikSS узнал что блокировка была нацелена на программу от meduza?
  2. такая блокировка не является точечной, кто отвечает за то, чтобы уведомить РКН о необходимости пересмотреть правило блокировки, и будет ли это сделано в обозримом будущем? Или нам нужно костылять прокси обходы на клиентах?
2023-10-28T23:08:09.536Z
nail(Nail)

Дополню, сейчас речь об од wifi сети оператора ufanet, который блочит работу с firestore.
Но как было замечено, блочатся только наивные приложения android и ios (Flutter).
То же самое приложение запущенное в браузере, web версия (Fluter) - не блочится.
Девайс тот же самый, приложение нативное и web работает с одним и тем же firestore, сеть одна и та же.
пакет Client Hello для handshake собираются немного по разному:

сравнить весь кусок wifi_hello_native_and_web - Diffchecker

2023-10-28T23:27:21.268Z
usnevst

У вас в дампе подтверждение для “Client Hello” приходит через 0.3 мс. Подтверждал явно не сервер.

Можете показать дампы для iOS?

2023-10-29T08:39:51.471Z
nail(Nail)

Так, я сейчас уехал из дома на квартиру, поэтому сеть другая.
Но dom.ru тоже блочит.
mac подключен проводом к роутеру. share internet через wifi.
ios подключен к маку по wifi на созданный hotspot
на маке запущен wireshark
ip срезолвился другой 209.85.233.95

дамп domru_widi_blocked_ios_through_mac.pcapng (15,5 КБ)

2023-10-29T13:44:30.286Z
usnevst

Интересно TLS_CHACHA20_POLY1305_SHA256 идет первым, хотя в коде grpc++ он третий. В сборке отдельно от SDK, он таки третий.

Причина в железе, run-time условие:

  // Order the bulk ciphers. First the preferred AEAD ciphers. We prefer
  // CHACHA20 unless there is hardware support for fast and constant-time
  // AES_GCM. Of the two CHACHA20 variants, the new one is preferred over the
  // old one.
2023-10-29T13:59:27.758Z
nail(Nail)

железка была iPhone xs, iOS 16.7.1

2023-10-29T15:58:42.755Z
usnevst

В сети пишут, что начиная с 5 iPhone используемые процессоры имеют поддержку AES инструкций.
Но в BoringSSL по факту игнорируют эту поддержку. Можно при сборке отдельно включить, но тогда приложение может упасть на древних гаджетах, если поддерживаются.
То есть нет ситуации, что где-то есть пользователи у которых отсутствуют блокировки по причине железа, у всех будет едино. Но вот есть ситуация, когда невозможно воспроизвести блокировку вне блокируемой платформы, даже если можно собрать тот же код. Тот, да не тот.

2023-10-29T18:51:51.151Z
nail(Nail)

Возможно я не до конца понял Вас, но вот мои наблюдения насчет устройств:
На всех наблюдаемых устройствах (и android и iOS) блокировка на “плохих” операторах присутствует, если запускать нативную версию приложения. Как Flutter так и обычные. А вот если запустить веб версию (Fluttre) приложения блокировки нет.
Если есть подозрения, что поведение может отличаться в зависимости от устройств, обоснуйте причины и я проведу серию тестов на устройствах, до которых могу дотянуться.
Если говорить про Apple оборудование, вот такие устройства есть рядом.

iphone xs
iphone 12
iphone 13 pro max
iphone 14
ipad pro (не M)
ipad air 4
Можно попробовать приложение еще на маке запустить

Android оборудование тоже есть разнообразное.

2023-10-29T20:39:31.526Z
evilandfox(Rinat)

А если на уровне приложения задать прокси, то повляет ли это на модерацию приложения в Apple/Google? Не будет проблем с тем, что трафик проксируется?

2023-11-01T11:56:42.373Z
Vladimir(Vladimir)

У нас всё норм на обеих платформах прошло.

2023-11-01T13:50:20.897Z
UzverNumber47(Uzver Number47)

У меня на обеих платформах все норм. Крутится уже 2 недели, 4 апдейта

2023-11-01T15:42:56.705Z
evilandfox(Rinat)

Можете пожалуйста привести пример кода для обеих платформ?..

2023-11-02T10:37:32.218Z
evilandfox(Rinat)

А вообще возможно кто то на флаттер это реализовал, можете скинуть?

2023-11-02T10:39:49.660Z
Vladimir(Vladimir)

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

2023-11-02T15:58:42.262Z
Elevator

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

Они используют для своих ссылок домен storage.googleapis.com
Ждем ответа от РКН

2023-11-07T20:49:58.500Z
UzverNumber47(Uzver Number47)

Товарищи, никто в последние 3 дня не сталкивался с проблемами доступа к firebase? Очень похоже, что опять началось. И обход со squid сервером перестал работать. Пока есть 2 пользователя Питер - Билайн, Екатерингбург - Теле2. VPN помогает.

2024-01-14T08:10:13.990Z