Как перенести дни рождения из Вконтакте в Android (Google Calendar)

  1. Зайти по ссылке в приложение для экспорта дней рождений (если включён AdBlock — временно отключить)
  2. Нажать на кнопку Авторизация. Зайти под своим паролем на http://vk.com/. После этого нажать кнопку “Войти в контакте”. В появившемся окне поставить галочку и нажать “разрешить”.
  3. Нажать кнопку “Получить всех друзей” и сохранить кнопкой “Выгрузить”
  4. Зайти на свой календарь Google http://calendar.google.com
  5. Открыть Settings->Calendar settings (Настройки календаря)
  6. Нажмите Открыть вкладку Calendars.Если вы хотите добавить Дни Рождения из Вконтакте в основной календарь нужно нажать Import Calendar

    * Если вы хотите добавить дни рождения в другой календарь (специально созданный для дней рождения из ВКонтакте) – создайте новый календарь нажатием кнопки Create new calendar

  7. В появившемся окне указать путь к файлу ICS, выбрать календарь, в который вставятся дни рождения (основной или только что созданный новый) по нажатию кнопки Import ваши дни рождения добавятся в календарь и при следующей синхронизации появятся в Android

P.s. скрипт взят с хабра и закинут на свой хостинг

Открыть стену Вконтакте полностью

Иногда возникает необходимость поискать на стене человека Вконтакте определённое сообщение. Трудность заключается в том, что необходимо постоянно нажимать на кнопку “к предыдущим записям”, чтобы открыть более 10 сообщений. С помощью простого скриптика можно легко открыть всю стену пользователя.

Итак, действия следующие:

  1. Открыть стену необходимого человека
  2. В адресной строке браузера ввести следующий текст:
    javascript:for (i=1;i<=999;i++) { wall.showMore(10*i); }
  3. Нажать Enter

Результат – теперь не требуется постоянно жать кнопку “к предыдущим записям”. Записей открывается столько, сколько нужно. Таким образом можно легко и быстро открыть стену нужного человека полностью.

Теперь можно поискать на стене необходимое сообщение с помощью поиска браузера (CTRL+F).

P.S. Если стена открылась не полностью, замените число “999” на что-нибудь побольше в скрипте выше.

Узнай, кто из друзей Вконтакте пользуется Twitter

Решил на досуге проверить, кто из друзей Вконтакте пользуется Twitter.

Вконтакте очень не любят, когда пользователи уходят покидают их сайт, поэтому не особо любят постинг статусов из других сервисов (частенько прикрывают пути постинга статусов twitter->vk), зато в обратную сторону – пожалуйста, пользуйтесь на здоровье.

Предположение: пользователь забрасывает вконтактик, пишет себе в профиль линк на свой акк в Twitter и уходит туда с головой. Статусы во вконтактике больше не пишет.

Задача: проверить, кто из друзей вконакте указал у себя в профиле линк на Twitter.

Реализация.
Вконтакте очень гордятся своей русскоязычной капчей, обычным wget-ом слить странички друзей и распарсить не получилось, пошёл в обход таким способом:

  1. получить список друзей;
  2. сгенерить тесты Selenium, открывающие страницы друзей и ищущих слово “Twitter”;
  3. пройтись по тестам.

Итак,

  1. Список друзей я получаю через userapi с помощью самопального приложения – жму кнопку “Войти в контакте” и потом сохраняю в текстовый файл friends.
  2. Далее с помощью bash-скрипта (лёгкий sed и while по друзьям) генерирую Selenium-тесты.
  3. #!/bin/bash
    while read vkfile; do
            out=`echo $vkfile | sed -e "s/http:\/\/vkontakte.ru\///g"`;
            export abc="
    <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n<head profile=\"http://selenium-ide.openqa.org/profiles/test-case\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n<link rel=\"selenium.base\" href=\"localhost\" />\n<title>$out</title>\n</head>\n<body>\n<table cellpadding=\"1\" cellspacing=\"1\" border=\"1\">\n<thead>\n<tr><td rowspan=\"1\" colspan=\"3\">$out</td></tr>\n</thead><tbody>\n<tr>\n        <td>open</td>\n        <td>$vkfile</td>\n        <td></td>\n</tr>\n<tr>\n        <td>click</td>\n        <td>link=показать подробную информацию</td>\n        <td></td>\n</tr>\n<tr>\n        <td>verifyTextPresent</td>\n        <td>twitter</td>\n        <td></td>\n</tr>\n</tbody></table>\n</body>\n</html>\n";
            echo $abc > $out;
    done < friends
    

    Для тех пользователей, которые установили у себя в профиле “не скрывать подробную информацию” тесты почти такие же:

    #!/bin/bash
    while read vkfile; do
            out=`echo $vkfile | sed -e "s/http:\/\/vkontakte.ru\///g"`;
            export abc="
    <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n<head profile=\"http://selenium-ide.openqa.org/profiles/test-case\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n<link rel=\"selenium.base\" href=\"localhost\" />\n<title>$out</title>\n</head>\n<body>\n<table cellpadding=\"1\" cellspacing=\"1\" border=\"1\">\n<thead>\n<tr><td rowspan=\"1\" colspan=\"3\">$out</td></tr>\n</thead><tbody>\n<tr>\n        <td>open</td>\n        <td>$vkfile</td>\n        <td></td>\n</tr>\n<tr>\n        <td>verifyTextPresent</td>\n        <td>twitter</td>\n        <td></td>\n</tr>\n</tbody></table>\n</body>\n</html>\n";
            echo $abc > $out;
    done < friends
    
  4. Прохожу 2 раза этими тестами (для пользователей у которых надо нажимать на кнопку “Показать подробную информацию” и для тех, у кого не надо).
  5. Добавляю все сгенерированные тесты в testSuite и жму кнопку “Play entire test suite”. Скорость ставлю низкую, чтоб не забанили и не было проблем с капчей. Картинки в Firefox отключаю.

    Получаю в окошке Selenium подсвеченные зелёным цветом строчки тех юзеров, кто обмолвился словечком “Twitter” у себя в профиле.

Из 369 моих друзей на 8 страницах было найдено слово “Twitter”, из этих восьми 5 человек (1,35% от всех друзей) – указали свои профили, остальные три – профили в подписках. Предположение, можно считать верным 🙂

Все исходники в одном zip.

Безопасность в Google Code


Warning: Trying to access array offset on value of type bool in /var/www/sandalov.org/blog/wp-content/themes/mantra/includes/theme-loop.php on line 249

Ползая по Google Code случайно обнаружил, что чувак по имени D (картинка сверху – случайная, их исходники я не смотрел) залил в debug инфу свой пароль от старой почты на mail.ru. Такой мелочи оказалось достаточно для того, чтоб получить все остальные аккаунты: vkontakte, facebook, MSN, новая почта, paypal, номера банковских карт не говоря уж об адресе/номере мобильного и другой личной информации.

Советы прежние:

  • будьте бдительны, не оставляйте свои пароли где попало
  • не стоит держать везде один и тот же пароль
  • регулярно меняйте пароли

P.S. ни цента из денежек того чувака не пострадали, отправил ему на почту картинку, мотивирующую к смене паролей

Скачивание песен vkontakte на Linux


Warning: Trying to access array offset on value of type bool in /var/www/sandalov.org/blog/wp-content/themes/mantra/includes/theme-loop.php on line 249

С помощью regexp можно просто скачнуть все песни: сохраняете страничку audio в текстовый файл и проходитесь по нему:

cat vk | grep -P -o  "http://cs.+?\.mp3" | xargs -tl -I _ wget _

Иногда бывает так, что песня в контакте называется правильно, а вот тег совершенно неправильный. Выход один – брать названия у Дурова.

