Pidgin jako pierwszy obsługuje nowe transfery plików w GG

Dzisiaj udało mi się stworzyć działającą implementację nowej metody transferu plików z GG11, dzięki czemu Pidgin został pierwszym alternatywnym komunikatorem korzystającym z niej. Jednocześnie udało mi się wypełnić najbardziej oczekiwaną obietnicę z tegorocznego GSoC.

Nowa metoda jest znacznie bardziej niezawodna, ponieważ przy transmisji korzysta z pośrednictwa serwerów Gadu-Gadu oraz opiera się na protokole HTTP. Dzięki temu nie ma już problemów z udostępnianiem portów u klientów znajdujących się za firewallem bądź NATem. Serwery GG zajmują się również „tłumaczeniem” nowego protokołu dla starszych klientów, czyli nie ma już potrzeby implementowania starego protokołu.

Pliki są przesyłane poprzez usługę Dysku GG w następujący sposób (w uproszczeniu): nadawca umieszcza na Dysku GG „bilet”, będący propozycją wysłania pliku. Po akceptacji odbiorcy, nadawca wysyła plik na serwer – gdy plik zostanie na nim w całości zapisany, odbiorca może go pobrać. Wszystkie operacje są wykonywane za pośrednictwem protokołu HTTP, więc powinny działać nawet poprzez serwer proxy.

Aby móc się już teraz cieszyć nową funkcją, można pobrać z odpowiednich repozytoriów rozwojowe wersje Pidgina i libgadu oraz samodzielnie skompilować. Na wydanie finalnej wersji komunikatora musimy niestety jeszcze poczekać, tym razem z przyczyn niezależnych ode mnie: wydanie libgadu z obsługą GG11 oraz Pidgina 3.

Ciekawostka: wprowadzenie tej funkcji jest jednym z najstarszych ticketów dotyczących Pidgina: #372.

4 myśli nt. „Pidgin jako pierwszy obsługuje nowe transfery plików w GG

  1. Hallo.

    Zniknęły mi avatary gg z listy kontaktów w pidginie kilka dni temu. Mogę prosić o pomoc, bo nie mam pojęcia jak rozwiązać ten problem.

    • To może być błąd w Pidginie, ale i tak w wersji 2.10.7 obsługa avatarów zostanie wyłączona – powróci w 3.0.0. Już teraz można wypróbować wersję developerską samodzielnie kompilując ją z repozytorium.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *