Nadchodzi Transmisja 4.0.0 oparta na C++, BitTorrent v2 i nie tylko

Transmisja

Transmission to darmowy, open source, lekki klient P2P dla sieci BitTorrent.

Po prawie trzech latach rozwoju poinformował o wydaniu nowej wersji Transmission 4.0.0, wersja, w której przeprowadzono znaczną refaktoryzację bazy kodu, co pozwoliło zmniejszyć rozmiar kodu o 18%, poprawić pokrycie testów i uprościć utrzymanie.

Nowi użytkownicy Transmission powinni wiedzieć, że jest to stosunkowo lekki i mało wymagający klient BitTorrent napisany w C i kompatybilny z różnymi interfejsami użytkownika: GTK, Qt, natywny Mac, interfejs sieciowy, demon, CLI.

Główne nowe funkcje Transmisji 4.0.0

El kluczową zmianą w nowej gałęzi było tłumaczenie bazy kodu z C (C90) na C++. Wcześniej tylko interfejs oparty na Qt był napisany w C++. Główny powód przenieść cały projekt do C++ jest chęć skorzystania z dodatkowych funkcji udostępnianych w standardowej bibliotece C++ oraz dostępność bardziej zaawansowanego sprawdzania typów w C++. Interfejs GTK został przeniesiony, aby używać gtkmm, opakowania GTK dla języka C++.

W odniesieniu do ulepszeń podkreśla się, że dodano obsługę korzystania z torrentów w formacie BitTorrent v2 oraz torrenty hybrydowe (na razie tylko gotowe torrenty, możliwość tworzenia torrentów w oparciu o BitTorrent 2 pojawi się w jednej z kolejnych wersji). W BitTorrent v2 użycie algorytmu SHA-1 zostało wyparte na korzyść algorytmu SHA2-256, który służy zarówno do kontroli integralności bloków danych, jak i do wpisów w indeksach (info-słownik), co łamie kompatybilność z DHT i znaczniki.

Interfejs sieciowy został przepisany przy użyciu bardziej nowoczesnych metod programowania JavaScript i został przystosowany do użytku na urządzeniach mobilnych. Kod jest zapisywany przy użyciu biblioteki jQuery, a skompresowany interfejs sieciowy ma teraz tylko 68 KB.

El znacznie poprawiła się wydajność- Testowanie uruchomienia demona transmisji z 25 tys. torrentów wykazało 50% spadek obciążenia procesora i 70% spadek zużycia pamięci w porównaniu z Transmission 3.00.

Interakcja procesów w tle z interfejsami GUI (transmission-qt i Transmission-web) została zmieniona na RPC działające w trybie tabelarycznym, zmniejszając rozmiar przesyłanych danych i zmniejszając wymagania dotyczące przepustowości. Aby skompresować dane przesyłane przez RPC, zamiast zlib używana jest bardziej zoptymalizowana biblioteka libdeflate.

Z innych wyróżniających się zmian:

  • Użytkownik ma możliwość ustawienia domyślnych trackerów, które mogą być używane do reklamowania wszystkich publicznych torrentów.
  • Nowo dodane nasiona są uwalniane natychmiast, a operacje walidacji są wykonywane w razie potrzeby (bez przeprowadzania pełnej kontroli przed uruchomieniem).
  • Dodano opcję wykluczenia podczas tworzenia nowych torrentów informacji, które mogłyby zostać wykorzystane do pośredniej identyfikacji użytkownika (na przykład data utworzenia i User-Agent).
  • Dodano obsługę czarnej listy dla IPv6.
  • System testów jednostkowych został przeniesiony do korzystania z Google Test.
  • Zapewnienie wydania zestawów opartych na Clang w systemie ciągłej integracji.
  • Podstawowa biblioteka była testowana rozmycie.
  • Nowy proces sprawdzania kodu został zaimplementowany w Sonarcloud, Coverity, LGTM i przejrzystych analizatorach statycznych.

W końcu jeśli chcesz dowiedzieć się więcej na ten tematmożesz sprawdzić szczegóły W poniższym linku.

Jak zainstalować transmisję w systemie Linux?

do Ci, którzy są użytkownikami Debiana, Ubuntu, Linux Mint lub dowolnej dystrybucji wywodzącej się z nich, zainstaluj aplikację z:

sudo add-apt-repository ppa:transmissionbt/ppa -y sudo apt install transmisja

Jeśli są Użytkownicy Fedory lub oparte na niej dystrybucje, mogą zainstalować aplikację w następujący sposób Komenda:

Sudo yum zainstaluj transmisję

A dla tych, którzy Użytkownicy systemu Mandriva Linux muszą zainstalować za pomocą tego polecenia:

transmisja sudo urpmi

W przypadku tych, którzy są Użytkownicy openSUSE powinni wpisać w terminalu:

sudo zypper zainstaluj transmisję

Wreszcie, w przypadku użytkowników Arch Linux i dystrybucje z niego pochodzące, możesz zainstalować za pomocą tego polecenia:

sudo pacman -S transmisja

W ten sam sposób Możesz skompilować Transmission w systemie z jego kodu źródłowego, wystarczy wykonać następujące kroki, aby móc to zrobić.

Ich kod źródłowy jest hostowany na GitHub, więc muszą mieć obsługę git, aby mogli sklonować repozytorium.

Zamierzamy otworzyć terminal i wpisać w nim następujące polecenie.

Najpierw pobierzemy kod źródłowy z:

git clone https://github.com/transmission/transmission Transmisja

Wchodzimy do katalogu:

Transmisja CD

Rozpoczynamy kompilację od następujących poleceń, które musimy wpisywać kolejno:

git submodule update --init mkdir build cd build cmake .. make sudo make install

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.