vkZvuk

Безопасность сервиса и конфиденциальность данных #

Я отлично понимаю, что все пользователи социальных сетей устали от различных взломов аккаунтов и спама. Каждый новый сервис типа "бесплатных подарков" и "гостей странички" воспринимается в штыки. В этом нет ничего плохого, более того, я сам советую всем относиться к подобному с осторожностью. Однако не стоит на корню рубить всё, что вам кажется странным.

Далее я постараюсь объяснить, почему я, как один из разработчиков сервиса, никогда не получу доступ к вашему аккаунту и другим приватным данным.

Во-первых, это технически невозможно. Пароли пользователей ни в каком виде, подчеркиваю, ни в каком виде, не проходят через расширение или сайт. Получение файлов cookie не даст доступ к аккаунту, так как сессия привязывается к ip-адресу. Авторизация на сайте производится по протоколу oauth, который предоставляет ВКонтакте. На сервере проекта не хранятся никакие критичные данные пользователей, кроме звука сообщения. К самому серверу имеется виртуальный доступ только у одного человека. Хостинг-провайдер Linode. Доступ осуществляется только в зашифрованном виде по протоколу https.

Во-вторых, мне это не надо. Серьезно. Я никогда не стал бы рисковать своей репутацией ради нескольких разовых фейков ВКонтакте, тем более, что их можно в огромном количестве найти на pastebin или парой запросов в гугле. Более того, расширение заапрувил google в своем webstore. Для тех кто не знает, гугл собирает пошлину в $5, тем самым проверяя реальность разработчика и его платежные данные. Помимо этого, у меня очень старый профиль ВКонтакте, несмотря на отсутствие «друзей». Я автор нескольких крупных приложений, и администратор группы с 25 тысячами пользователей. ВКонтакте знает обо мне всё. А скрываться стоило бы в первую очередь от них. Дополнительно к этому, хочу отметить, что домен http://whois.notset.ru/vkzvuk.ru имеет статус VERIFIED, это напрямую говорит о том, что регистратор REGRU знает мои паспортные данные.

В-третьих, все исходники сервиса открыты, код расширений может посмотреть каждый, а подгружаемые скрипты доступны с клиента. Как я уже писал выше, все соединения зашифрованы через ssl, перехват и подмена трафика практически невозможны. Безопасность пользователей и приватность их данных имеет для меня самый высокий приоритет.

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

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

Собственная реализация расширения #

Задача команды vkZvuk предоставлять пользователям сервис. Не ПО, не контент, а именно услугу. В связи с этим, все исходники открыты, и каждый может собрать собственное расширение, если по каким-то причинам не доверяет готовому решению. Далее я расскажу, что для этого нужно.

Главную цель во всем процессе выполняет расширение. Сайт нужен лишь для хранения скрипта, который внедряется на страницу ВКонтакте, и звуков. И если звук, загруженный со стороннего ресурса не сможет причинить вреда, то javascript имеет слишком много возможностей для манипуляций на сайте. Посему постараемся обезопасить доступ к нему.

Идея расширения состоит в том, чтобы запретить загрузку с сервера ВКонтакте скрипта notifier.js, отвечающего в том числе и за проигрывание звуковых уведомлений, а вместо него подставить собственный файл с небольшими изменениями.

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

Если расширение автоматически запускается после перехода по ссылке, просто скачайте его другим браузером.

Аддон для Firefox и Opera можно распаковать как обычный zip архив. Дополнение для Google Chrome же, сначала необходимо установить на странице chrome://extensions/, после чего найти исходники в папке с пользовательскими файлами браузера. Релевантную помощь можно найти здесь.

Если вы хотите сохранить функциональность замены звука на нашем сайте, просто скачайте скрипт https://assets.vkzvuk.ru/notifier.js и залейте его на какой-нибудь доверенный сервер. Адрес этого скрипта нужно будет прописать в расширении на следующем шаге.

В коде скачанного дополнения нужно заменить ссылку https://assets.vkzvuk.ru/notifier.js на собственный адрес, по которому будет располагаться ваш javascript. Также вы можете положить этот скрипт прямо в пакет расширения локально. (Если вы редактируете аддон браузера Opera, ищите ссылку в файле includes/vk.js).

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

Скрипт, который используется ВКонтакте находится по адресу http://vk.me/js/al/notifier.js. После скачивания его, найдите поиском строку audioObj.src = '/' + filename + ext; и вставьте ссылку на ваш звук.

Теперь просто заново запакуйте получившееся расширение и добавьте в браузер.

vkZvuk ежечасно проверяет, не обновился ли файл notifier.js. Для вашего удобства, обо всех изменениях скрипта, мы будем информировать в нашем Твиттере @vkZvuk.

Инструкция рассчитана не на новичков, поэтому при возникновении вопросов, пишите мне, я постараюсь помочь. Этот материал будет дополняться в будущем.

С уважением, Антон Лукин.