JS скрипт для протестной блокировки сайта. C таймером и лайками

Меньше месяца осталось до вступления в силу закона, позволяющего блокировать сайты в досудебном порядке за наличие ссылки на нелицензионный контент, оставленной пользователем в комментарии. На данный момент нет никаких сомнений, что данный законопроект не будет отправлен на доработку и это очень плохо. Ответы на вопросы «Почему это плохо?», «Что мы можем с этим сделать?» и «Почему именно мы?» под катом.

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

Мне, как веб разработчику, особенно больно представлять во что превратится моя альма-матер, мой кров после бесконтрольного принятия серии безграмотных законов, несовместимых с современными технологиями и принципами распространения информации. Предлагаю IT сообществу скооперироваться и побороться за будущее Рунета, как боролись в свое время американцы против SOPA.
Прежде всего, хочу попросить избегать ухода обсуждения в политику и холивары на тему копирайта. В данном топике речь пойдет о конкретном законопроекте, который нанесёт удар по всей современной структуре Сети.

Маленький экскурс в историю, для тех, кто всё пропустил


  • 6 июня В Госдуму был внесён законопроект № 292521-6 «О внесении изменений в законодательные акты Российской Федерации по вопросам защиты интеллектуальных прав в информационно-телекоммуникационных сетях»
  • 13-14 июня Компаниями Яндекс, Google и ассоциацией РАЭК были подготовлены и направлены в Думу поправки к законопроекту
  • 17 июня Законопроект был принят в первом чтении абсолютным большинством голосов (запись трансляции 17:20)
  • 21 июня Законопроект принят во втором и третьем чтении. Поправки представителей отрасли не были учтены, однако большинством голосов (337/1) были приняты другие поправки, которые только ухудшили ситуацию.
  • 1 августа Закон вступит в силу. Осенью будут разработаны подобные проекты, касающиеся музыки и «прочих объектов авторского права»


Чем это грозит и кто от этого пострадает


  • Торрент трекеры и их пользователи. Первым делом именно трекеры подпадут под блокировку. А это, помимо пиратского контента, огромная библиотека всевозможных знаний на всевозможные темы, плюс масса контента со свободной лицензией. Участники раздач же теперь приравниваются к распространителям. Бери IP@сажай картошку.
  • Российские пользователи зарубежных сайтов. Далеко не все зарубежные ресурсы будут блокировать контент в связи с законами другой страны.
  • Поисковые машины. Невозможно контролировать выдачу в таких масштабах, которые предлагаются законом.
  • Случайные сайты, которым не повезло оказаться на хостинге вместе с ресурсом из-за которого заблокирован общий IP-адрес. Особенно от этого пострадают системы блогов.
  • Провайдеры. На сегодняшний день ни один Российский провайдер не имеет системы DPI и не может блокировать конкретный адрес страницы в крупных масштабах. Таким образом, провайдеры окажутся вынуждены блокировать IP-адреса. Здесь можно придумать безупречный план монополизации всего провайдерского бизнеса. Стоит одному провайдеру приобрести систему DPI, а суду постановить заблокировать несколько страниц кеша гугла, оставшиеся без доступа к инфраструктуре Google пользователи самостоятельно уйдут к провайдеру, который имеет DPI. Малый бизнес просто не сможет приобрести дорогое сертифицированное оборудование.
  • Появится возможность организации подстав, когда в комментарии на сайте или форуме конкурента окажется размещена ссылка на запрещенный контент. Постоянный мониторинг ресурса не возможен принципиально, а премодерация всей поступающей от пользователей информации в корне подрывает принципы устройства web2.0
  • Пострадают конечные пользователи, которые будут лишены возможности получить необходимую им информацию


Да пусть себя заблокируют, у нас есть I2P, TOR, VPN и SSH. Шифрование не запретят, ибо пострадают банки


На наших глазах единогласно был принят абсолютно сырой закон, написанный некомпетентными людьми. В чем можно быть уверенным после этого?
Любая оверлейная сеть уязвима по причине своей оверлейности. Они не скрывают факт использования, они лишь скрывают то, что именно вы делаете находясь внутри этой сети. Стоит принять закон о запрете анонимизации и можно начинать посадки. Узнать об использовании анонимайзера просто.
В TOR доступны все IP адреса нод. Выбирай на вкус и иди в гости.
В I2P доступна часть IP адресов нод, но это тоже не беда, для показательных порок хватит.
VPN и шифрование можно запретить для физических лиц и выдавать лицензии юридическим, чтобы устраивать MITM, как в Китае.
Не подсказывайте им!
Нужно смело взглянуть правде в глаза — техническими методами здесь не обойтись. Если мы своим молчанием и попустительством позволим бесконтрольно принимать законопроекты подобной проработки — мы потеряем свободный интернет.

