ValdikSS / blockcheck

Russian ISP blocking type checker NOTE: NOT WORKING CURRENTLY. ВНИМАНИЕ: НЕ РАБОТАЕТ НА ТЕКУЩИЙ МОМЕНТ
MIT License
1.37k stars 143 forks source link

Не знаю, что вы имеете в виду под странным ответом по IPv6, но #61

Closed ache closed 7 years ago

ache commented 7 years ago

По IPv6 всё открывается, и у меня туннель не в RU, провайдер не раздаёт IPv6.

ValdikSS commented 7 years ago

О каком странном ответе вы говорите? Предоставьте больше информации.

ache commented 7 years ago

Ну да, я одно слово запомнил неверно [!] Сайт открывается только по IPv6 [☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера.

ValdikSS commented 7 years ago

Сайт открывается по IPv6, а по IPv4 получен неожиданный ответ, скорее всего, страница-заглушка провайдера.

ache commented 7 years ago

По IPv4 вообще не открывается, без всякой заглушки - таймаут

ValdikSS commented 7 years ago

Выложите полный вывод тестирования, чтобы не гадать.

ache commented 7 years ago

Выкладываю типичный пример. Заглушек по IPv4 у меня нет нигде - вместо них везде таймауты (про которые питон молчит). Т.е. из предположения 'Сайт открывается только по IPv6' [☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера. ' я должен угадать заглушка там или всё-таки таймаут, по IPv4 или IPv6 - строчка про "неожиданный ответ" идёт сразу после IPv6, а не IPv4. В целом ситуация confusing c тз usability. ''Открываем http://rutracker.org/forum/index.php' '[!] Сайт открывается только по IPv6' '[☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера. Пробуем через прокси.' '[✓] Сайт открывается через прокси'

ValdikSS commented 7 years ago

Выложите ПОЛНЫЙ вывод тестирования, чтобы не гадать.

ache commented 7 years ago
BlockCheck v0.0.9.3
Для получения корректных результатов используйте DNS-сервер провайдера и отключите средства обхода блокировок.

Проверка работоспособности IPv6: IPv6 доступен!
IP: XX.169.174.xxx, IPv6: 2001:470:XXXX:1925:xxxx::, провайдер: <затёр его>

[O] Тестируем IPv4 DNS
    Через системный DNS:     ['104.24.10.70', '104.24.11.70', '184.173.146.95', '195.8.215.136', '195.82.146.214', '5.178.68.100', '67.202.114.133', '67.202.114.134']
    Через Google DNS:    ['104.24.10.70', '104.24.11.70', '184.173.146.95', '195.8.215.136', '195.82.146.214', '5.178.68.100', '67.202.114.133', '67.202.114.134']
    Через Google API:    ['104.24.10.70', '104.24.11.70', '184.173.146.95', '195.8.215.136', '195.82.146.214', '5.178.68.100', '67.202.114.133', '67.202.114.134']
    Несуществующий DNS не вернул адресов (это не ошибка)
[✓] DNS-записи не подменяются
[✓] DNS не перенаправляется

[O] Тестируем IPv6 DNS
    Через системный DNS:     ['2400:cb00:2048:1::6818:a46', '2400:cb00:2048:1::6818:b46', '2607:f0d0:3003:2::b8ad:925e', '2a02:4680:22::214']
    Через Google DNS:    ['2400:cb00:2048:1::6818:a46', '2400:cb00:2048:1::6818:b46', '2607:f0d0:3003:2::b8ad:925e', '2a02:4680:22::214']
    Через Google API:    ['2400:cb00:2048:1::6818:a46', '2400:cb00:2048:1::6818:b46', '2607:f0d0:3003:2::b8ad:925e', '2a02:4680:22::214']
    Несуществующий DNS не вернул адресов (это не ошибка)
[✓] DNS-записи не подменяются
[✓] DNS не перенаправляется

[O] Тестируем HTTP
    Открываем  http://pbooru.com/
[✓] Сайт открывается
    Открываем  http://furry.booru.org/
[✓] Сайт открывается
    Открываем  http://furry.booru.org/index.php?page=post&s=view&id=111173
[!] Сайт открывается только по IPv6
[☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера. Пробуем через прокси.
[✓] Сайт открывается через прокси
    Открываем  http://rutracker.org/forum/index.php
[!] Сайт открывается только по IPv6
[☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера. Пробуем через прокси.
[✓] Сайт открывается через прокси
    Открываем  http://pbooru.com/index.php?page=post&s=view&id=303026
[!] Сайт открывается только по IPv6
[☠] Получен неожиданный ответ, скорее всего, страница-заглушка провайдера. Пробуем через прокси.
[✓] Сайт открывается через прокси
    Открываем  http://a.putinhuylo.com/
[✓] Сайт открывается

[O] Тестируем HTTPS
    Открываем  https://e621.net/
[☠] Сайт не открывается
[☠] isup.me не поддерживает HTTPS, считаем, что сайт работает, а проблемы только у нас
    Открываем  https://rutracker.org/forum/index.php
[☠] Сайт не открывается
[☠] isup.me не поддерживает HTTPS, считаем, что сайт работает, а проблемы только у нас
    Открываем  https://lolibooru.moe/
[☠] Сайт не открывается
[☠] isup.me не поддерживает HTTPS, считаем, что сайт работает, а проблемы только у нас
    Открываем  https://www.dailymotion.com/
[☠] Сертификат подменяется

[O] Тестируем обход DPI
    Пробуем способ «фрагментирование заголовка» на pbooru.com
[✓] Сайт открывается
    Пробуем способ «заголовок host вместо Host» на pbooru.com
[☠] Ошибка: timeout('timed out',)
    Пробуем способ «дополнительный пробел после GET» на pbooru.com
[✓] Сайт открывается
    Пробуем способ «перенос строки перед GET» на pbooru.com
[☠] Ошибка: timeout('timed out',)
    Пробуем способ «необычный порядок заголовков» на pbooru.com
[☠] Ошибка: timeout('timed out',)
    Пробуем способ «табуляция в конце домена» на pbooru.com
[☠] Ошибка: timeout('timed out',)
    Пробуем способ «точка в конце домена» на pbooru.com
[☠] Ошибка: timeout('timed out',)
    Пробуем способ «перенос строки в заголовках в UNIX-стиле» на pbooru.com
[☠] Ошибка: timeout('timed out',)
    Пробуем способ «фрагментирование заголовка» на rutracker.org
[☠] Ошибка: timeout('timed out',)
    Пробуем способ «заголовок host вместо Host» на rutracker.org
[☠] Сайт не открывается
    Пробуем способ «дополнительный пробел после GET» на rutracker.org
[☠] Сайт не открывается
    Пробуем способ «перенос строки перед GET» на rutracker.org
[✓] Сайт открывается
    Пробуем способ «необычный порядок заголовков» на rutracker.org
[☠] Ошибка: timeout('timed out',)
    Пробуем способ «табуляция в конце домена» на rutracker.org
[☠] Ошибка: timeout('timed out',)
    Пробуем способ «точка в конце домена» на rutracker.org
[☠] Сайт не открывается
    Пробуем способ «перенос строки в заголовках в UNIX-стиле» на rutracker.org
[☠] Ошибка: timeout('timed out',)

[!] Результат:
[⚠] Ваш провайдер полностью блокирует доступ к HTTPS-сайтам из реестра.
[⚠] У вашего провайдера "обычный" DPI для IPv4. Вам поможет HTTPS/Socks прокси, VPN или Tor.
ache commented 7 years ago

Ну ещё я никогда не использую DNS сервер провайдера, а гугло-DNS вместо него. Провайдерский тормозной и неизвестно, что от него будут за сюрпризы.

ValdikSS commented 7 years ago

Это недостаток текущей архитектуры. В HTTP-тесте не делается различие между таймаутом и неправильным ответом сервера, поэтому таймаут — тоже неожиданный ответ (хоть фактически ответа и нет).

Программа предназначена для тестирования блокировки провайдера. Если вы хотите тестировать, насколько качественно у вас работают способы обхода блокировки, запускайте ее с флагом --no-report, пожалуйста. Вы отправляете на сервер неактуальные результаты.

ValdikSS commented 7 years ago

@nshopik, посмотри, почему не срабатывает определение IPv6-туннеля.

ache commented 7 years ago

посмотри, почему не срабатывает определение IPv6-туннеля.

Оно не срабатывает, потому что туннель прямо в рутере, а наружу торчит честная IPv6 сетка.

Это недостаток текущей архитектуры. В HTTP-тесте не делается различие между таймаутом и неправильным ответом сервера, поэтому таймаут — тоже неожиданный ответ (хоть фактически ответа и нет)

Вот это и приводит к недоумению. В тестировании обхода вы же с этим же самым справляетесь и как-то определяете таймаут.

запускайте ее с флагом --no-report

сказали бы сразу, с каким флагом вам надо "Выложите полный вывод тестирования".

nshopik commented 7 years ago

@ache запускали без --force-ipv6? тунель опредялеться по автономной системе, роутер здесь не причем.

ValdikSS commented 7 years ago

Оно не срабатывает, потому что туннель прямо в рутере, а наружу торчит честная IPv6 сетка.

В программе реализовано определение туннеля по номеру автономной системы. Если номера для IPv4 и IPv6 не совпадают, то очевидно, что используются разные провайдеры, и проверка через IPv6 отключается.

сказали бы сразу, с каким флагом вам надо "Выложите полный вывод тестирования".

Этот параметр не изменяет вывод, он отключает отправку результатов на сервер.

ache commented 7 years ago

запускали без --force-ipv6? тунель опредялеться по автономной системе, роутер здесь не причем.

Я запускал вообще без флагов.

nshopik commented 7 years ago

@ValdikSS v0.0.9.3 не включал проверки по ASN, коммит запушили позже.

ValdikSS commented 7 years ago

А, точно.

ache commented 7 years ago

Поставил ради эксперимента тормозные DNS провайдера вмеcто гугло-DNSов. Картина блокировки совсем не поменялась, оно отдаёт чёстное IP, но использует DPI без заглушки с таймаутом на точных HTTP урл из списка, и блокирует весь HTTPS хост, если там оказался.