Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > перехват ссылок из QIP и дальнейшая обработка


Автор: BrAgOl 7.2.2012, 11:30
Предыстория такова: в течение рабочего дня приходит уйма ссылок, часть из которых на ресурсы, заблокированные админом, приходится копировать ссылку, открывать анонимайзер, вставлять ссылку и жать Enter. Пришла идея автоматизировать сей процесс.
Не прошу сделать это за меня интересуют лишь полезные советы, наработки инфа, В КАКУЮ СТОРОНУ ГУГЛИТЬ ПО ПЕРЕЧИСЛЕННЫМ НИЖЕ ПУНКТАМ и как лучше реализовать.

Алгоритм такой:
(1) Перехват входящего сообщения
(2) Определить, является ли сообщение ссылкой, если да, то скопировать ее
(3) Открыть в хроме анонимайзер хамелеон, как наиболее простой интерфейс
(4) Вставить в строку адреса ссылку и нажать Enter

По пункту 1 мне кажется можно либо перехватить клик мыши по активному окошку квипа, на всякий пожарный отпарсить текст и убедиться, что это ссылка (пункт 2), либо перехват именно последнего входящего и далее опять пункт 2, либо перехват новой открывшейся вкладки в хроме и скопировать оттуда адрес, хммм вариантов море нарисовалось
с пунктом 2 и 3 все понятно вроде
Дальше вопрос, как сделать адресную строку в анонимайзере активной

Пока вроде все...

Автор: casey 7.2.2012, 16:04
(1) Qip ведет историю сообщений, туда попадают сообщения еще до того как их прочитали, лежит в папке Qip/Users/{номер юзера}/History
Приход нового сообщения можно определить по изменению времени/размера файла



Автор: casey 7.2.2012, 16:33
(3)  и (4)  -  Сохраняешь код страницы cameleo.ru на диск в  *.html

                -  заменяешь в нем            
 
Код

<form action="r" method="post" class="form" id="proxy">
<div>
    <input type="text" name="url" id="url" size="40" style="width:621px;" class="textbox" />
    <input type="submit" value="Go" class="button" style="width:36px;" />
</div>


на

Код

<form action="http://cameleo.ru/r" method="post" class="form" id="proxy">
<div>
    <input type="text" value="твоя_ссылка" name="url" id="url" size="40" style="width:621px;" class="textbox" />
    <input type="submit" value="Go" class="button" style="width:36px;" />
</div>
            
<script type="text/javascript">
document.getElementById('proxy').submit()
</script>



Запускаешь *.html в браузере- Хрома не имею, проверил в Опере и ФФ

Автор: BrAgOl 7.2.2012, 16:42
Цитата(casey @ 7.2.2012,  16:04)
(1) Qip ведет историю сообщений, туда попадают сообщения еще до того как их прочитали, лежит в папке Qip/Users/{номер юзера}/History
Приход нового сообщения можно определить по изменению времени/размера файла

Только он судя по всему держит ее в закодированном виде... Да и как мне это поможет, если все равно нужно хуки юзать (при клике по ссылке открывается вкладка браузера). Про них пока и читаю, может кто ссылками дельными поделится.
Пока склоняюсь в сторону отлавливания события клика мыши по нужной мне ссылке.
в вашем случае придется парсить всю историю видимо при условии, что ее получится раскодировать в текстовый формат и убить новую вкладку. Или я ошибаюсь?

Автор: casey 7.2.2012, 17:00
По поводу закодированного вида   -  у меня Qip старый  - Qip2005 Build 8095 . Все в открытом, текстовом виде.

Автор: ambler 9.2.2012, 00:52
Как вариант, взять опенсорсный мессенджер и дописать необходимый функционал.
Например взять миранду и какой нить плагин (http://addons.miranda-im.org/details.php?action=viewfile&id=4350 - не проверял, сможет ли он заменить url) 
или написать свой, заменяющий url  в приходящих сообщениях на другой, с нужными параметрами.

Автор: borisbn 9.2.2012, 09:19
У QIP'а есть http://forum.qip.ru/showthread.php?t=17705. IMHO самый правильный способ - это создать свой плагин и сделать в нём все 4 пункта smile

Есть, кстати, такой плагин http://forum.qip.ru/showthread.php?t=34943, который позволяет заменять входящий или исходящий текст по определённым правилам. Даже если этот реврайтит не поможет, можно скачать его исходники и подсмотреть, как это делается

Автор: BrAgOl 9.2.2012, 11:49
Цитата(borisbn @ 9.2.2012,  09:19)
У QIP'а есть http://forum.qip.ru/showthread.php?t=17705. IMHO самый правильный способ - это создать свой плагин и сделать в нём все 4 пункта smile

Есть, кстати, такой плагин http://forum.qip.ru/showthread.php?t=34943, который позволяет заменять входящий или исходящий текст по определённым правилам. Даже если этот реврайтит не поможет, можно скачать его исходники и подсмотреть, как это делается

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

ЗЗЫ 
Цитата(ambler)

Как вариант, взять опенсорсный мессенджер и дописать необходимый функционал.
Например взять миранду и какой нить плагин (http://addons.miranda-im.org/details.php?action=viewfile&id=4350 - не проверял, сможет ли он заменить url) 
или написать свой, заменяющий url  в приходящих сообщениях на другой, с нужными параметрами.

Как Ваш плагин называется?
что-то сайт миранды глючит http://addons.miranda-im.org/ на какой плагин не кликни выдает пустую страницу, а когда находишь его через поиск, то можно скачать...

Автор: borisbn 9.2.2012, 11:54
Цитата(BrAgOl @  9.2.2012,  11:49 Найти цитируемый пост)
не очень хочется копаться в делфи

Цитата(http://forum.qip.ru/showthread.php?t=17705)

SDK написан на Delphi, но портировать его в C++ может каждый грамотный программист. На это может уйти 20 минут, поскольку SDK небольшой.


Я, ни в коем случае, не уговариваю... Просто мне лично миранда настолько не понравилась (как пользователю... как программисту - не пробовал), что делать под неё плагин - бррррр.

Автор: ambler 9.2.2012, 19:21
Плагинов куча http://addons.miranda-im.org/index.php?action=display&id=43
Первое что попалось:
Message Converter (Unicode) 0.0.0.1
replacer 0.0.0.1
но особым функционалам они не блещут, ими можно попробовать заменить http://youtube.com на http://anonymous.com?get=http://youtube.com, путем замены http на http://anonymous.com?get=http.
Что-то посложнее надо поискать или писать самому.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)