Nagyobb sebességre kapcsol és alaposan megújul a Transmission bittorent-kliens

kami911 képe

Az átviteltechnika teljesen új formában: Mind az asztali környezetbe szánt, mind a webes kliensek teljesen megújulnak. Te mit használsz bittorent-kliensként?

A Transmission egy gyors, egyszerű és ingyenes Bittorrent kliens MacOS, Windows és Linux operációs rendszerekhez. Az alapbeállításokat úgy állították be, hogy egyszerűen működjenek, és csak néhány kattintás szükséges az olyan speciális funkciók, mint a figyelt könyvtárak, a rossz partnerek blokklistái és a webes felület konfigurálásához. Amikor az Ubuntu a Transmissiont választotta alapértelmezett BitTorrent-kliensnek, az egyik leggyakrabban említett ok a könnyű tanulhatósága volt.

Letöltés

2021 második fele óta rengeteg munka zajlik a színfalak mögött a fejlesztésen, amely magában foglalja a kód teljes újraalapozását, valamint a közösségi hozzájárulók és a projekt elkötelezett vezető fejlesztői által hozzáadott új funkciókat. Minden platformon szinte napi szinten történt előrelépés. Most, hogy a projekt előállt az új béta verzióval érdemes megnézni és kipróbálni a 4.0.0-s első béta verzióját.

A Transmission 3.0 (stabil) és 4.0-s (béta) verziók letöltése >

Már több mint egy éve aktívan fejlesztik, és a Transmission 3.00 óta rengeteg változtatást tartalmaz - több mint 1000 commitot. Néhány a legfontosabbak közül:

  • Erőforrás-hatékonyság - kevesebb memória, kevesebb CPU-ciklus használata.
  • Jobb közösség - szívesen fogadjuk és felhasználjuk a pull-kérelmeket
  • Kódkorszerűsítés - teljesen C++-ban átírva.
  • Új funkciók

Erőforrás-hatékonyság

  • A kódot széleskörűen profilozták a fejlesztők és javították a nem hatékony kódot és memóriahasználatot. Például a transmission-daemon 25 000 torrenttel történő indításának stressztesztje szinte teljes egészében IO-alapú, 50%-kal kevesebb CPU-ciklust és 70%-kal kevesebb memóriát használ, mint a Transmission 3.00 verzió.
  • A távvezérlő GUI-k (transmission-qt és transmission-web) mostantól az RPC API „table” módját használják, ami kisebb hasznos terhelést / kisebb sávszélesség-használatot eredményez.
  • Az RPC hasznos terhek tömörítése mostantól a libdeflate segítségével történik, amely egy „erősen optimalizált programkönyvtár  és jelentősen gyorsabb, mint a zlib könyvtár”.

Közösség

  • A projekt sokkal jobban reagál a hibajelentésekre és kódbeadásokra, mint korábban.
  • Van egy új önkéntes közreműködőkből álló csoport, akik a Transmission-on dolgoznak.
  • A Transmission 4.0.0-beta.1 több mint 300 új közösségi kódbeküldést tartalmaz, és új közreműködőket is szívesen fogad.
  • A dokumentáció átkerült a transmission/transmission gitfába, hogy a közreműködők PR-okat küldhessenek be a javítás érdekében.

Kódkorszerűsítés

  • A teljes kódbázist C-ről C++-ra írták át. A folyamat során több ezer sor egyedi kódot távolítottak el, és helyette szabványos C++ eszközöket használtak. A mag kódja 18%-kal zsugorodott. A mag kódbázisát széleskörűen átdolgozták, hogy tesztelhetőbb és karbantarthatóbb legyen.
  • A GTK klienst átültetése gtkmm-re.
  • A webes kliens modern JavaScriptben lett újraírva, és többé nem használ jQuery-t. A teljes gzippelt csomag mérete mostantól 68K.
  • Az egységtesztek kibővültek és átkerültek a Google Testre. A Clang sanitizer buildek a CI alatt futnak.
  • A core könyvtár mostantól fuzz tesztelt.
  • Az átvitel mostantól Sonarcloud, Coverity, LGTM és clang-tidy statikus elemzést használ az új kódokon. A Transmission 3.00-hoz képest több száz kódfigyelmeztetés javításra került.

Új funkciók

  • BitTorrent v2 torrentek és hibrid torrentek használatának támogatása. (A v2 és hibrid torrentek létrehozásának támogatása egy következő kiadásban várható).
  • A felhasználók mostantól „alapértelmezett” nyomkövetőket állíthatnak be, amelyekkel minden nyilvános torrentet be lehet jelenteni.
  • Az újonnan hozzáadott magok azonnal elindulhatnak, és igény szerint ellenőrizhetik a darabokat, ahelyett, hogy teljes ellenőrzésre lenne szükség a vetítés megkezdése előtt. (#2626)
  • Új torrentek létrehozásakor lehetőség adódott a potenciálisan azonosító információk (pl. User-Agent és a létrehozás dátuma) elhagyására. (#3452)
  • A webes kliens átírásra került, és mostantól támogatja a mobilhasználatot.
  • Új torrentek létrehozásakor a felhasználók mostantól megadhatják a darabméretet. (#3768, #3145, #2805)
  • Az IPv6-os blokklisták mostantól támogatottak. (#3835)
  • A 4.0.0-beta.1-től kezdve a Transmission kiadások mostantól a semver (szemantikus) verziókezelést használják.
  • Tucatnyi más új funkció - túl sok ahhoz, hogy itt felsorolható lenne. Egy év munkája: