-
Notifications
You must be signed in to change notification settings - Fork 142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ESNI #80
Comments
Думаю, проблема не в наличии ESNI, а в отсутствии SNI в пакетах с ESNI. DPI не может определить, к какому домену производится доступ, и блокирует соединение. |
Да, думаю, в этом и есть причина на самом деле. Но было бы интересно видеть и такую проверку (на реакцию при отсутствующем SNI), если оно не сильно трудозатратно. ESNI пока все равно рано реализовывать, он еще не готов толком. |
Думаю, нужно переделывать Blockcheck на использование низкоуровневых библиотек работы с сетью и шифрованием. |
Спс, попробую вечером, как доберусь до виндовой машины |
Результаты для моего провайдера:
|
Ваш провайдер блокирует пакеты без SNI. Включение ESNI приведет к недоступности части сайтов, которые были доступны без ESNI. |
А проверяется ли, провайдер блокирует вообще все сайты без SNI, или только на заблокированных айпишниках? |
Это не проверяется. Можно проверить самостоятельно, скачав OpenSSL и запустив, например: |
Судя по всему, в отсутствие SNI мой провайдер блокирует по IP:
То же самое, соответственно, и с
А дальше - лучше. В голову приходит следующее:
Ииии... оно успешно соединяется о_О
И это все при том, что blockcheck выдает "у вашего провайдера полный DPI" |
Да, такая особенность у CloudFlare. Он не позволяет делать полноценный Domain Fronting, зато можно подключаться к любому IP-адресу CloudFlare. |
Да, но разве глутамат (e621.net) не заблокирован по домену? |
Это означает, что ваш провайдер обнаруживает HTTP-запрос на любом IP-адресе и порту, а не только на 80.
Сайт не открылся даже через прокси антизапрета. DPI обнаружил попытку доступа к заблокированному URL даже через незаблокированный IP-адрес и порт 3128 прокси-сервера, и перенаправил на заглушку. Это я называю полным DPI. |
Да, всё верно. Скорее всего, анализу SNI в DPI подвергаются только IP-адреса из реестра, а те, которых нет в реестре, не проходят через DPI, поэтому сайт открывается. Что, вообще говоря, странно, раз это «полный DPI», выполняющий HTTP-обнаружение независимо от IP-адреса. Возможно, на пути следования пакета есть ещё и DPI вышестоящего провайдера, и блокирует именно он. |
Интересно, насколько работоспособным вариантом будет запихивание пустоты в SNI и корректного хостнейма в HTTP? |
SNI там не от хорошей жизни, это сработает только если у всех сайтов на этом айпишнике один сертификат |
Небольшое пожелание: добавьте в программу (или в её следующую версию) следующую проверку: |
@fox0, такая проверка уже есть в экспериментальной версии. Тест обхода DPI HTTPS включает в том числе отправку ClientHello без SNI. |
Ты крут! Тогда ждём патченый openSSL и/или инструкций как собрать и запустить экспериментальную версию кода, |
Возможно ли для сайтов, использующих cloudflare, добавить проверку с использованием ESNI? Как для заблокированных, так и для незаблокированных, ибо мой провайдер, по всем признакам, не пропускает вообще ничего с ESNI.
The text was updated successfully, but these errors were encountered: