× Альтернативные сборки

Первая кастомная сборка

Больше
8 года 9 мес. назад #110 от Mikanoshi
Mikanoshi ответил в теме Первая кастомная сборка

альфа версии ночных сборок

Что это такое?)) У меня 8.1, так что без понятия.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 9 мес. назад #111 от AleXHQ
AleXHQ ответил в теме Первая кастомная сборка
Это незрелые ночнушки ) Спасибо за ответ.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад - 8 года 8 мес. назад #112 от Mikanoshi
Mikanoshi ответил в теме Первая кастомная сборка
1124 Сборка 15

- Добавлены последние изменения из оригинального репо
- Смещение иконки только вниз при нажатии на кнопки
- Появление подсказок на том же экране, что и КЛ; отступы также относительно границ этого экрана
- Анимация затухания при появлении и скрытии подсказок (для КЛ и чата - только при появлении)
- Поддержка доп. статусов из ICQ 8.3 (в настройках можно включить возможность выставлять статусы, которые будут видны только в данной сборке R&Q и оф. клиенте)
- Добавлены новые иконки доп. статусов в стандартную тему оформления и в тему Fresh 3.0





- Увеличены отступы от границ окна и между сообщениями в чате
- Выровнено положение многих элементов
- Скомпилировано в Delphi XE8 с изменёнными исходниками RTL для уменьшения размера exe (RTTI юнит = 12-22 КБ)

Версия со встроенным отчётом об ошибках:
code.highspec.ru/Mikanoshi/rnq/blob/mast...tro/R&Qx64_Debug.exe

P.S. Сообщение о новой сборке пока не работает, т.к. не работает установка данных в полях Город и Область в профиле (именно по ним проверяется версия с другого номера), похоже в протоколе изменили что-то, либо некоторые поля вообще убрали.
Последнее редактирование: 8 года 8 мес. назад пользователем Mikanoshi.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад #113 от Rapid D
Rapid D ответил в теме Первая кастомная сборка

1124 Сборка 15

- Добавлены последние изменения из оригинального репо
...
P.S. Сообщение о новой сборке пока не работает, т.к. не работает установка данных в полях Город и Область в профиле (именно по ним проверяется версия с другого номера), похоже в протоколе изменили что-то, либо некоторые поля вообще убрали.

Я там не закончил ещё переводить на отдельный репо для VTV - хочу чтобы легче было его синхронизировать с оригинальным.

И по поводу автообновлений, у меня в планах было добавить новую проверку обновлений, через сайт. Но времени как обычно нету.
Может вы как раз это и сделаете? ;)
Правда хочется всё по хорошему, с проверкой подписи обновления, а то подсунут ещё какую-нибудь вирусню...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад #114 от Mikanoshi
Mikanoshi ответил в теме Первая кастомная сборка

Я там не закончил ещё переводить на отдельный репо для VTV - хочу чтобы легче было его синхронизировать с оригинальным.

И по поводу автообновлений, у меня в планах было добавить новую проверку обновлений, через сайт. Но времени как обычно нету.
Может вы как раз это и сделаете? ;)
Правда хочется всё по хорошему, с проверкой подписи обновления, а то подсунут ещё какую-нибудь вирусню...

А я и не делал VTV в другом репо) Просто заменил, вообще не уверен, что GitLab у меня поддерживает такое.

Учитывая насколько надёжен данный сайт, номер как-то получше будет)) Пока есть более важные исправления, например сохранение профиля практически полностью не работает, сейчас переписываю его со SNAC(15,02)/07DA/0C3F на /0FD2. В оф. клиенте нет вообще изменения своего профиля, так что даже пакеты не посниффить, но хоть в исходниках есть коды многих полей. Город и область уже починил. Там ещё если часто сохранять и запрашивать данные, то сервер тебя банит, и совсем не на пару минут)) Приходится ждать.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад - 8 года 8 мес. назад #115 от Mikanoshi
Mikanoshi ответил в теме Первая кастомная сборка
Странный формат у дня рождения новый, 8 байт (4 байта вроде дробная часть), если на 64 разделить, то получится количество дней:
03.10.1986: 40DEBE40 00000000 = 1088339520 / 64 = 17005305
12.03.1988: 40DFA840 00000000 = 1088399424 / 64 = 17006241

