motofan logo
13 страниц V « < 3 4 5 6 7 > »         
> 

[Masya] ICQ Client by G-XaD, Еще не вся нужная функциональность

G-XaD
сообщение 18.4.2010, 20:21 Закрепленное сообщение!


Мастер
****

Группа: Разработчики
Сообщений: 171
Регистрация: 6.11.2007
Из: Donetsk City / Ukraine
Пользователь №: 153 083

Рейтинг: 323



Дожал. Протокол разобрал еще в начале года, он ужасен! Только сейчас собрал все воедино и исправил парсеры пакетов от сервера. Минимум функциональности, примитив.

Файлы:
picq.so - в принципе является клиентом. В либе реализован ICQ протокол.
masya.elf - эльф, который использует протокол. По сути графическая оболочка для клиента.
libuix.so - либа, в корой реализуются диалоги. Эта либа может использоваться многими эльфами, поэтому ее лечше положить рядом с library.bin.
masya.bcfg - конфиг, создается при запуске эльфа.
/b/_icq.log - дамп общения клиента с сервером (FLAP заголовки вырезаны).


Много чего было написано для клиента:
- libuix
- picq
- one socket static lib. Теперь не нужен SynSock ;).
- BCFG file firmat. Посмотрел реализацию на SE, написал по своему. Редактор не написан.
- list_ctrl. Статическая либа управления динамическими списками. (используется почти везде). Идею взял у SE

Что умеет:
- Подключаться. (не умеет использовать безопасную md5 авторизацию)
- Читать SSI (Server Side Information). Аккуратно вырезает только список контактов.
- Получать онлайн статусы тех, кто в списке (от остальных просто не приходят)
- Принимать сообщения (Win1251 и Unicode)
- Отправлять сообщения (только Win1251)
- Выставлять статус. (не проверено).
- Какойто стандартный звук при входящих. Не отключается.

Исправлено:
- Пароль вводится не только цифрами.
- UTF8 в списке контактов (только для кирилицы), в т.ч. буквы Ё и ё.
- Добавлены иконки статуса. Кроме "Invis 4 all": этот статус в доке не описан и в миранде я не нашел.
- Если изначально выставлен статус, то при коннекте он выставляется. Если изначально стоит offline, при коннекте выбирается online. Выбор статуса off после подключения = отключение.
- Выставление статуса в доке и миранде описаны по-разному. Протокол использует реализацию миранды.
- Показывает прогресс подключения.

Особенности:
- Хранит только 16 последних сообщений от одного UIN'а. Выделяет по 2 Кб на сообщение, если от 10 пользователей по 16 сообщений запомнить, то выйдет 2*16*10 = 320 Кб, многовато памяти.
- История сообщений заполнятеся снизу вверх.
- Контакт, у которого есть чат выделен. (по умолчанию желтым).
- Эльф сворачивается красной кнопкой, запоминая стэйт (стэйты это "главное меню", "список контактов", "прогресс подключения", "сообщение об ошибке". Из чата вернется в список контактов). Возвращается из фона откуда угодно комбинацией [*-*-RED].
- Особенно не проверял, но должен выдавать ссобщения об ошибках.
- Не рекомендую сворачивать во время коннекта, у меня эльф завис.
- НЕТ XStatus, и не нужно.
- Не показывает процесс подключения (сделаю потом).
- Кнопка "Connect" работает один раз и блокируется. Чтобы отключиться выбирайте "Exit".
- Не оповещает о входящих (както не до этого было).
- Кнопка выставления своего статуса заблокирована.
- Не принимает сообщения от тех, кто не в списке. Тоесть в клиенте реализовано, но эльф не обрабатывает сообщения вообще, их хранит клиент и прикрепляет к контактам из списка.
- Нет поиска, добавления контактов в список. (Не реализовано в протоколе)
- Нет инфы контакта (не реализовано в протоколе), нет запроса и авторизации.
- Тормозит :). Один поток, что из него можно взять? ГУЙ выполняется тамже где клиент, поэтому когда сервак начинает присылать входящее сообщение ГУЙ зависает.
- Другие не могут определить клиент(это понятно) и версия протокола(я прото не знаю как она определяется :)).
- Не показывает кирилицу в списке контактов. (я не проверял какая там кодировка)
- т.к. редактора bcfg нет, то сделал редактирование UIN/pw из эльфа. Настройки сохраняются в 'masya.bcfg' в папке с эльфом.
- Задумка bcfg предполагает, что дефолтный конфиг зашит эльф. В этом эльфе прописан аккаунт, на котором я тестировал.
- Не читает офф сообщения.


Не выкладывайте файлы 'masya.bcfg' и '_icq.log'!!!
В первом настройки аккаунта в открытом виде с пояснениями где UIN, а где пароль. Во втором UIN/pw не в открытом, но простом виде.


Обновленные:
Ссылка на архив Masya.zip - Эльф и протокол к нему.
Ссылка на архив libuix.zip - Библиотека диалогов. Положить в /b/Elf2/ или в папку с эльфом.
Требуется обновление либы: архив готовых либ по данным с svn. Файл для своей прошивки распаковать и переименовать в library.bin, положить в /b/Elf2/.

Исходники доступны на svn://svn.vilko.ru/elfs2/masya


Изображение Изображение

Сообщение отредактировал om2804 - 19.6.2013, 16:00
Прикрепленный файл masya.zip   ( 477.81 килобайт ) Кол-во скачиваний: 362
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
zema00
сообщение 22.4.2010, 20:38


Опытный
***

Группа: Пользователи
Сообщений: 112
Регистрация: 19.6.2009
Пользователь №: 201 595
Модель телефона: v3r
Прошивка: d3r

Рейтинг: 35



G-XaD,

При отправке сообщения получаю ребут, в мидвей при этом ничего не пищется (до момента ребута)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
NobleTracer
сообщение 23.4.2010, 4:09


Интересующийся
**

Группа: Пользователи
Сообщений: 68
Регистрация: 28.4.2009
Из: Россия, Липецк.
Пользователь №: 198 592
Модель телефона: E398, V360
Прошивка: Dream a reality 2.x

Рейтинг: 0



дар 14,2 всё равботает хорошо. Только я не смог иТап включить. И не отображает у меня букву ё в списке контактов.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
CarbonZyn
сообщение 23.4.2010, 4:13


Гуру
******

Группа: Пользователи
Сообщений: 849
Регистрация: 20.3.2008
Из: Саратов -63
Пользователь №: 167 051
Модель телефона: L7; Е398
Прошивка: Zver 1.4 and DaR 2.х


Настроение:
Все бодрячком=)))



Рейтинг: 281



cry.gif у меня как всегда не подключается. просто как будто инет отключе, но паралельно в браузер запускал все ок...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
daFix
сообщение 24.4.2010, 12:38


Новичок
*

Группа: Начинающие
Сообщений: 2
Регистрация: 20.6.2009
Пользователь №: 201 639
Модель телефона: E398
Прошивка: Dream a reality 1.3

Рейтинг: 0



G-XaD,
Отличный эльф! Очень надеюсь что будешь его развивать! clapping.gif
Если нужен стимул, [вырезано модератором. устное предупреждение! подобные предложения в личку]

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

Сообщение отредактировал daFix - 24.4.2010, 13:23
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
G-XaD
сообщение 26.4.2010, 9:31


Мастер
****

Группа: Разработчики
Сообщений: 171
Регистрация: 6.11.2007
Из: Donetsk City / Ukraine
Пользователь №: 153 083

Рейтинг: 323



Обновил эльф. Без обновления либы не запускать!


NobleTracer,
иТап нету, libuix это полностью "свои" диалоги, написанные с нуля.


daFix,
Цитата(daFix @ 24.4.2010, 15:38)
добавление второго потока, для рабты с сетью
*

не понял pardon.gif

Добавлено позже (26.4.2010, 13:09):
Тестирую статус:
На трубе запускаю основной UIN, на компе в квипе - тестовый.
На трубе вижу чужие статусы: on, away, NA, invis. Также как в квипе я их же вижу.

На трубе и компе переключаю статусы, видно только FFC.
Открываю в квипе оба контакта, переключаю статусы - аналогично.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ykraina1992
сообщение 26.4.2010, 10:19


Интересующийся
**

Группа: Пользователи
Сообщений: 44
Регистрация: 26.5.2009
Из: Донецк
Пользователь №: 200 223
Модель телефона: -=L7=-
Прошивка: _Roc_Music_ACR_RB

