A ciência por
trás dos algoritmos que permitem fatiar os arquivos dessa maneira e
disseminá-los de forma descentralizada é complexa demais para ser abordada
neste espaço, mas para compreender sua eficiência, é suficiente mencionar que
este protocolo foi adotado para disponibilizar vários softwares de grande
volume (incluindo distribuições de Linux), e que em 2009 verificou-se que em
alguns países o protocolo BitTorrent era o responsável por mais de 50% do
tráfego registrado na Internet.
A razão do
interesse das distribuições de Linux nesta alternativa é bem simples: por
compartilhar entre todos os participantes a tarefa de disseminar o conteúdo, e
por fazê-lo com segurança tornando impossível a algum usuário oferecer versões
corrompidas do conteúdo, com o BitTorrent é possível oferecer o download
simultâneo a um número maior de usuários mesmo sem dispor do parque de
servidores que seria necessário usando protocolos cliente-servidor, como o HTTP
ou o FTP.
O aplicativo
Transmission
O Transmission é um dos mais renomados
aplicativos BitTorrent disponíveis para Linux, BSD e Mac OS X, e merece o
renome, por se destacar simultaneamente pelos recursos e pela usabilidade.
A versão 2.10
do Transmission foi lançada no último final de semana, e agregou ao software
alguns novos recursos, como facilidades para disponibilizar novos torrents a
partir do seu computador e novidades na interface opcional via navegador web. Mas
o conjunto de recursos já disponíveis desde as versões anteriores é tão
completo, tendo em vista a finalidade da ferramenta, que torna até difícil
decidir por onde começar a descrevê-lo.
Mas vale
destacar que essa completude não fica no caminho da usabilidade: uso o
Transmission há um bom tempo, e sempre percebi que os recursos mais avançados
(e por isso usados com menos frequência) ficam convenientemente acessíveis, mas
fora do caminho da interface geral, que tem os recursos usados no dia-a-dia –
uma escolha que facilita o uso pelos novatos, sem remover opções que interessam
aos usuários avançados.
Open source
Além de ser
open source, o Transmission é um projeto não comercial, mantido por voluntários.
Em comparação com outros clientes P2P, isso acaba conduzindo a alguns
diferenciais interessantes, como a inclusão dos recursos completos na versão
gratuita (ao contrário de similares que oferecem uma versão gratuita incompleta
e reservam os demais recursos para uma versão “premium”) e a ausência de
penduricalhos indesejados como barras de ferramenta para navegadores, anúncios
e similares.
Essas
características são consequências da opção pelo desenvolvimento aberto –
afinal, se algum dia os desenvolvedores do Transmission resolvessem incluir
anúncios obstrusivos ou outros incômodos típicos em seu aplicativo, logo
surgiria alguém para fazer um fork do
código e remover todas as características indesejadas.
Por ser open
source e desenvolvido de forma pública, o Transmission também éreceptivo a desenvolvedores voluntários – se
quiser se juntar ao projeto, siga o link e veja como fazer!
O que ele tem de
bom
Aplicativos
para BitTorrent e outros protocolos P2P são uma escolha bastante pessoal, até
porque existe grande variedade deles, cada um com foco em uma sub-área de
aplicação, e com suas vantagens específicas.
Durante vários
anos eu usei o cliente oficial desenvolvido por Bram Cohen, criador do
protocolo, que em seu modo ‘headless‘
(ou sem interface visual) facilitava o controle via scripts. Vários clientes
mais amigáveis foram testados por aqui, e o velho software oficial permanecia
sendo o escolhido, até surgir o Transmission.
Ele tem uma
característica central à sua filosofia de desenvolvimento, que lembra a do
Ubuntu e do navegador Chrome: para manter a facilidade de uso, suas
configurações default são bem escolhidas, de forma a funcionar “de primeira”
para a maioria dos casos de uso.
Além disso ele
tem interface nativa para GNOME (GTK+), KDE (Qt) e Mac OS X (Cocoa),
respeitando os padrões de design de interface recomendados em cada um destes
ambientes.
Para completar,
ele é econômico quanto ao uso de recursos, especialmente memória. Quando se
trata de manter um cliente BitTorrent rodando permanentemente, é difícil ganhar
do modo daemon do
Transmission, escolhido por diversos provedores comerciais devido a esta
característica – e também por esta razão escolhido para inclusão em diversos
dispositivos embarcados, incluindo o diminuto servidor NAS doméstico que tenho
na minha casa.
Recursos
Já mencionei de
passagem, mas vale destacar que o Transmission conta com um modo daemon, que pode ser deixado rodando
silenciosamente, sem interface com o usuário, cuidando de baixar e
disponibilizar os arquivos que você selecionar. Quando chega a hora de
interagir com ele, não é necessário recorrer a linhas de comando complicadas:
ele dispõe de uma interface via web, mostrada na figura abaixo, que pode ser
operada até mesmo remotamente – por exemplo, do seu PC da faculdade você pode
mandar o PC de casa iniciar o download da nova versão de uma distribuição de
Linux que acaba de ser lançada.
Quando a
interface web for inconveniente, também há uma interface visual em modo texto
que, embora lembre um pouco a década de 1990, tem facilidade de uso suficiente
para controlar remotamente os downloads e configurações do sistema.
E quando se
trata da interface nativa (seja para GNOME, KDE ou Mac), aí temos acesso ao
conjunto completo de recursos, incluindo:
·
Criptografia: para garantia da privacidade e também
para tentar lidar com os provedores de acesso que bloqueiam ou intencionalmente
desaceleram as transferências BitTorrent de seus usuários.
·
PEX: abreviatura de Peer Exchange, o PEX reduz a dependência em relação a servidores
centrais, aumentando o desempenho do download de arquivos concorridos.
·
Suporte a links Magnet.
·
Port forwarding automatizado opr meio de UPNP, para
facilitar a interação com roteadores domésticos.
·
Limites de velocidades – tanto globalmente quanto específico
para cada torrent
E muito mais.
Se você já é usuário do protocolo BitTorrent para fazer seus downloads de
grande volume, como distribuições de Linux e outros sistemas operacionais,
recomendo experimentar o Transmission como
aplicativo. E se ainda não usou o protocolo, esta ferramenta pode ser a forma
de ter um primeiro contato suave e isento de complexidades desnecessárias!