17006241 - 17005305 = 936, ровно столько дней между этими датами.
Непонятно только от чего отсчитывается. Даже если вычесть $40404040 из чисел, то дней останется ещё на 444 года))
Последнее редактирование: 8 года 8 мес. назад пользователем Mikanoshi.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад #116 от Rapid D
Rapid D ответил в теме Первая кастомная сборка
Дата вроде всегда была 8 байт:
Int64((@eventWP.bday)^)   := getTLVqwordBE(META_COMPAD_BDAY, snac, ofs);
      if eventWP.bday > 0 then
        begin
          eventWP.bday := eventWP.bday + 2;
          eventWP.age  := YearsBetween(now, eventWP.bday)
        end
И пора уже для 10ки делать, а не для такого старья как 8.1 ;)
Вот, в 10ке опять вернули прозрачненькие окна:
vhanla.codigobit.info/2015/07/enable-win...-glass-aka-blur.html

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад - 8 года 8 мес. назад #117 от Mikanoshi
Mikanoshi ответил в теме Первая кастомная сборка

Дата вроде всегда была 8 байт:
И пора уже для 10ки делать, а не для такого старья как 8.1 ;)
Вот, в 10ке опять вернули прозрачненькие окна:

Дак при получении может быть, а при сохранении:
sb:=Word_LEasStr(yearOf(c.birth)) + Word_LEasStr(monthOf(c.birth)) + Word_LEasStr(dayOf(c.birth))
что вообще 6 байт и не подходит для нового пакета.
Так сейчас сделал, вроде пашет. Сервер сам обрубает дробную часть потом:
QWord_BEasStr(Int64((@c.birth)^))
А зачем там 2 дня прибавляется при получении?) У меня наоборот получается на 1 день больше возвращает сервер, даже если 4 байта последних занулить.

UPD: Короче пришлось при сохранении вычитать 2 дня, а при получении обратно прибавлять, а то с ICQ и QIP не совпадает. Загадка) А ещё я без понятия как убрать теперь ДР, т.к. посылка всех нулей делает дату 14.12.1901, в кипе точно также.

10 только завтра выйдет)) Я ничего не добавлял такого специфичного под 8.1, только интерфейс облагородил, так что и на 10 должно быть нормально. Эти прозрачные окна - недокументированные, да и вобще Glass был отстоем))
Я пока ставить 10 не собираюсь, до первого сервис пака хотя бы.
Последнее редактирование: 8 года 8 мес. назад пользователем Mikanoshi.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад - 8 года 8 мес. назад #118 от Rapid D
Rapid D ответил в теме Первая кастомная сборка

...
UPD: Короче пришлось при сохранении вычитать 2 дня, а при получении обратно прибавлять, а то с ICQ и QIP не совпадает. Загадка) А ещё я без понятия как убрать теперь ДР, т.к. посылка всех нулей делает дату 14.12.1901, в кипе точно также.
...

А если пусто слать? Там же TLV?
Вместо
TLV(META_COMPAD_BDAY, QWord_BEasStr(Int64((@c.birth)^)-2) )
послать
TLV(META_COMPAD_BDAY, '')
?
Последнее редактирование: 8 года 8 мес. назад пользователем Rapid D.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад #119 от Mikanoshi
Mikanoshi ответил в теме Первая кастомная сборка

А если пусто слать? Там же TLV?
Вместо
TLV(birth, QWord_BEasStr(Int64((@c.birth)^)) )
послать
TLV(birth, '')
?

Тогда вообще игнорируется и ничего не меняет. Любое число ранее 14.12.1901 сбрасывается до этой даты. Я вобщем сделал эту дату признаком отключения (712 вместо 0), а мин дату в профиле начиная с 15 числа можно задать.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад #120 от Mikanoshi
Mikanoshi ответил в теме Первая кастомная сборка
Даёшь минимум бордюров! :woohoo:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад - 8 года 8 мес. назад #121 от Mikanoshi
Mikanoshi ответил в теме Первая кастомная сборка
На www.icq.com/people/*UIN*/edit/ тоже нельзя отключить ДР, причём и дату ниже 14.12.1901 не поставить, она при обновлении страницы сбрасывается)) Глюк ICQ короче.

В профиле оказывается вообще почти ничего не работало кроме имени, фамилии и ника)) Ещё и аватар не меняется. Возвращает 1003 с ошибкой 04. В кипе так же, он просто локально сохраняет аватар и показывает его потом.
Веб интерфейс требует минимум 600 пикселей по обеим сторонам изображения, ппц.

Придётся отсылать юзера на сайт для смены наверно, вот бы ещё API для автологина узнать уже нашёл) Через api.icq.net
Последнее редактирование: 8 года 8 мес. назад пользователем Mikanoshi.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад #122 от Mikanoshi
Mikanoshi ответил в теме Первая кастомная сборка
@R.D.
Не имел дел с Web ICQ API? Что-то нифига не получается залогиниться)
Нашёл примеры генерации запроса (и главное подписи) на C++ и Ruby

Пытаюсь зайти в www.icq.com/people/*UIN*/edit/ без ввода номера-пароля, сосниффил с оф.клиента запрос:
http://www.icq.com/karma_api/karma_client2web_login.php
?a=%252FwQAAAAAAAGcrNcvlKSdd919XSVhnS%252F0cXQs%252FXxhQgzo0DOA7BO%252FELO0IPr53VZ9ybPwOhb8P8eqsejdCtiabMu0UE5WzHrLLXys9CnrsrbYNsR0hhlYY2rdQzQNMFWys8qEt9uaewysAfV6UgZDOHudPmMroR8hlWxTMwNTU%252FnV33kh455EeKVu7HM%253D
&d=http%3A%2F%2Fwww.icq.com%2Fpeople%2F666666666%2Fedit%2F
&k=ic1nmMjqg7Yu-0hL
&owner=666666666
&ts=1438223321
&sig_sha256=tMKA%2BBWX5AqS%2FUH68a9oRi28NGMDKzIIfWBGf4%2F5O9Y%3D

Токен а из другого запроса получается нормально, ts - время в UTC, правильное, подпись генерирую так:
gist.github.com/Mikanoshi/cd2ebd25518591bd38a6

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад #123 от Rapid D
Rapid D ответил в теме Первая кастомная сборка
Тут описано:
web.archive.org/web/20080308233204/http:...l.com/aim/oscar/#SSO

digest := CalcHMAC_SHA256(StrToUTF8(icq.getPwdOnly), StrToUTF8(session.secret));
Это правильный порядок?
Написано: $sessionKey = hmac_sha256_base64("m3UPFGcH5hmKSv24", "WeakPassword");

Также тут:
digest := CalcHMAC_SHA256(sSecret, StrToUTF8(hash));
и
$digest = hmac_sha256_base64($hashData, $sessionKey);
= "F2U+nrI5cJXVuTVwSOMyH3r6lhsCOspQ9J6XpLxgmAw="

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад #124 от Mikanoshi
Mikanoshi ответил в теме Первая кастомная сборка

Тут описано:
web.archive.org/web/20080308233204/http:...l.com/aim/oscar/#SSO

digest := CalcHMAC_SHA256(StrToUTF8(icq.getPwdOnly), StrToUTF8(session.secret));
Это правильный порядок?

Оказался правильный) Там сначала ключ, а потом данные идут.
Вобщем сделал, нужно было заурлэнкодить параметры запроса в хэше дважды просто.
Жаль, что всё это пашет только если хранится пароль, а не его MD5...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад #125 от Mikanoshi

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад #126 от Mikanoshi
Mikanoshi ответил в теме Первая кастомная сборка
1124 Сборка 16

- Исправлены сохранение и загрузка данных для многих полей в профиле
- Исправлена установка WebAware, требования авторизации и уровня приватности профиля
- Добавлена новая вкладка Дом и новые поля - адрес, место рождения, дом. страница и др.
- Полная поддержка стикеров с возможностью выбора их размера, включая скрытые стикеры, которые нельзя отправить оф. клиентом, но получать их он умеет.
Горячие клавиши: Ctrl+Shift+S для открытия окна со стикерами, Tab и Shift+Tab для перемещения между категориями, выбор стикера стрелками, Enter или Space для отправки



- Новые иконки для диалогов в теме Fresh 3.0
- Добавлена ссылка в меню на веб-профиль, добавлены ссылки на смену аватара и на добавление верифицированных номеров телефонов в своём профиле
- Изменен способ задания горячих клавиш с CTRL в чате для устранения звука ошибки, также убран этот звук при поиске по истории
- При масштабировании прозрачных PNG в чате теперь всегда используется Cosine фильтр, т.к. другие дают артефакты
- Добавлена возможность переключения вкладок в чате при помощи кнопок вперёд и назад (для браузера) на мышке
- Исправлен баг с отрисовкой фона фильтра в КЛ
- Активировано считывание описания из языковых файлов

