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