motofan logo
> 

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

G-XaD
сообщение 18.4.2010, 20:21


Мастер
****

Группа: Разработчики
Сообщений: 171
Регистрация: 6.11.2007
Из: Donetsk City / Ukraine
Пользователь №: 153 083
Модель телефона: E1, k810
Прошивка: r373_g_0e.30.79r

Рейтинг: 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 килобайт ) Кол-во скачиваний: 361
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить

Сообщений в этой теме
G-XaD   [Masya] ICQ Client by G-XaD   18.4.2010, 20:21
G-XaD   Тут будет описание API либы picq.   19.4.2010, 8:17
Venik   motorola L7 EOR_RB.работает. и даже подключается   19.4.2010, 9:36
CarbonZyn   Venik, :shok: как работает :shok: у меня не раб...   19.4.2010, 10:31
Venik   Карбон,у меня стоит пока своя сборка.   19.4.2010, 11:18
baat   Вобщем L7e подобная платформа как всегда - головна...   19.4.2010, 12:22
SaniaZ   L7_ACR_RB прекрасно запустилась :thumbup: ! П...   19.4.2010, 12:24
MANЬЯК   У398 проша ДаР 13 ноль реакции :(   19.4.2010, 12:31
Pieeer   L7e запустился, НО только первое окошко с подклчен...   19.4.2010, 12:31
L7EeePC   L7e, EP2 Loading ELF success и больше ничего. EP...   19.4.2010, 13:21
DarkCoder   У меня не работает(( Консоль даже не вылезла. Пра...   19.4.2010, 13:38
L7EeePC   L7e, EP2 rev. 65, окошко аськи появилось. На клави...   19.4.2010, 13:46
Мачо   На Dar 2 test 14.2 аська запустилась и работает, ...   19.4.2010, 14:08
Pieeer   Moto L7e потестил на трех ревизиях EP2: ревизия 53...   19.4.2010, 15:34
Andy51   G-XaD, мы с Тимом боремся со статус-строкой таким ...   19.4.2010, 16:54
MaratMD   А че пароль только цифрами пишется?   19.4.2010, 17:47
baat   G-XaD, чтот я твоих исходников на свн не наблюдаю,...   19.4.2010, 18:09
CarbonZyn   G-XaD, а что ты мне скажешь с моим логом :sorry:   19.4.2010, 18:18
NobleTracer   Дар тест 14,2. Аська работает, даже подключилась. ...   20.4.2010, 4:03
Mazzog   c семизнака ася не подключается,создал 9-ти знак з...   20.4.2010, 7:58
erafeika   с шестизнака на дар14.2 всё отлично   20.4.2010, 9:09
SpyHEX   E398. DAR 14.2 У меня аська не подключается. Хотя ...   20.4.2010, 9:16
Matrasa   На дар 2.14.2 работает! Большое спасибо за чуд...   20.4.2010, 9:41
Andy51   G-XaD, у меня работает на EP2 r65.. вроде бы :) Ес...   20.4.2010, 10:21
G-XaD   Я не дома. Прошу пока результаты тестирования не п...   20.4.2010, 10:25
Mazzog   erafeika, значит не в 7-ми знаке дело а в чем? 20~...   20.4.2010, 11:18
erafeika   у меня в одной группе 90 контактов другие две по 2...   20.4.2010, 12:01
CarbonZyn   G-XaD, : ) а если эльф пак перекомплю заработает?...   20.4.2010, 13:36
baat   Andy51, я всё понимаю, но можно было сделать на ст...   20.4.2010, 13:52
SpyHEX   Взял новый уин, в него добавил 1 контакт. Вбил уин...   20.4.2010, 14:52
Zloy!   Спасибо, хорошая работа Пожелания: Добавьте измен...   21.4.2010, 6:04
Мачо   Zloy! нажимй 7 * * красная фонарик не загорит   21.4.2010, 9:57
MaratMD   Zloy!,можно просто нажать *красная она разверн...   21.4.2010, 11:54
Ykraina1992   Если запускать с пункта меню то получается такое:   21.4.2010, 21:18
dikont777   оч оч необходимо сделать ввод пароля с буквами   22.4.2010, 7:25
harchello   v3i 01.03R (rev65) полет нормальный: подключается,...   22.4.2010, 11:35
G-XaD   Ykraina1992, ну... Анимация пункта меню отрисовыв...   22.4.2010, 17:26
zema00   Для ввобда пароля доступны: - Латиница (верхний/н...   22.4.2010, 19:50
AScorpio   G-XaD, на Е398 Dar 2.14.2 не переключается на лати...   22.4.2010, 18:17
G-XaD   Действительно, в том, что я выкладывал забыл флажк...   22.4.2010, 20:26
zema00   G-XaD, При отправке сообщения получаю ребут, в м...   22.4.2010, 20:38
NobleTracer   дар 14,2 всё равботает хорошо. Только я не смог иТ...   23.4.2010, 4:09
CarbonZyn   :cry: у меня как всегда не подключается. просто ка...   23.4.2010, 4:13
daFix   G-XaD, Отличный эльф! Очень надеюсь что будеш...   24.4.2010, 12:38
G-XaD   Обновил эльф. Без обновления либы не запускать...   26.4.2010, 9:31
daFix   не понял :pardon: Я говорил о том, что было бы н...   27.4.2010, 21:11
Ykraina1992   L7 ACR_RB после замены либы перестали работать эль...   26.4.2010, 10:19
SaniaZ   Пренкрасно работает L7 ACR_RB ----------------- ...   26.4.2010, 10:41
CarbonZyn   G-XaD, :clapping: Урааааааааа рабоатет! L7 EO...   26.4.2010, 12:15
Fenja   Поддерживаю : ) З.Ы. На V3i 01.03R работает : ...   26.4.2010, 12:37
Gray One   G-XaD, А вот на l7e с старой ревизией EP2 не рабо...   26.4.2010, 12:46
zema00   На v3r при запуске в консоле ошибка 101, т.е. нехв...   26.4.2010, 12:49
zema00   Извините, ступил :cry: . (не ту версию запускал)...   26.4.2010, 17:39
Pieeer   Too G-XaD что касаеться L7e!! На ревизии 6...   26.4.2010, 13:51
RIP   На дар14.2 запустился но на нажатия клавиш не реаг...   26.4.2010, 14:08
RomeRo_001   у меня фигня какая то. закидываю либу перезагружаю...   26.4.2010, 14:15
G-XaD   Владельцы L7e/K1/Z3/L9 с EP2 ревизии ниже 61, прот...   26.4.2010, 14:47
Gray One   Владельцы L7e/K1/Z3/L9 с EP2 ревизии ниже 61, про...   26.4.2010, 17:03
Carela   Протестил не работает : ) Либу сменил, потом поп...   26.4.2010, 18:00
erafeika   G-XaD, Сделай пожалуйста либу на DaR. ---- G-XaD...   26.4.2010, 15:50
Pieeer   :clapping: ооо теперь работает!!! Мог...   26.4.2010, 15:51
CarbonZyn   : ) еще нашел неприятный глючок корочей сидел с эт...   26.4.2010, 17:46
Alesha_Pl   скачал вроде сложил все верно. При запуске консо...   27.4.2010, 4:50
Mazzog   выложите либу на дар2 14,2 самому добавить не полу...   27.4.2010, 6:56
baat   Mazzog, соберёт Maчо, не переживай...   27.4.2010, 9:20
Gray One   Carela, Спасибо, действительно забыл про libuix.s...   27.4.2010, 16:54
G-XaD   Ну есть же дебаг версия эльфа (релиз протокола не ...   27.4.2010, 19:33
Pieeer   Лог не запуска на 53 ревизии!! MotoCMD2: d...   27.4.2010, 19:53
Gray One   G-XaD, Да я наверно не в силах собрать и запустит...   30.4.2010, 12:42
G-XaD   Gray One, Первый отчет об ошибке со скрином - там...   30.4.2010, 14:58
Pieeer   Кинул все /c/Elf2/ на запускается ---- G-XaD: р...   1.5.2010, 9:22
Rastаman   G-XaD, Будет в будушем поддерживать анимированые ...   3.5.2010, 8:35
mirba   круто на дар14.2, работает без проблем, какой объе...   3.5.2010, 12:09
SpyHEX   Как писал раньше Masya подключалась у меня с новог...   4.5.2010, 8:39
Serg398   подключение стоит на 1 проценте. тел К1. еп2 стары...   6.5.2010, 14:53
sever20067   Можно реализовать показ/скрытие офлайн контактов, ...   11.5.2010, 9:08
bobert   на дар 15 все нормально подключается, принимает и ...   15.5.2010, 2:25
CarbonZyn   Скажите, что можно сделать со статус строкой? Она ...   17.5.2010, 13:12
sever20067   А можно изменить объём вводимой информации в сообщ...   18.5.2010, 17:10
Mazzog   только у меня ася часто дисконектит?? jimm работае...   19.5.2010, 15:07
G-XaD   sever20067, На втором скрине сокращенные сообщени...   5.6.2010, 8:54
sever20067   G-XaD, а лог выкладывать, это тот который в корне ...   6.6.2010, 1:19
NeoBeZ_33   у меня тож не работаит.мот в 360 мож дело в нестан...   19.6.2010, 21:03
CarbonZyn   NeoBeZ_33, в звере еп2 старый : )   3.7.2010, 7:03
DarkCoder   Сегодня поставил себе эльфпак 65 ревизии. Масю и l...   3.7.2010, 10:55
sever20067   А реально ли ресурсы графические переделать от mJa...   17.7.2010, 16:11
sever20067   G-XAD, хотел бы узнать, это проблема в libuix.so, ...   10.8.2010, 2:54
sever20067   мне повторить не удалось. А вообще за графический ...   23.8.2010, 10:55
G-XaD   Если мне не удалось повторить проблему, то как я ...   24.8.2010, 9:35
sever20067   G-XaD, libuix.so у мя была последняя, 1.0.2.8, хот...   27.8.2010, 3:38
igoripp   G-XaD, огромный респект тебе за masya Если знаю чт...   11.9.2010, 4:37
T@urn4ik   Сначала эльф работал. Потом перестал. При выборе и...   28.9.2010, 17:05
ГлюЧный_МоторчеГ-Л7   можно немножко тупых вопросов? есть ли звук/вибра...   23.11.2010, 17:51
baat   ГлюЧный_МоторчеГ-Л7, а почитать или попробывать?   23.11.2010, 20:13
ГлюЧный_МоторчеГ-Л7   baat, уж наверное если я спросил, то у меня не был...   24.11.2010, 4:49
Justik   Можна зделать чтобы все кто анлаийн онибыли первие...   24.11.2010, 8:47
ГлюЧный_МоторчеГ-Л7   подключается и стоит на 100%, через какое-то время...   24.11.2010, 16:31
sanekl9   А кто нибудь ставил на Л9 с Данжер монстром?чет не...   22.12.2010, 18:57
Лекс Ливень   Некропостинг. Максимальная длина пароля в протокол...   17.5.2013, 11:41
MaratMD   Лекс Ливень, как видишь,эльфы уже 2года мертвы   17.5.2013, 12:04
2 страниц V  1 2 >

[Masya] ICQ Client by G-XaD, Еще не вся нужная функциональность · Эльфы, их разработка и портирование · Forum
 

Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 26.4.2024, 10:08

Форум живёт: