Transmission 4.0.0 chega baseado em C++, BitTorrent v2 e mais

Transmissão

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