Определяем с сайта А, что у пользователя заблокирован сайт B

moder

moder

Администратор
Команда форума
Источник: http://habrahabr.ru/post/266553/

При обсуждении блокировки Википедии сообщество заметило два обстоятельства, которые весьма выгодны цензуре. Во-первых, Википедия использует HTTPS и, более того, HSTS. Это означает, что заблокирована энциклопедия может быть только целиком (с точностью до домена), но при этом перенаправить на пресловутую страницу с сообщением о блокировке нельзя. Вместо этого высвечивается сообщение об ошибке установления соединения. Это выглядит как внутренняя проблема Википедии и смягчает недовольство пользователя действиями Роскомнадзора; в то же время для развития правового государства необходима обратная связь. Во-вторых, даже если пользователи узнают о блокировке, многие из них просто не будут знать, что делать. Вешать перманентную плашку «Если заблокировали Википедию — качайте Tor Browser!» на неравнодушных сайтах как минимум странно; в то же время, оповещение пользователей о блокировке Википедии и способах её обхода необходимо.

Демо: https://nickkolok.github.io/chas-antidot/demo.html

Исходники: https://github.com/nickkolok/chas-antidot

Код:
chasAntidot.testSiteWithImg({
url: 'https://ru.wikipedia.org/static/images/project-logos/ruwiki.png', //URL картинки-детектора
ifBlocked: function(){message('заблокирована');}, //callback, если заблокировано
ifNotBlocked: function(){message('не заблокирована');}, //callback, если не заблокировано
time: 3500, //Время ожидания ответа в миллисекундах, по умолчанию 4000
secondImage: 'https://ru.wikipedia.org/favicon.ico', //URL второй картинки - необязательно
});
В комментариях к статье был приведет и альтернативный вариант:
Код:
var icon = new Image();
icon.src = "wiki.ru/logo.png";
icon.addEventListener("error", function () {
	alert("Not work");
}, false);
 
Сверху