Для этого написал на досуге маленький bash-скриптик script.sh упрощающий массовое скачивание песен из контакта.

script.sh:

#!/bin/bash
cat audio.html | egrep "mp3|title_wrap" > rename.sh
chmod 777 rename.sh
vim -s vk.sh
wget -i download.lst
sh rename.sh
rm rename.sh
rm download.lst

Рядом со скриптом лежит скрипт vk.sh для текстового редактора vim, который парсит страницу, получая названия песен и ссылки на них.

vk.sh:

:e ++enc=cp1251 rename.sh
:%s/\.mp3,.*/\.mp3/g
:%norm jdd
:%s/.*"\ value="//g
:norm Gdd
:w! download.lst
:norm uuu
:%s/^.*audio\///g
:%s/\ <\/span><span\ class="user">.*//g
:%s/^.*');\ return\ false">//g
:%s/<\/a><\/b>\ -\ <span\ class="title">/\ -\ /g
:%s/<a href=""\ onclick="Audio.showLyrics('.*;">//g
:%s/<\/a>//g
:%s/"/'/g
:%s/\//\ /g
:%s/?/\ /g
:%s/</\ /g
:%s/>/\ /g
:%s/\\/\ /g
:%s/\:/\ /g
:%s/*/\ /g
:%s/|/\ /g
:%s/mp3.*\n/mp3\ "/g
:%s/^/mv\ /g
:%s/\n/\.mp3"\r/g
:%s/\ -\ $//
:%s/&amp;/\&/g
:%s/"\ /"/g
:%s/"\ /"/g
:%s/\ .mp3"/.mp3"/g
:%s/\ .mp3"/.mp3"/g
:%s/\ \ -/\ -/g
:%s/\ \ -/\ -/g
:%s/-\ \ /-\ /g
:%s/-\ \ /-\ /g
:norm Gdddddd
:w! ++enc=utf-8 rename.sh
:q!

Для работы скрипта необходимо наличие установленного текстового редактора vim в системе.

Ubuntu:

sudo aptitude install vim

Процедура скачивания:

  1. Сначала необходимо зайти через браузер на страницу с нужными песнями (к примеру сюда: http://vkontakte.ru/audio.php) и сохранить её как html-файлик: audio.php.html
  2. Положить рядом с audio.php.html файл script.sh и vk.sh
  3. Запустить скрипт
    $ sh script.sh
    

UPD: Скачал файл audio.php.html с утра, вечером хотел запустить скрипт на скачку. Ссылки оказались недействительными. Видимо контакт меняет ссылки на файлы через какие-то промежутки времени. Т.о. скрипт стоит запускать сразу же после скачивания audio.php.html, чтоб не было ошибок 404.

UPD2: Скрипт подправил: теперь правильно отображается “&”, подчистил пробелы, а также – да(!), UNIX/WIN не любят “/” в названиях файлов/папок :).

Также, юзеры вконтакте взрослеют и уже освоили копипаст Unicode символов, по типу:

♥♡♥♡♥ Дима Билан ♥♡♥♡♥ - ♥♡♥♡♥ Ты, только ты ♥♡♥♡♥
☭☭☭ Гражданская оборона ☮☮☮ -  У войны не женское лицо

Такую штуку придётся вычищать руками. 🙂 (Всю таблицу как-то неохота в vim скрипт кидать)

20110812: Поправил в связи с новыми поправками Vk.

Twitter to vkontakte

Кроспостинг записей из Twitter в vkontakte.ru. Удобно для тех у кого есть хостинг.
Есть масса решений. Раньше пользовался готовым от /home/vovan/, но есть и куча других:

В последнее время пользуюсь решением от mindcollapse. Скрипт читает RSS ленту с Твиттера, публикует последнее сообщение В Контакт. Скачать скрипт можно тут.

PHP должна быть не ниже 5.1, должны быть подключены lib_curl, simple_xml и allow_url_fopen, Twitter-профиль не должен быть приватным.

Скрипт сидит задачей в crontab, где указаны путь к php-файлу и периодичность, с которой требуется обновлять статус. Например, я себе поставил */10 * * * *, что означает запуск скрипта каждые 10 минут. Тут пишут как запустить PHP-сценарии через cron.

Взлом паролей ВКонтакте

«Пока в группе безопасности ВК работают такие люди, миру угрожает опасность!»
Paul_Eckman at antichat.ru

Вот так, с помощью социальной инженерии достаточно легко получить пароли жертвы от e-mail и ВКонтакте.
Данным способом чаще всего “взламывают” аккаунты в социальных сетях и электронные почты. Это видео нужно показывать всем не сильно продвинутым пользователям, дабы знали, что нужно писать в ответах на секретные вопросы вроде “Как зовут вашего питомца” или “Девичья фамилия вашей матери”.

Взлом игры Олимп ВКонтакте


Warning: Trying to access array offset on value of type bool in /var/www/sandalov.org/blog/wp-content/themes/mantra/includes/theme-loop.php on line 249

Взлом игры Олимп ВКонтакте
Всё началось с того, как я увидел как коллега по работе с большиим увлечением перетаскивал фигурки в какой-то игрухе ВКонтакте. Как потом оказалось, игра называется Олимп. Недолго думая, открыл тоже, поиграл раз 5-7, игра сразу же надоела.. Поскольку достаточно скучна, имхо 🙂
Взлом игры Олимп ВКонтакте
Вот некоторые способы немного улучшить свой результат в игре:
Чит на время
1. Качаем и ставим Charles
2. Качаем и ставим дополнение с сайта Charles для Firefox
3. Заходим в программу Charles, нажимаем кнопку записи, если не включено.
4. Заходим вконтакт и в саму игру
5. Выходим из игры
6. Удаляем КЭШ (инстументы – очистить историю)
7. Теперь заходим в Чарльз открываем http social.playrix.com в папке vk_xml находим фаил match3ini.xml ставим breakpoint (правая клавиша – breakpoints)
8. Заходим в игру
9. Чарлик показывает с красной стрелочкой вверх http social.playrix.com …..и т.д
10. Исходящий отправляем жмем Execute, приходит с красной стрелкой вниз входящий social.playrix.com …..и т.д. Жмем Edit Responce – внизу Text – Там ищем
<!–время игры–>
<full_game_time>90000</full_game_time>
и заменяем на 180000 или 360000 кому как
11. Пускаем все пакеты дальше. жмём Execute
12. итоговый результат среди друзей 599950 больше не запоминается!!!!

Чит на скорость игры
Вы можете ускорить во много раз игровой процесс с помощью программы Cheat Engine.
Порядок действий:
1.Заходим в приложение и больше ничего не делаем.
1.Запускаем Cheat Engine, в левой верхней части программы находим браузер через который было запущено приложение.Жмём ок.
3.Справа в программе вы увидите параметр Enable SpeedHack, ставим галочку напротив его.У вас появляется шкала скорости ставите на 500(Можно намного больше, я ставлю на 30000), но при 40000 уже глючит.
4.Переходим в браузер с приложением и запускаем игру.
5.Время конечно будет идти так же. Но перемещение мозаики будет намного быстрее и это очень хорошо.
P.S.Не работает с браузером Mozila FireFox из за ошибки в Cheat Engine. (Отлично справляется с Опера и ИЕ).
P.S.S.Чтобы быстро найти браузер в Cheat Engine опустите скролл до самого низу.

Насколько надо быть быдлокодером, чтоб комменты в игре писать на русском? Выводы о наличии дыр в приложении очевидны.
Интересно, сколько они уже iPod таким образом впустую слили? 😀

Ну что ж? Результат достигнут) Радости полные штаны.. Можно ложиться спать!