Рейтинг: 3



L7 ACR_RB после замены либы перестали работать эльфы от ЕП2.

------
G-XaD: Что эльфпак2 в консоли пишет при старте?



Elfrunner2.elf Fail
.
.
Talckclock.elf EP1
.


Сообщение отредактировал Ykraina1992 - 26.4.2010, 11:59
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
SaniaZ
сообщение 26.4.2010, 10:41


Мастер
****

Группа: Пользователи
Сообщений: 218
Регистрация: 6.9.2007
Из: Могилёв
Пользователь №: 146 897
Модель телефона: L7 U8230
Прошивка: ACR_RB Cyanogen 7

Рейтинг: 138



Пренкрасно работает L7 ACR_RB
-----------------
G-XaD,
уже всё решено
-----------------
G-XaD: Имя прошивки было нестандартным?
----------------
Да он мою прошу ставил себе, а я забыл его предупредить

Сообщение отредактировал SaniaZ - 26.4.2010, 13:09
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
CarbonZyn
сообщение 26.4.2010, 12:15


Гуру
******

Группа: Пользователи
Сообщений: 849
Регистрация: 20.3.2008
Из: Саратов -63
Пользователь №: 167 051
Модель телефона: L7; Е398
Прошивка: Zver 1.4 and DaR 2.х


Настроение:
Все бодрячком=)))



Рейтинг: 281



G-XaD, clapping.gif Урааааааааа рабоатет! L7 EOR_rb. Пока тестил минут 10 что понравилось прекрасно подключился))) звук при входящем сообщении(еще бы вибру и опционально сделать вообще было бы супер) ждем новых измениений
Баги:
-если имя слишком длинное(название контакта), то оно налезает с другой строны ну допустим имя Привилигированный вот на буквы Прив налазиет конец
Пожелания:
-статус строку побороть
-Итап очень не хватает
-список что бы можно было опционально сортировать как мне хочется ну например по имени по оф/он лайну
-скрывать показывать отключенных
-смайлы

Первые 2 пункта из пожелания очень необходимы просто без них никак. smile.gif А пока + за работу

Сообщение отредактировал CarbonZyn - 26.4.2010, 12:17
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Fenja
сообщение 26.4.2010, 12:37


Авторитет
********

Группа: Модераторы
Сообщений: 5 564
Регистрация: 25.8.2008
Из: г. Пенза
Пользователь №: 179 851
Модель телефона: MotoRazr v3i
Прошивка: MotoUpdate v1.1

Рейтинг: 1756



Цитата(CarbonZyn @ Сегодня, 16:15)

-статус строку побороть
-Итап очень не хватает
*


Поддерживаю smile.gif
З.Ы. На V3i 01.03R работает smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Gray One
сообщение 26.4.2010, 12:46


Ветеран
*****

Группа: Пользователи
Сообщений: 593
Регистрация: 12.2.2008
Из: Великий Новгород
Пользователь №: 163 295
Модель телефона: L7e, 5530
Прошивка: OAR, S60v5

Рейтинг: 238



G-XaD,
А вот на l7e с старой ревизией EP2 не работает.
Я так понимаю этот эльф сделан исключительно только для новой версии EP2? т.е. если я хочу пользоваться этим эльфом, то мне придется пользоваться новой глючной версией EP2?

Возможно ли сделать чтобы эльф работал со старыми версиями EP2?
Менять EP2 на более новую версию крайне не хочется.

-----------------
G-XaD: как я уже писал необходим EP2 rev.61. В этой ревизии были добавлена особенность - особые функции, одна инитит либу при загрузке, вторая подготавливает либу к выгрузке.
Сейчас родилать идея - я могу написать эльф, который загрузит нужные либы на ходу и проинитит их. Выгружаться эльф будет только из PM и при выгрузке будет готовить либы к выгрузке. Подойдет такой вариант?

-----------------
[Gray One]: Да!!! Было бы великолепно.

Сообщение отредактировал Gray One - 26.4.2010, 16:42
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
[Masya] ICQ Client by G-XaD, Еще не вся нужная функциональность · Эльфы, их разработка и портирование · Forum
 

13 страниц V « < 3 4 5 6 7 > » 
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29.4.2024, 7:41

Форум живёт: