K2T.eu :: Forum
WTW => Propozycje => Komunikator => Wątek zaczęty przez: mleko w Lutego 10, 2009, 21:38:39 pm
-
poniewaz szkoda tracic kilka lat archiwum (przeniesione kiedys z gg do Konnekta)
a fajnie by bylo miec rozmowy w WTW :)
-
nie ma formatu archiwum konnekta, poki co - zapomnij
btw - bylo na forum dziesiatki razy
-
nie ma formatu archiwum konnekta, poki co - zapomnij
btw - bylo na forum dziesiatki razy
Heh, jakiś żart? Oczywiście że można wyeksportować archiwum Konnekta do plików sformatowanych plików XML oraz do pure TXT. Zarówno całe archiwum, jak i rozmowy z poszczególnymi osobami.
-
No to zapodajcie przykładzik.
-
podaje malutki przykladzik:
PS: chociaz ogolnie bylbym za tym, aby zrobic wtyczke do importu kontaktow z exPimpa ;)
-
To ja dorzucę XML jaki powstaje przy eksporcie wszystkich rozmów z danym kontaktem.
-
A może ktoś napisze jak wprowadzić wyeksportowane archiwum do WTW? :)
-
A może ktoś napisze jak wprowadzić wyeksportowane archiwum do WTW? :)
chyba nie czytales watku od poczatku...
-
Tak na zapas zapytam, jeśli już powstanie ten import archiwum z Konnekta to rzecz jasna scali stare archiwum z obecnym a nie zastąpi? Pytam bo to bardzo ważne, testuję wtw2 i czasem jest sytuacja, że zaczynam rozmowę na konnekcie a kończę na wtw. Czy po imporcie wszystko się "poukłada"?
Przy okazji witam tych których widzę po raz pierwszy oraz znajomych z innego KONkretnego forum ;-)
-
Rozmowy z importowanego archiwum będą po prostu dodane do istniejących;
-
A mam do Was pytanie :) Czy wiadomo kiedy tak +- będzie dostępna opcja importu archiwum z konnekta do K2T?
Pytam bo bardzo spodobał mi się ten nowy programik a konnekt już mi się za bardzo wywala i ma kilka denerwujących mnie błędów. Ale za nic nie zrezygnuje z wieloletniej historii :(
Wie ktoś coś na ten temat? :)
-
Mam lamerskie pytanie.
Jak wrzucić xml-e z rozmowami wyeksportowane z konnekta do wtw?
Nie bijcie.
-
Się jeszcze nie da;
-
a kiedy sie da? :D :>
-
Jak w koncu bede o tym pamiętał dłużej niz 10 minut ;p
-
Przypominam :P
-
+1
-
+1
-
Mówicie, jaki tam był format danych? ;p
-
Mówicie, jaki tam był format danych? ;p
eksport jest do XML'a
-
*Wzdech* No dobrzeee, jaki był format tego XML?
-
no to jedziemy, najpierw mały przykład a potem trochę objaśnień:
<?xml version="1.0" encoding="Windows-1250"?>
<?xml-stylesheet type="text/xsl" href="C:\Program Files\Konnekt\data\history\exported renderer.xsl"?>
<history>
<info>
<date>29-05-2009 12:28</date>
<profile>Prymek</profile>
</info>
<contact name="Kaworu" info="">
<chat date="19-03-2009" time="10:52">
<message name="Prymek" date="19-03-2009" time="10:52" net="10" type="1" flag="2" fromUid="" toUid="487xxx" ext="" >Heya :-)</message>
<message name="Kaworu" date="19-03-2009" time="10:52" net="10" type="1" flag="640" fromUid="487xxx" toUid="" ext="" >Rawr ;&#62;</message>
<message name="Prymek" date="19-03-2009" time="10:53" net="10" type="1" flag="2" fromUid="" toUid="487xxx" ext="" >właśnie trafiłem na k2t.eu ;-)</message>
<message name="Kaworu" date="19-03-2009" time="10:53" net="10" type="1" flag="640" fromUid="487xxx" toUid="" ext="" >Przepraszam? ;P</message>
</chat>
</contact>
<dir name="487xxx" info="">
<chat date="19-03-2009" time="10:52">
<message name="Prymek" date="19-03-2009" time="10:52" net="10" type="1" flag="2" fromUid="" toUid="487xxx" ext="" >Heya :-)</message>
<message name="Kaworu" date="19-03-2009" time="10:52" net="10" type="1" flag="640" fromUid="487xxx" toUid="" ext="" >Rawr ;&#62;</message>
<message name="Prymek" date="19-03-2009" time="10:53" net="10" type="1" flag="2" fromUid="" toUid="487xxx" ext="" >właśnie trafiłem na k2t.eu ;-)</message>
<message name="Kaworu" date="19-03-2009" time="10:53" net="10" type="1" flag="640" fromUid="487xxx" toUid="" ext="" >Przepraszam? ;P</message>
</chat>
</dir>
<contact name="Kaworu" info="">
<message name="Prymek" date="19-03-2009" time="10:52" net="10" type="1" flag="2" fromUid="" toUid="487xxx" ext="" >Heya :-)</message>
</contact>
<dir name="487xxx" info="">
<message name="Prymek" date="19-03-2009" time="10:52" net="10" type="1" flag="2" fromUid="" toUid="487xxx" ext="" >Heya :-)</message>
</dir>
<dir name="100xxx;112xxx;116xxx;137xxx;198xxx@10" info="">
<chat date="16-09-2003" time="20:52">
<message name="" date="16-09-2003" time="20:52" net="20" type="1" flag="256" fromUid="137xxx" toUid="100xxx;112xxx;116xxx;198xxx@10" ext="Display=Guru" >ZR!!!!!!</message>
</chat>
</dir>
<dir name="100xxx;112xxx;116xxx;137xxx;198xxx@10" info="">
<message name="" date="16-09-2003" time="20:52" net="20" type="1" flag="256" fromUid="137xxx" toUid="100xxx;112xxx;116xxx;198xxx@10" ext="Display=Guru" >ZR!!!!!!</message>
</dir>
<dir name="160xxx;287xxx@10" info="">
<chat date="04-02-2007" time="18:44">
<message name="Prymek" date="04-02-2007" time="18:44" net="20" type="1" flag="2" fromUid="" toUid="160xxx;287xxx@10" ext="" >joł</message>
<message name="Prymek" date="04-02-2007" time="18:44" net="20" type="1" flag="2" fromUid="" toUid="160xxx;287xxx@10" ext="" >1,2,3</message>
<message name="Marbel, Paweł Żelazko" date="04-02-2007" time="18:37" net="20" type="1" flag="128" fromUid="160xxx;287xxx@10" toUid="" ext="Display=Paweł Żelazko" >hej</message>
<message name="Prymek" date="04-02-2007" time="18:44" net="20" type="1" flag="2" fromUid="" toUid="160xxx;287xxx@10" ext="" >działa?</message>
<message name="Marbel, Paweł Żelazko" date="04-02-2007" time="18:38" net="20" type="1" flag="640" fromUid="160xxx;287xxx@10" toUid="" ext="Display=Paweł Żelazko" >proba</message>
<message name="Marbel, Paweł Żelazko" date="04-02-2007" time="18:38" net="20" type="1" flag="128" fromUid="160xxx;287xxx@10" toUid="" ext="Display=Marbel" >ok</message>
<message name="Marbel, Paweł Żelazko" date="04-02-2007" time="18:38" net="20" type="1" flag="640" fromUid="160xxx;287xxx@10" toUid="" ext="Display=Paweł Żelazko" >u mnie tak</message>
<message name="Prymek" date="04-02-2007" time="18:44" net="20" type="1" flag="2" fromUid="" toUid="160xxx;287xxx@10" ext="" >no to ok</message>
<message name="Prymek" date="04-02-2007" time="18:45" net="20" type="1" flag="2" fromUid="" toUid="160xxx;287xxx@10" ext="" >wszyscy się widzą wzajemnie? :-)</message>
</chat>
</dir>
</history>
no to tak:
- tag message:
- data i czas jak widać z dokładnością do sekund....
- atrybuty "net", "type" i "flag" w zasadzie nieistotne (czyt. nie wiem co oznaczają ;-) )
- atrybut "ext" ma zastosowanie chyba tylko dla konferencji (patrz niżej)
- atrybut "fromUid" - UID wysyłającego wiadomość. w przypadku wiadomości wysłanej od nas może być zarówno nasz UID jak i pusta wartość
- atrybut "toUid" - UID odiorcy wiadomości. w przypadku wiadomości wysłanej do nas może być zarówno nasz UID jak i pusta wartość
- atrybut "name" może zawierać nazwę wyświetlaną (nazwę wysyłającego wiadomość, pobraną z listy kontaktów), w przypadku konferencji może zawierać listę nadawców (w formie UIDów i/lub nazw wyświetlanych)
- tag "contact" oznacza to samo co "dir" z tym że mówi dodatkowo, że kontakt jest na liście
- w przypadku taga "contact" jego atrybut "name" zawiera nazwę z listy kontaktów (UID sobie trzeba odczytać z pierwszej wiadomości)
- w przypadku taga "dir" jego atrybut "name" zawiera UID
- konferencje są zawsze (chyba) w tagach dir:
- uczestnicy konferencji oddzieleni ";" - tylko UIDy
- na końcu "@10" - nie wiem po co, ale wygląda na regułę
- nazwę wyświetlaną mamy w atrybucie "ext" - ext="Display=Guru"
- często jedynym sposobem na określenie nadawcy jest właśnie sprawdzenie atrybutu "ext" - patrz ostatni <dir> w przykładzie - nazwy są sortowane tak jak UIDy
hmm.. teraz widzę jakie to popierdzielone ;-)
Pozdrawiam,
Adam
-
- atrybuty "net", "type" i "flag" w zasadzie nieistotne (czyt. nie wiem co oznaczają ;-) )
net="10" - sieć GG
net="33" - sieć AQQ
net="15" - sieć kLAN
net="63" - sieć Tlen
net="12" - sieć Jabber
net="171" itd. - kolejne kopie Jabbera
net="11" - jabberowy transport ICQ
net="60" - jabberowy transport AIM
net="61" - jabberowy transport Yahoo
net="62" - jabberowy transport MSN
net="20" - prawdopodobnie Konferencja
-
- atrybuty "net", "type" i "flag" w zasadzie nieistotne (czyt. nie wiem co oznaczają ;-) )
net="10" - sieć GG
net="33" - sieć AQQ
net="15" - sieć kLAN
net="63" - sieć Tlen
net="12" - sieć Jabber
net="171" itd. - kolejne kopie Jabbera
net="11" - jabberowy transport ICQ
net="60" - jabberowy transport AIM
net="61" - jabberowy transport Yahoo
net="62" - jabberowy transport MSN
net="20" - prawdopodobnie Konferencja
o dzięki za uzupełnienie :-)
używam tylko GG więc nie mogłem sprawdzić :-) a na forum konnekta się nie doszukałem...
Pozdrawiam
-
I jak powstanie ta wtyczka czy nie bardzo? :(
-
Ta opcja juz jest w komunikatorze, tylko (chyba) nie umiem jej zmusic do dzialania. klepie 'importuj z konnekta' i nic sie nie dzieje. W kazdym razie jest taka opcja w archiwum. Uzywam nightly builda z 07.06.09 (kompilacja 500)
Witam btw;)
-
Well, jest przycisk, to fakt ;P
-
tzn. jest ale nie działa?? :D
Wiadomo kiedy będzie działać ;) ?
-
Wiadomo kiedy będzie działać ;) ?
"When it's done."
-
Poprzednik prawdę napisał. Ale jak nie zapomnę o tym znow to moze w kolejnej becie ;)
-
To nie zapomnij.
-
a jak zapomni to bedziesz tupal?;)
bedzie to bedzie, od zawsze chcialem miec cale archiwum w jednym miejscu.
-
Witam
Może nie powinienem chwalić dnia przez zachodem ale ...
Mam już wersję alpha rozwiązania, które odczytuje historię z natywnego formatu konnekta (*.dtb). Zapisanie jej do WTW to pewnie już nie problem. Ja osobiście używam tylko gg, dlatego pozostaje jeszcze kwestia rozróżniania sieci i rozkminienia kilku bajtów.
-
Mam już wersję alpha rozwiązania, które odczytuje historię z natywnego formatu konnekta (*.dtb).
W sumie nie potrzebne, bo rozmowy z konnekta mozna wyeksportowac do XML'a, a z tego juz krotka droga do importu do WTW
poza tym witam nowego uzytkownika :]
-
W sumie nie potrzebne, bo rozmowy z konnekta mozna wyeksportowac do XML'a, a z tego juz krotka droga do importu do WTW
poza tym witam nowego uzytkownika :]
To dokończę najwyżej sam dla siebie :)
Nie mam już zainstalowanego konnekta i nie będę musiał nic exportować. Docelowo rozwiązanie może przyczyny się do powstania importera który nie wymaga exportu z konnekta, tylko poprostu pracuje na jego plikach.
PS: witam witam :)
Post Merge: Czerwca 17, 2009, 16:40:27 pm
A wiec, wracając do tematu:
Odczytywanie archiwum Konnekta działa poprawnie. W samym pliku dtb jest sporo dodatkowych informacji które odczytuje, ale pozostaje jeszcze trochę niewiadomych. Po dokończeniu tego mechanizmu, opublikuje kod rozszyfrowujący razem z kluczem i strukturą danych.
Gdyby ktoś chciał pomoc to po wejściu na http://aiv-dev.info/opensource/wtw/ można wgrać dowolny plik archiwum Konnekta i zastanowić się co oznaczają segmenty danych oznaczone H1-7 oraz nagłówek DTB.
Z moich obserwacji wynika:
H1 - pole o stałej wielkości, 8 ostatnich bajtów to dwie liczby int32 (po 4 bajty) które sobie rosną z każda kolejną wiadomością.
H2 - pole o stałej wielkości, występujące wartości: \x0a\x00\x00\x00, \x14\x00\x00\x00
H3 - pole o stałej wielkości, występujące wartości: \x01\x00\x00\x00
H4 - pole o zmiennej wielkości. Występuje tylko w wiadomościach wychodzących.
H5 - pole o stałej wielkości, występujące wartości: \x00\x00\x00\x00
H6 - pole o stałej wielkości, występujące wartości: \x02\x00\x00\x00, \x02\x02\x00\x00, \x80\x00\x00\x00, \x80\x02\x00\x00, \xc0\x00\x00\x00, \xc0x02\x00\x00
DTB Header w moim przypadku (ok. 10mb plików) dużo się nie zmienia. Używałem tylko sieci GG, a wiec też nie mam pełnej skali porównawczej.
Gdyby komuś podczas testów pojawił się error wraz z kodem błędu i dodatkowymi informacjami to poproszę o skopiowanie na PM.
-
H1 - pole o stałej wielkości, 8 ostatnich bajtów to dwie liczby int32 (po 4 bajty) które sobie rosną z każda kolejną wiadomością.
64bitowy time_t?
-
-
-
-
To teraz jeszcze właściwy import do WTW i wszyscy będą szczęśliwi ;-)
-
-
W konferencji zawsze będzie @10, bo publicznie nie pojawiła się wersja wtyczki obsługującej jabberowe MUC oraz IRC ( ale było blisko... (http://www.konnekt.info/forum/index.php?act=Attach&type=post&id=452) ;-) ).
Co do tlenu - nie wiem, nie używałem ;P
-
Hmmm a takie pytanie laika bo kompletnie nie rozumiem co jest wyżej napisane te liczby i w ogóle :P
Jak ja mam z tego skorzystać (albo jak zrobić) aby wyeksportować całe archiwum konnekta i móc je zaimportować do wtw? Da się już to zrobić czy jeszcze nie? ;)
-
Jeszcze sie nie da, ale mam nadzieje, że moja praca przyczyny się do szybkiego powstania mechanizmu pozwalającego na import archiwum.
-
Da się (http://forum.k2t.eu/trubleszuting/wtw-kompilacja-540/msg5016/#msg5016) ;-)
-
Tyle, ze z eksportu a nie z wlasciwego arch. ;P
-
tyle, że nie działa ;-)
osoby u których pojawia się błąd parsowania XML powinny wyedytować wyeksportowane archiwum i pousuwać wszystkie "" bo to na nich się (w moim przypadku) parser wykrzacza.
tym niemniej po teoretycznie poprawnym imporcie nic się nie dzieje :-)
WinXP SP2 32bit
-
osoby u których pojawia się błąd parsowania XML powinny wyedytować wyeksportowane archiwum i pousuwać wszystkie "" bo to na nich się (w moim przypadku) parser wykrzacza.
to poproszę jakiś edytor pod windę, który obsłuży xml'a ważącego 132mb :P
-
osoby u których pojawia się błąd parsowania XML powinny wyedytować wyeksportowane archiwum i pousuwać wszystkie "" bo to na nich się (w moim przypadku) parser wykrzacza.
to poproszę jakiś edytor pod windę, który obsłuży xml'a ważącego 132mb :P
Editplus
-
albo WordPad :P
-
Dobra Vim dał radę, notepad++ pewnie też, ale nie miałem aż tyle czasu :P
Tak czy siak, dalej błąd parsowania xml ;-)
-
ściągnij sobie np libxml (z ewentualnymi zależnościami), przepuść plik z archiwum przez xmllint (http://xmlsoft.org/xmldtd.html#validate1) i opisz na czym Ci się wywala - to na pewno pomoże.
-
Dla zainteresowanych:
http://aiv-dev.info/opensource/wtw/index_source.php
Struktura pliku *.dtb z archiwum w kolejności bajtów:
- 174 bajty - nagłówek pliku
- 1 bajt - \x0A
- 4 bajty - int32 - określa ile bajtów po tej liczbie należy odczytać
- po int32 ww. bajtów jest drugi raz int32 celem weryfikacji
- 1 bajt - \x0A - separator wpisów w archiwum
i się zapętla.
W środku (te int32 bajtów) mamy strukturę (można powiedzieć ze pola rozdzielona są znakiem \x09 ale lepiej to na uważać):
- 20 bajtów - nagłówek
- 1 bajt - \x09
- 4 bajty - (moja nazwa H2) - odpowiednik atrybutu "net" w eksportowanym XML
- 1 bajt - \x09
- 4 bajty - (moja nazwa H3) - będzie pewnie odpowiednikiem "type" w eksportowanym xml - zawsze "1"
- 1 bajt - \x09
- 4 bajty - int32 - określa ile bajtów po tej liczbie należy odczytać
- int32 bajtów - własny numer GG
- 1 bajt - \x09
- 4 bajty - int32 - określa ile bajtów po tej liczbie należy odczytać
- int32 bajtów - (moja nazwa H4) - numer GG odbiorcy
- 1 bajt - \x09
- 4 bajty - int32 - określa ile bajtów po tej liczbie należy odczytać
- int32 bajtów - wiadomość
- 1 bajt - \x09
- 4 bajty - int32 - określa ile bajtów po tej liczbie należy odczytać
- int32 bajtów (moja nazwa H5) - konfiguracja konferencji
- 1 bajt - \x09
- 4 bajty - (moja nazwa H6) - odpowiednik atrybutu "flag" w eksportowanym xml
- 1 bajt - \x09
- 8 bajtów - czas wiadomości
- 1 bajt - \x09
- 4 bajty (do następnego \x09) - nie wiem co to, chyba pominąłem w testach
- 1 bajt - \x09
- 4 bajty - int32 - określa ile bajtów po tej liczbie należy odczytać
- int32 bajtów - nick
Stringi i numery gg dekodowane są funkcją xor1_decrypt() z kluczem \x40\x13\xf8\xb2\x84\x23\x04\xae\x6f\x3d.
zhvir edit: dalsza część tematu związana bezpośrednio z wtyczką impKonnekt przeniesiona do odpowiedniego działu tzn http://forum.k2t.eu/pozostale-wtyczki/
ponadto zamykam temat :)