Pull to refresh

Comments 46

Ура! Наконец я смогу различать заблокированные и просто не работающие сайты. Надоело время тратить.
Спасибо за идею.
Добавил это «решение», чтобы работало в 1 клик.
Заголовок спойлера
Теперь видно, какой сайт доступен из США (не смотря на блокировку):


А какой не доступен:


А вот забавный момент: сам себя сервис отказывается проверять.

Отшучивается: If you can see this page and still think we're down, it's just you.
Расширение шуток не понимает.
Хорошая тема. Понять сайт идет штатным образом, или через черный ход. Хотя практической применимости этих сведений пока не придумал.
Я вовсе не устанавливаю VPN/Proxy на основной браузер. Чтобы в один день не оказалось что весь интернет доступен только через него.
Заметил что помимо сайтов с плашкой РКН или Ростелеком что сайт заблокирован, появились такие: «Не удается получить доступ к сайту Соединение сброшено.» При этом целевая аудитория сайта Россия, через VPN прекрасно работает(но в реестре нет). Не знаю с чем связано, но похоже не на прямую блокировку, а какого то важного сервиса, на который сайт опирается.
И таких все больше. Опять ковровые бомбардировки задели что то важное для инфраструктуры.
P.S. Сайт на https. Если последнюю букву удалить, тогда вылезает плашка РКП о блокировке.
Все верно. Смысла ставить VPN на браузер нет. (а если 2 браузера… а если мобильные клиенты… нудно) Надо организовывать более правильное решение — на уровне всей подсети. Заодно можно решить проблему DPI и перехвата DNS запросов.
Всем мира.
Заметил что помимо сайтов с плашкой РКН или Ростелеком что сайт заблокирован, появились такие: «Не удается получить доступ к сайту Соединение сброшено.»

Это те, которые попали под раздачу при блокировки подсети. Мой сервер на DO в такой-же ситуации.
Всё очень просто. Нельзя отобразить заглушку для https соединения без подмены сертификатов. У провайдеров есть два варианта — оборвать соединение (что вы и видите) или подменить сертификат и показать заглушку (привет красному предупреждению от браузера и пуганию людей).
Вопрос в том, почему сайт уже месяц в блокировке и даже более того убран из выдачи гугла. Имя его при этом ни в каком варианте на сайте РКН не ищется.
Это мелкие провайдеры делают, чтобы их не обвиняли в MITM-атаках с поддельными сертификатами (т.е. не пилили нервы техподдержке из-за предупреждений браузера). «Сайт не работает» — это одно, а «небезопасно» — это намного хуже с точки зрения пользователя.
Вы считаете Ростелеком мелкой компанией?
Это такой бегемот, который съел много мелких компаний и использует бывшее их оборудование. OK, «Это мелкие провайдеры (и не только они) делают, чтобы ...»

Я пользуюсь GoodbyeDPI, работает на Ростелекоме и лучше, чем VPN

Если пров
а) перехватывает DNS-запросы к чужим DNS-серверам и перенаправляет на свои;
б) резольвит IP заблоченных сайтов на 127.0.0.1,
то как будет работать эта система?
Система будет показывать тот ip, который подсовывает dns или файл hosts. Это тот ip, по которому браузер обращается к сайту.

Чтобы резолвить каждый сайт, нужно, чтобы кто-то у себя поднял http-dns. Потому что тот сервис, которым пользуется расширение, имеет лимиты (200 запросов в час, потом бан). Поэтому резолвит только если ip заблокирован или если сайт недоступен.

В любом случае расширение не меняет ip. И если у вас провайдер шалит с dns, то поможет DNSCrypt. В этом случае, кстати, ip станет правильным, и расширение будет его показывать.
Пробовал, разумеется. Тоже резольвит в 127.0.0.1, будто на Гугле их тоже блочат по DNS :D

Я ж говорил — пров перехватывает запросы к чужим DNS. Будь то Гугл или кто еще. Тупо по UDP#53.
Мы об одном и том же говорим?

Я говорю, что провайдер искажает информацию по DNS-протоколу.
Для этого он перехватывает весь трафик по UDP#53 к любому серверу и направляет на свои DNS-сервера. А те для заблоченных доменов выдают 127.0.0.1.
Весьма просто и эффективно для блокировки сайтов, использующих HTTPS. Конечно, пока что и это обходится, но все равно неприятно.

Я предложил вместо одного сервиса использовать другой (Google DNS over https):


Потому что тот сервис, которым пользуется расширение, имеет лимиты (200 запросов в час, потом бан)
Да, спасибо, добавлю в расширение.
Упустил этот сервис из виду.
Видимо нужен заголовок в запросе: Accept: application/dns-json
Всё получилось.
Немного переоформил статью с учётом изменений.
Теперь больше нечего улучшать.
Расширение можно считать законченным.
Всем спасибо!
Надо добавить заглушки на всех провайдеров и будет счастье.
Логика: если адрес сайта поменялся на заглушку (или ip резолвится в заглушку) — значит в бане сайт.

А так это не система обхода блокировок. Это информация для тех у кого все хорошо и без нее :)

Давайте начнём с вашей заглушки. Жду URL.
Уже добавлены Ростелеком, Beeline и МТС.

Со следующей версии будет возможность указать свою заглушку в настройках.
Этой ссылки много где не хватает, например на github.
Странный глюк попался, возможно виновата сама Лиса, но если открыть два окна в одном оставить для наглядности новую вкладку, а в другом окне открыть любой сайт, то на новой вкладке изменится иконка — это явно некорректное поведение. Кроме того не похоже, что другие расширения страдают от этой проблемы.
Возможно, что из-за глюка выше проявляется ещё один: очень часто пишет неправильный адрес во всплывашке если открыто больше одного окна браузера, например сейчас мне на яндекс музыку написало что это вообще не сайт :)

issue 4.
Немного удивляет потребление памяти, встроенный менеджер процессов Firefox (about:performance) показывает, что дополнение потребляет аж 100+ МБ.
Да, посмотрел и тоже ужаснулся issues 9. Это больше чем uBlock origin и много чего ещё полезного, такое впечатление что все данные лежат в ОЗУ и БД не используется.
Всё верно. Все данные лежат в ОЗУ. БД используется как хранилище.

Полезно, но не для моего браузера

Хорошая штука. Спасибо. Можете таки выложить ссылку на репозиторий с кодом? Не проблема, что кривой — вместе допилим.

UPD. Код посмотрел, код в целом понятный. Красота, модульность, тесты и прочее — дело наживное. Выкладывайте — буду пулл реки делать.
К сожалению, расширение бесполезно.
Я практически ежедневно сталкиваюсь с заблокированными сайтами, а то и по 2-3 раза на день. Но лишь малая часть из них (буквально единицы) дейстивтельно оказываются в реестре. Всем остальным, а это процентов 99 на глаз, просто не повезло отказаться в каком-то «плохом» диапазоне IP-адресов.
Значит, у вас очень жёсткий провайдер, сочувствую.
В реестре есть, можно сказать, два типа ip:
1) Отдельные — когда блокировка идёт конкретно по ip или подсети. Расширение помечает такие ip красным цветом.
2) С привязкой к домену. То есть реально блокировка идёт по домену или URL, а ip в базе указывается в качестве дополнительной информации (для провайдеров, которые не умеют блокировать по домену). Расширение помечает такие ip оранжевым.
Расширение не в курсе, какой у вас провайдер, но может пробить ip по базе данных и определить, к какому типу относится этот ip. Полезность чисто информативная.
Уточнение:

IP указывается не для тех, кто не умеет блокировать по URL, а ровно наоборот, для реализации DPI-IP-фильтрации.

Т.е. сначала засекается обращение к подозрительному IP и трафик направляется маршрутизатором через более скрупулезный фильтр, который проверяет используемый протокол, URL (если этот протокол HTTP) и т.д.

Таким образом основной канал разгружается от необходимости проверять весь трафик. А массовая блокировка по IP не будет применяться. Но только если это не HTTPS-протокол, а простой HTTP.

Но это в идеале.
На практике, конечно, и по площадям получается…

Сайт операционной системы ReactOS уже давно страдает от блокировки всего диапазона 178.63.0.0/16 (это хостинг Hetzner), но плагин почему-то не смог определить блокировку.


Скриншоты


Эта проблема уже исправлена (версия 0.18). В магазине Chrome, FireFox и на github уже доступно обновление.
Скриншот

Ого, быстрая реакция, спасибо! :)
Sign up to leave a comment.

Articles