Transmission é um cliente P2P leve, de código aberto e gratuito para a rede BitTorrent.
Após quase três anos de desenvolvimento anunciou o lançamento da nova versão do Transmission 4.0.0, versão em que foi realizada uma significativa refatoração da base de código, o que permitiu reduzir o tamanho do código em 18%, melhorando a cobertura de teste e simplificando a manutenção.
Para quem é novo no Transmission, você deve saber que este é um cliente BitTorrent relativamente leve e pouco exigente escrito em C e compatível com uma variedade de interfaces de usuário: GTK, Qt, Mac nativo, interface web, daemon, CLI.
Principais novidades do Transmission 4.0.0
El a principal mudança na nova ramificação foi a tradução da base de código de C (C90) para C++. Anteriormente, apenas a interface baseada em Qt era escrita em C++. A principal razão portar todo o projeto para C++ é o desejo de aproveitar as funções adicionais fornecidas na biblioteca padrão C++ e a disponibilidade de verificação de tipo mais avançada em C++. A interface GTK foi movida para usar gtkmm, um wrapper GTK para a linguagem C++.
Em relação às melhorias, destaca-se que, adicionado suporte para usar torrents no formato BitTorrent v2 e torrents híbridos (apenas torrenting pronto para uso por enquanto, a capacidade de criar torrents com base no BitTorrent 2 aparecerá em um dos próximos lançamentos). No BitTorrent v2, o uso do algoritmo SHA-1 foi deslocado em favor do SHA2-256, que é usado tanto para o controle de integridade de blocos de dados quanto para entradas em índices (dicionário de informações), o que quebra a compatibilidade com DHT e rastreadores.
A interface da web foi reescrita usando métodos de desenvolvimento JavaScript mais modernos e foi adaptado para uso em dispositivos móveis. O código é salvo usando a biblioteca jQuery, além da interface da web compactada agora ter apenas 68 KB.
El o desempenho foi significativamente melhorado- Testar o lançamento do daemon de transmissão com torrents de 25k mostrou uma redução de 50% na carga da CPU e uma redução de 70% no consumo de memória em comparação com o Transmission 3.00.
A interação do processo em segundo plano com as interfaces GUI (transmission-qt e Transmission-web) foi alterada para RPC rodando no modo de tabela, reduzindo o tamanho dos dados transmitidos e reduzindo os requisitos de largura de banda. Para compactar os dados transmitidos via RPC, a biblioteca libdeflate mais otimizada é usada em vez de zlib.
Das outras mudanças que se destacam:
- O usuário tem a oportunidade de definir rastreadores padrão que podem ser usados para anunciar todos os torrents públicos.
- As sementes recém-adicionadas são liberadas imediatamente, com operações de validação executadas conforme necessário (sem realizar uma verificação completa antes do lançamento).
- Adicionada uma opção para excluir ao criar novas informações de torrents que podem ser usadas para identificar indiretamente um usuário (por exemplo, data de criação e User-Agent).
- Adicionado suporte de lista negra para IPv6.
- O sistema de teste de unidade foi portado para usar o Google Test.
- Garanti a liberação de assemblies baseados em Clang no sistema de integração contínua.
- A biblioteca base era um teste fuzz.
- O novo processo de verificação de código foi implementado nos analisadores estáticos Sonarcloud, Coverity, LGTM e clang-tidy.
Finalmente se você estiver interessado em saber mais sobre isso, você pode verificar os detalhes no link a seguir.
Como instalar o Transmission no Linux?
Pára aqueles que são usuários do Debian, Ubuntu, Linux Mint ou qualquer distribuição derivada destes, instale o aplicativo com:
sudo add-apt-repository ppa:transmissionbt/ppa -y sudo apt install transmissão
Sim são Usuários do Fedora ou distribuições baseadas nele, eles podem instalar o aplicativo com o seguinte comando:
sudo yum install transmissão
Enquanto para aqueles que Os usuários do Mandriva Linux devem instalar com este comando:
transmissão sudo urpmi
Para o caso de quem é Usuários do openSUSE, eles devem digitar o seguinte no terminal:
sudo zypper instalar transmissão
Por fim, no caso de quem é usuário de Arch Linux e distribuições derivadas dele, você pode instalar com este comando:
sudo pacman -S transmissão
Similarmente você pode compilar o Transmission no sistema a partir de seu código-fonte, basta seguir os seguintes passos para fazer isso.
Seu código-fonte está hospedado no GitHub, portanto, eles devem ter suporte ao git para que possam clonar o repositório.
Vamos abrir um terminal e digitar o seguinte nele.
Primeiro, vamos obter o código-fonte com:
clone git https://github.com/transmission/transmission Transmissão
Entramos no diretório:
Transmissão CD
E começamos a compilação com os seguintes comandos que devemos digitar um por um:
git submodule update --init mkdir build cd build cmake .. make sudo make install