Dopo quasi tre anni di sviluppo ha annunciato il rilascio della nuova versione di Transmission 4.0.0, versione in cui è stato effettuato un significativo refactoring della code base, che ha permesso di ridurre del 18% la dimensione del codice, migliorando la copertura dei test e semplificando la manutenzione.
Per chi è nuovo a Transmission, dovresti sapere che si tratta di un client BitTorrent relativamente leggero e poco impegnativo scritto in C e compatibile con una varietà di interfacce utente: GTK, Qt, Mac nativo, interfaccia web, demone, CLI.
Principali novità di Transmission 4.0.0
El il cambiamento chiave nel nuovo ramo è stata la traduzione della base di codice da C (C90) a C++. In precedenza, solo l'interfaccia basata su Qt era scritta in C++. Il motivo principale per portare l'intero progetto in C++ è il desiderio di sfruttare le funzioni aggiuntive fornite nella libreria standard C++ e la disponibilità di un controllo dei tipi più avanzato in C++. L'interfaccia GTK è stata spostata per utilizzare gtkmm, un wrapper GTK per il linguaggio C++.
Per quanto riguarda i miglioramenti, si evidenzia che, aggiunto il supporto per l'utilizzo di torrent in formato BitTorrent v2 e torrent ibridi (solo torrent pronti all'uso per ora, la possibilità di creare torrent basati su BitTorrent 2 apparirà in una delle prossime versioni). In BitTorrent v2, l'uso dell'algoritmo SHA-1 è stato spostato a favore di SHA2-256, che viene utilizzato sia per il controllo dell'integrità dei blocchi di dati sia per le voci negli indici (dizionario informativo), che interrompe la compatibilità con DHT e traccianti.
L'interfaccia web è stata riscritta utilizzando metodi di sviluppo JavaScript più moderni ed è stato adattato per l'uso su dispositivi mobili. Il codice viene salvato dall'utilizzo della libreria jQuery, inoltre l'interfaccia Web compressa ora è solo 68 KB.
El le prestazioni sono state notevolmente migliorate- Il test del lancio del demone di trasmissione con 25k torrent ha mostrato una riduzione del 50% del carico della CPU e del 70% del consumo di memoria rispetto a Transmission 3.00.
L'interazione del processo in background con le interfacce GUI (transmission-qt e Transmission-web) è stata modificata in RPC in esecuzione in modalità tabella, riducendo le dimensioni dei dati trasmessi e riducendo i requisiti di larghezza di banda. Per comprimere i dati trasmessi tramite RPC, viene utilizzata la libreria libdeflate più ottimizzata al posto di zlib.
Tra le altre modifiche che si distinguono:
- L'utente ha la possibilità di impostare tracker predefiniti che possono essere utilizzati per pubblicizzare tutti i torrent pubblici.
- I semi appena aggiunti vengono rilasciati immediatamente, con le operazioni di convalida eseguite secondo necessità (senza eseguire un controllo completo prima del lancio).
- Aggiunta un'opzione per escludere durante la creazione di nuovi torrent informazioni che potrebbero essere utilizzate per identificare indirettamente un utente (ad esempio, data di creazione e User-Agent).
- Aggiunto il supporto della lista nera per IPv6.
- Il sistema di unit test è stato portato per utilizzare Google Test.
- Garantito il rilascio di assemblee basate su Clang nel sistema di integrazione continua.
- La libreria di base era un test fuzz.
- Il nuovo processo di verifica del codice è stato implementato negli analizzatori statici Sonarcloud, Coverity, LGTM e clang-tidy.
Infine se sei interessato a saperne di più, puoi controllare i dettagli nel seguente link
Come installare Transmission su Linux?
a coloro che sono utenti di Debian, Ubuntu, Linux Mint o qualsiasi distribuzione derivata da questi, installa l'applicazione con:
sudo add-apt-repository ppa:transmissionbt/ppa -y sudo apt install transmission
Se sono Utenti Fedora o distribuzioni basate su di esso, possono installare l'app con quanto segue comando:
sudo yum installa la trasmissione
Mentre per chi Gli utenti Mandriva Linux devono installare con questo comando:
trasmissione sudo urpmi
Per il caso di coloro che lo sono Gli utenti di openSUSE, dovrebbero digitare quanto segue nel terminale:
sudo zypper installa la trasmissione
Infine, nel caso di coloro che sono utenti di Arch Linux e le distribuzioni da esso derivate, puoi installare con questo comando:
sudo pacman -S trasmissione
Allo stesso modo puoi compilare Transmission sul sistema dal suo codice sorgente, devi solo seguire i seguenti passaggi per farlo.
Il loro codice sorgente è ospitato su GitHub, quindi devono avere il supporto git in modo da poter clonare il repository.
Stiamo per aprire un terminale e digitare quanto segue.
Per prima cosa otterremo il codice sorgente con:
git clone https://github.com/transmission/transmission Trasmissione
Entriamo nella directory:
Trasmissione CD
E iniziamo la compilazione con i seguenti comandi che dobbiamo digitare uno per uno:
git submodule update --init mkdir build cd build cmake .. make sudo make install