Efter nästan tre års utveckling meddelade lanseringen av den nya versionen av Transmission 4.0.0, version där en betydande omstrukturering av kodbasen genomfördes, vilket gjorde det möjligt att minska kodens storlek med 18 %, förbättra testtäckningen och förenkla underhållet.
För de som är nya inom Transmission bör du veta att det här är en relativt lätt och krävande BitTorrent-klient skriven i C och kompatibel med en mängd olika användargränssnitt: GTK, Qt, inbyggd Mac, webbgränssnitt, daemon, CLI.
De viktigaste nya funktionerna i Transmission 4.0.0
El nyckeländringen i den nya grenen var översättningen av kodbasen från C (C90) till C++. Tidigare skrevs endast det Qt-baserade gränssnittet i C++. Den främsta anledningen att porta hela projektet till C++ är önskan att dra nytta av ytterligare funktioner i C++ standardbiblioteket och tillgången till mer avancerad typkontroll i C++. GTK-gränssnittet flyttades för att använda gtkmm, ett GTK-omslag för C++-språket.
När det gäller förbättringarna framhålls att, lagt till stöd för att använda torrents i BitTorrent v2-format och hybridtorrenter (endast out-of-the-box torrenting för närvarande, möjligheten att skapa torrents baserade på BitTorrent 2 kommer att dyka upp i en av de nästa utgåvorna). I BitTorrent v2 har användningen av SHA-1-algoritmen förskjutits till förmån för SHA2-256, som används både för integritetskontroll av datablock och för poster i index (info-ordbok), vilket bryter kompatibiliteten med DHT och spårämnen.
Webbgränssnittet har skrivits om med mer moderna JavaScript-utvecklingsmetoder och har anpassats för användning på mobila enheter. Koden sparas från att använda jQuery-biblioteket, plus att det komprimerade webbgränssnittet nu bara är 68KB.
El prestandan förbättrades avsevärt- Att testa lanseringen av transmissionsdemonen med 25 50 torrents visade en 70% minskning av CPU-belastningen och en 3.00% minskning av minnesförbrukningen jämfört med Transmission XNUMX.
Bakgrundsprocessinteraktion med GUI-gränssnitten (transmission-qt och Transmission-web) ändrades till RPC som körs i tabellläge, vilket minskade storleken på överförda data och minskade bandbreddskraven. För att komprimera data som överförs via RPC, används det mer optimerade libdeflate-biblioteket istället för zlib.
Av de andra förändringarna som sticker ut:
- Användaren har möjlighet att ställa in standardspårare som kan användas för att annonsera alla offentliga torrents.
- Nyligen tillagda frön släpps omedelbart, med valideringsoperationer som utförs vid behov (utan att utföra en fullständig kontroll före lansering).
- Lade till ett alternativ för att utesluta när du skapar nya torrents information som kan användas för att indirekt identifiera en användare (till exempel skapandedatum och User-Agent).
- Lade till svartliststöd för IPv6.
- Enhetstestsystemet har porterats för att använda Google Test.
- Säkerställde frisläppandet av Clang-baserade sammansättningar i det kontinuerliga integrationssystemet.
- Basbiblioteket testade fuzz.
- Ny kodkontrollprocess har implementerats i Sonarcloud, Coverity, LGTM och clang-prydliga statiska analysatorer.
Slutligen om du är intresserad av att veta mer om detkan du kontrollera detaljerna I följande länk.
Hur installerar jag överföring på Linux?
till de som är användare av Debian, Ubuntu, Linux Mint eller någon distribution som härrör från dessa, installerar applikationen med:
sudo add-apt-repository ppa:transmissionbt/ppa -y sudo apt installera transmission
Om dem är Fedora-användare eller distributioner baserade på den, de kan installera appen med följande kommando:
sudo yum installera transmission
Medan för dem som Mandriva Linux-användare måste installera med det här kommandot:
sudo urpmi-överföring
För de som är det openSUSE-användare bör de skriva följande i terminalen:
sudo zypper installera transmission
Slutligen, när det gäller de som är användare av Arch Linux och distributioner härledda från det kan du installera med det här kommandot:
sudo pacman -S transmission
På samma sätt du kan kompilera överföring i systemet från dess källkod, du behöver bara följa följande steg för att kunna göra det.
Deras källkod finns på GitHub så att de måste ha git-stöd så att de kan klona förvaret.
Vi ska öppna en terminal och skriva följande i den.
Först ska vi få källkoden med:
git-klon https://github.com/transmission/transmission Överföring
Vi går in i katalogen:
CD-överföring
Och vi börjar sammanställningen med följande kommandon som vi måste skriva en efter en:
git submodule update --init mkdir build cd build cmake .. gör sudo make installation