Версия со встроенным отчётом об ошибках:
code.highspec.ru/Mikanoshi/rnq/blob/mast...tro/R&Qx64_Debug.exe
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад - 8 года 8 мес. назад #127 от Mikanoshi
Mikanoshi ответил в теме Первая кастомная сборка
1124 Сборка 17

- Исправлены вылеты при попытке отобразить невалидное изображение
- Добавлено определение различных видов JPEG файлов для их отображения в чате
- Изображения занимающие более 5МБ всегда масштабируются с фильтром Эскиз, иначе слишком медленно
- Исправлено отображение непрозрачных PNG в чате
- Исправлен двойной клик по некоторым изображениям, если их 2 и более в сообщении
- Всплывающие подсказки теперь показывают текст сообщения и все изображения в нём
- Настройки масштабирования изображений также распространяются и на эти подсказки
- Настройки времени показа подсказок больше не учитывают картинки
- Исправлена проблема с установкой доп. статуса при первом подключении после запуска программы

Также обновил плагин Pic-is-Big до 1.2.6 , исправлены вылеты при получении картинок, если включено отображение прогресса.
Последнее редактирование: 8 года 8 мес. назад пользователем Mikanoshi.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад - 8 года 8 мес. назад #128 от Mikanoshi
Mikanoshi ответил в теме Первая кастомная сборка
Никто не в курсе как групповые чаты работают?)
На самом деле даже оф. клиенты ICQ не могут придти к общему мнению на этот счёт.

Десктопная версия использует AOL chat rooms какие-то (при создании отправляет участникам строку типа aol://2719:10-4-chat1245382434654977163, что с ней делать - непонятно) и требует присутствие капсов поддержки чата у всех участников. При закрытии окна чата он удаляется.

А версия на андроиде например этого не поддерживает, но там тоже есть групповые чаты, причём даже публичные, но при создании чата совершенно другой принцип - всем участникам в КЛ на сервере в группу Conferences добавляется новый номер вида Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript. и через него всё работает без какой-либо поддержки клиентом. Вот второй вариант вполне можно добавить, но почему-то при создании чата в крысу не приходит уведомление об изменении SSI, поэтому чат появляется только после первого сообщения или переподключения.
Последнее редактирование: 8 года 8 мес. назад пользователем Mikanoshi.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад - 8 года 8 мес. назад #129 от Mikanoshi
Mikanoshi ответил в теме Первая кастомная сборка
1124 Сборка 18

- Добавлена функция "Разбудить собеседника" и соответствующее событие.
При отправке попытки пробуждения в оф. клиенте трясётся окно чата (если оно открыто) и проигрывается звуковой сигнал (если он включен). В R&Q также есть звук и вибрация чата, но её можно отключить в событиях (пункт "мигание окна чата")
Будить собеседника можно не чаще чем каждые 15 секунд
- Добавлена поддержка ICQ мультов (только получение и без flash анимации, в сообщении показывается название мульта и его иконка, а также ссылка на swf, но многие ссылки не рабочие, т.к. оф. клиент хранит большинство мультов локально)
- Добавлена обработка полученных ссылок с files.icq.net, если файл по ссылке является изображением, то он скачивается и отображается в чате
- Исправлена обработка ссылок в чате, чтобы они не включали в себя кавычки
- Множество изменений в процессе подключения клиента к серверу (на основе анализа оф. клиента)
- Добавлены ещё 2 поля для сохранения доп. номеров телефонов контакта на сервере
- Добавлен пак для определения клиентов Cat in a Bag! с последними изменениями (мобильные клиенты, у которых нет никаких других признаков кроме 3-4 капсов)
- Отключена передача файлов (всё равно не работала) и поиск в истории по регулярным выражениям, что позволило уменьшить размер EXE
- Переведены на русский возможности клиентов

З.Ы. С конференциями/групповыми чатами, XMPP контактами Facebook, отправкой смс и закачкой на files.icq.net пока не разобрался :)
Последнее редактирование: 8 года 8 мес. назад пользователем Mikanoshi.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Модераторы: bassvazoozadekRapid DMikanoshi
Время создания страницы: 0.767 секунд
Работает на Kunena форум