А что мы можем сделать?


Друзья, в наших руках главное оружие 21 века. Мы его создали, мы его развиваем. Именно мы сделали Интернет таким, какой он есть. И он замечателен. Он позволяет обмениваться информацией с невероятной скоростью и огромным количеством людей. Так давайте воспользуемся этим!

Скажу честно, я сам не знаю как нужно действовать, чтобы повлиять на решение людей, которые отказываются нас слушать. И скорее всего никто не знает. Просто нет информации, основываясь на которой, можно построить складную теорию. Но смею предположить, они не слышат из-за того, что нас, понимающих, чем все это может обернуться, слишком мало.

Я провел небольшой соцопрос, на просторах Сети, на тему — знают ли обычные пользователи интернета о данном законе. Результат — подавляющее большинство респондентов не знает вообще, о его существовании. Те, кто знают о существовании — не знают о технических проблемах, которые он за собой повлечёт. Все респонденты высказываются против закона, а некоторые вообще посчитали, что я таким образом делаю им предупреждение, выполняя госзаказ и обматерили.
Так же, в обществе существует уверенность в том, что с приходом блокировок ничего не изменится, так как бородатые волшебники-программисты что-нибудь хитрое придумают.

Мы, волшебники айтишники, обязаны придумать и сделать все возможное, чтобы мнение представителей отрасли было услышано, а поправки, исключающие возможность неправомерной блокировки невинных ресурсов — приняты. И в первую очередь нужно донести до основной массы обычных пользователей интернета суть проблемы. Я считаю, что в данном случае мы имеем шанс добиться своего, ибо наши требования абсолютно логичны и вполне выполнимы без ущерба для законодателей.

Так что делать-то?


По мотивам акции Look At Me, Factroom и Спрашивай.ру
Предлагаю провести беспрецедентный по масштабам флешмоб по добровольной блокировке своих сайтов при помощи javascript модуля. Все что от вас требуется — это внедрить JS код в страницы ваших сайтов. Выглядеть страница с «инъекцией» будет примерно так:


Посмотреть вживую на jsfiddle


Сразу отвечу на возражения по поводу блокировки всей страницы, вместо размещения баннера или маленькой полосочки в шапке сайта. Такой подход не сработает по двум причинам. Первое — это развитая баннерная слепота среди среднестатистического пользователя интернета. Второе — это не даст нужного психологического эффекта. Вспомните ситуацию, когда вам нужно получить некоторую информацию, а в это время отключается интернет. Баннер не доставит пользователю неудобств и пользователь не поймет всей серьезности ситуации.
Конечно, если вы убеждены, что сделать нужно по другому — модифицируйте скрипт как вам угодно.

Особенности реализации


  • Скрипт не требует никаких библиотек, написан на чистом JavaScript
  • После нажатия кнопки «Продолжить» страница блокировки больше не появится, а пользователь продолжит работу с сайтом.
  • Вы можете легко подставить название и url своего сайта, заменить текст обращения, заменить ссылку на петицию. Это удобно, если ваша аудитория может сделать больше. (например написать письменную жалобу)
  • Вы можете установить время блокировки кнопки «Продолжить»
  • Верстка отзывчива, годится для отображения на мобильных устройствах
  • Социальные кнопки полностью кастомные. Пришлось отказаться от специализированных сервисов, так как:
    AddThis не имеет в наборе кнопки части социалок
    Pluso грузился через раз во время акции Look At Me
    К тому же они оба избыточны.
  • Иконки социалок встроены в скрипт в виде base64. Общий вес закодированных таким образом изображений составил 6 килобайт
  • Никакого пиара сторонних ресурсов. Вы указываете ссылку, которой будет делиться пользователь. По плану, это должна быть ссылка на ваш сайт с якорем #block. При переходе по этой ссылке будет показана страница блокировки.
  • Мы будем вести статистику. Об этом подробнее в конце топика.


Нужно улучшить скрипт


Перед тем, как приступать к внедрению скрипта на сайты, предлагаю улучшить и оттестировать его всем сообществом. Там есть достаточно неоднозначных моментов, писалось впопыхах. Предложения пишите в комментариях, об ошибках сообщайте в лс.

Текст обращения с комментариями ссылок

Инормация для соцсетей

Социальные кнопки

Исходный код скрипта на GitHub
Список проблем на GitHub

Петиция


На данный момент по умолчанию ссылка «Подписать петицию» ведет на петицию, размещенную на сайте onlinepetition.ru. Не самый лучший вариант, но другой нет.
Товарищи, уверен среди нас есть люди с юридическим образованием, есть братья/сестры/знакомые юристы.
Яндекс! В вашем штате совершенно точно есть юристы, которые готовили поправки.
Напишите и опубликуйте грамотный проект для РОИ. Я понимаю, что он ничего не гарантирует и что там уже были накрутки. Но это официальный ресурс. Если направим трафик сразу в нужном направлении и получим гораздо больше шансов на успех.
Пусть будет краудфаундинг, я готов внести пожертвование за работу, но сбор подписей должен там появиться.

Статистика


Вся статистика будет отправляться прямиком в НКВД. Нет, правда. Предоставить серверные мощности, я попросил товарища el_periodista, владельца хостинговой компании НКВД.pro. Он с радостью это сделал, чем поддержал боевой дух.
You will never walk alone. Искренне благодарю.

UPD 23:50 Планы по сбору статистики изменились. За статистику теперь отвечает Яндекс.Метрика
Данные с нее будут выгружаться для рисования счётчиков. Теперь можно быть уверенным, что статистику мы не потеряем,
какой бы масштабной акция не оказалась. Ни один просмотр и «лайк» не будет утерян. За интеграцию спасибо товарищу azproduction
Картинки — счетчики появятся чуть позже.

Итак, какая будет собираться статистика:
  • Количество просмотров
  • Количество «лайков»
  • Количество переходов к петиции
  • Количество отказов от просмотра
  • IP адреса, чтобы вычесть «накрутки» и определить территориальный охват

Очень хочется собирать статистику по браузерам и ОС, но не уверен, что это нужно. Скажите что думаете на этот счет.

Отображаться статистика будет вот на таком изображении, которое будет обновляться раз в 10 минут.



По завершении акции, все собранные данные будут выложены в общий доступ за исключением ip адресов. Они будут заменены на случайные строки (прим. одинаковые ip, одинаковые строки) и будут добавлены названия городов в соответствии с базой geo-ip.

Сколько это должно продлиться


На ваше усмотрение. Так как скрипт не доставит неудобства пользователям, которые его уже видели — предлагаю оставить блокировку до первого августа. То есть до решающего момента.

Итого


Наши цели

  1. Нашуметь в Рунете и привлечь к проблеме внимание СМИ, особенно телевизионных
    Если получится собрать больше миллиона перепостов в соцсетях, я попробую сагитировать знакомых телевизионщиков
  2. Законопроект № 292521-6 не должен быть подписан Президентом
  3. Законопроект должен быть отправлен на доработку
  4. Технические нюансы и позиция отрасли должны учитываться при доработке закона
  5. Мы хотим диалога, у нас есть идеи и конструктивные предложения касательно минимизации вреда от пиратства

План действий

  1. Дорабатываем текст обращения, код плагина, по возможности создаём петицию на РОИ
  2. В 00:01 3 июля изменения фиксируются, запускается сервер статистики
  3. Внедряем код в свои сайты
  4. Делаем перепост во всех соцсетях в которых имеем аккаунт. Агитируем друзей, родственников, коллег, подписать петицию и внедрить код в личные сайты и блоги
  5. Пишем обращения к посещаемым ресурсам через формы обратной связи с просьбой участвовать в акции
  6. Наблюдаем за развитием ситуации и по результатам акции делаем выводы


Те хабравчане, кто будут участвовать, отправьте, пожалуйста в личку адрес сайта и среднее количество посетителей в час активности. Это нужно для расчета необходимых ресурсов сервера статистики.

UPD На Хабре не жалуют за размещение ссылок на собственные ресурсы в комментариях, могут заминусовать.
Отправляйте их мне в личные сообщения в формате [описание в двух словах] / [url] / [количество пользователей в час]
Время от времени, я буду добавлять их в конец поста под спойлер. Плюс это поможет подсчитать необходимые серверные ресурсы.

UPD 21:30 РИА Новости — Digit.ru опубликовали статью про нашу акцию!

Начинаем


Скрипт не будет финализирован, он будет постоянно обновляться в зависимости от ситуации. Есть подвижки на пути к РОИ.
Последнюю версию можно забирать с GitHub и кастомизировать уже сейчас.
А можно просто вставить стандартную версию кода в любое место страницы:
<script src="http://clck.ru/8ijea"></script>

Удачи нам всем!
Разместите ли вы эту страницу на своем сайте?

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Я сотрудник Я абитуриент Я студент