Transmission-CLI - Gerenciando torrents via CLI

Transmission é um cliente BitTorrent... Torrent pode ser rapidamente definido como um protocolo para transferência de arquivos. É altamente utilizado. Dizem as más línguas que ele é muito usado para transporte de coisas ilegais e pirataria, mas estou por fora desses dados. :P De qualquer modo, vamos ver como utilizá-lo pelo terminal ou console.

[ Hits: 15.637 ]

Por: Gildásio Júnior em 24/08/2015


Artigo



Postado originalmente em meu blog pessoal:
Obs.: olha só galera, dando continuidade ao estilo de post falando sobre ferramentas em CLI. Parece que vai dar certo... (a partir de um artigo já é série haha).

Aqui irei mostrar como utilizar o Transmission, claro, pelo terminal ou console.

Definição

Transmission é um cliente BitTorrent... Torrent pode ser rapidamente definido como um protocolo para transferência de arquivos. É altamente utilizado. Dizem as más línguas que ele é muito usado para transporte de coisas ilegais e pirataria, mas estou por fora desses dados. :P

De qualquer modo, vou mostrar como gerenciar os torrents que estejam em download por ele.

Ah, aqui tem um artigo sobre comparação entre softwares da área:

Instalação

Será necessário instalar dois pacotes para isso: transmission-cli e transmission-remote-cli. O primeiro trás três programas bem importantes: transmission-daemon, transmission-remote e transmission-web. Explico o que é cada um:
  • transmission-daemon: daemon que faz com que o serviço de cliente fique funcionando depois que habilitar.
  • transmission-remote: uma ferramenta por linha de comando para gerenciar os torrents
  • transmission-web: uma interface web (na porta 9091) para gerenciar os torrents
  • transmission-remote-cli: ferramenta CLI para gerenciar os torrents (meu favorito)

Portanto, para quem utiliza o Arch basta rodar:

# pacman -S transmission-cli transmission-remote-cli

Para quem utiliza outros sistemas, deve saber utilizar o gerenciador de pacotes que roda por aí. Caso não, comenta que a gente se une na causa.

Daemon

Vou primeiramente tratar sobre o daemon do serviço. Para termos nossa máquina baixando os torrents basta iniciar esse daemon. Para adicionar, remover, pausar e demais ações aí sim vamos precisar dos outros... Logo, o daemon é o mais importante.

Para iniciar:

transmission-daemon

E para finalizar:

killall transmission-daemon

Uma alternativa para isso seria usar:

transmission-remote --exit

Mas acho a primeira forma melhor.

Para habilitar para já rodar quando ligar o computador, pesquise sobre scripts de inicialização, afinal, esse não é o intuito do artigo.

Configuração de usuário e senha:

O arquivo de configuração do Transmission está em ~/.config/transmission-daemon/settings.json e já tem muita coisa lá, basta habilitar ou não.

No caso da autenticação, procure pela linha que contenha rpc-authentication-required e mude para true. Recomendo que mude também ao menos a senha em rpc-password. Pode ficar à vontade para mudar o usuário também, é bem intuitivo isso.

Abrindo para acessar de outros computadores:

Por padrão, é configurado para o acesso ser apenas pelo próprio computador. Se fosse assim, para mim, perderia o valor da interface web. :)

Mas eu gosto de utilizar as vezes pelo celular... Então, podemos abrir o acesso para demais computadores da rede. Apenas edite o arquivo de configuração (que você já deve saber onde é, se não sabe, está lendo esse artigo de forma errada).

No parâmetro rpc-whitelist coloque um coringa, *. Pronto! Ah, a interface web para celular é bacana... Bem mobile friendly.

Diretório de download:

Acho bom configurar isso para ficar organizado da melhor forma que quiser... Simplesmente, altere o valor em download-dir.

Para completar essa dica, gostaria de falar sobre o diretório para downloads incompletos... É a opção incomplete-dir. Eu deixo basicamente da seguinte forma:
  • download/finish
  • download/incomplete

Para que possa ficar bem organizado.

Monitorando um diretório:

Tem uma opção bacana que é permitido de configurar. É a de o transmission ficar monitorando um determinado diretório e quando surgir um arquivo .torrent ele já começar adicionar e começar o download. Isso é bacana pois basta você fazer o download do .torrent e pronto, seja feliz.

Um outro uso que curto demais é direcionar para um diretório que faz parte da sincronia de algum desses programas, como Dropbox, Mega... Pois aí de qualquer lugar do mundo você salva o arquivo nele, e enquanto seu computador sincroniza, o transmission já olha o arquivo e pronto.

A opção que configura isso são as seguintes:

"watch-dir": "~/directory/to/watch",
"watch-dir-enable": true

Mas acontece de em certos momentos isso não funcionar e ainda não encontrei o motivo. Você pode rodar o daemon da seguinte forma, e isso funciona, rsrs:

transmission-daemon -c ~/directory/to/watch

Pode-se criar um alias para executar de forma mais simples.

Outras configurações

Você pode mexer em todos os parâmetros que tem no arquivo. Fique a vontade para isso! E pode também acrescentar mais! Dê uma lida nesse na documentação e pronto.

Remote CLI

Agora vamos chegar numa das partes mais interessantes: a de gerenciar os torrents pelo cliente CLI.

A sintaxe básica para entrar é:

transmission-remote-cli -c usuario:senha@servidor:porta...

Em caso de não ter alterado a porta e nem ter habilitado a autenticação, basta omitir esses dados.

Já dentro da aplicação, vamos ver alguns comandos:
  • Adicionar arquivo - aperte a e irá aparecer uma caixa de diálogo. Se for inserir um arquivo, basta colocar o link para ele. Se for inserir a partir de um link magnético, apague o ~ que já tem (é uma forma de ajudar para quando formos colocar o arquivo) e cole o link.
  • Remover arquivo - para remover item do download você digita r. A opção R vai remover também os arquivos baixados até então. Muito útil quando quer cancelar downloads que não devia ter começado. Uma dor de cabeça quando quer remover os que já terminaram.
  • Pausa e continuação - para isso, usa-se a opção p. Ele vai pausar ou continuar o download do item selecionado. Se quiser pausar/continuar o download de todos os itens, basta usar em maiúsculo, P.
  • Fechar o cliente - se quiser sair do programa, basta digitar q.
  • Buscando torrents - você pode estar baixando várias coisas e quer localizar um com mais facilidade. Então, pressione / e pode digitar o título para procurar.
  • Ordenar a exibição - para melhorar a navegação, você pode ordenar a exibição dos itens. Digite s e terá um menu para escolher por onde ordenar.
  • Informações sobre o item - você pode querer ver mais informações sobre o download, como outros peers. Então, pressione Enter e continue navegando com as setas. Para sair basta pressionar Esc.

Conclusão

Bem galera, é isso... Só um adendo: cuidado com o que vão baixar.

No mais, se divirtam... E nada de consumir tanta memória RAM, haha. Se tem ótima opção CLI, para quer GUI? De qualquer modo, fica a gosto do freguês... Até mais ver.

   

Páginas do artigo
   1. Artigo
Outros artigos deste autor

EditorConfig - Padronização de código para seus projetos

A pós-instalação do Arch Linux

VirtualBox no Arch Linux

WeeChat - Um (O) cliente IRC CLI

Compartilhando o Terminal

Leitura recomendada

Qualidade de Serviços para Gateways Linux (QoS)

Quando seria mais conveniente usar wvdial no terminal para conexões 3G ou EDGE?

Criando uma rede virtual com servidor de internet e estações utilizando VirtualBox

Programando em rede com Gobby

Certificação Digital no Linux - Apache2

  
Comentários
[1] Comentário enviado por sculy em 26/08/2015 - 10:34h

Show! Eu queria fazer um servidorzinho em casa pra baixar torrents com Raspberry Pi, e esse artigo vai ajudar um monte!

Muito obrigado por compartilhar :D

[2] Comentário enviado por lcavalheiro em 26/08/2015 - 10:37h

Excelente artigo, parabéns!

Complementando o artigo:

1) Esses comandos são específicos do Arch Linux. Na maior parte das distribuições, os comandos são transmission-daemon e transmission-remote (sem o cli mesmo).

2) Sobre as variáveis de ambiente que o transmission-daemon usa:

O transmission-daemon lê duas variáveis, TRANSMISSION_HOME e TRANSMISSION_WEB_HOME. A primeira diz em qual diretório o arquivo de configuração, enquanto a segunda diz em qual diretório ficará a interface web para controle do transmission-daemon. A opção watch-dir só funcionará com as duas variáveis definidas (ainda que eu não saiba o porquê de precisar da segunda variável pra isso).

Adicione as seguintes linhas ao $HOME/.profile (crie o arquivo caso ele não exista):

export TRANSMISSION_HOME=$HOME/Downloads/.Torrents/general # troque esse diretório por aquele em que o arquivo settings.json esteja
export TRANSMISSION_WEB_HOME=/usr/share/transmission/web # não trocar esse endereço, salvo se sua distro colocar o diretório /usr/share/transmission/web em outro lugar

Altere a linha do watch-dir para caminhos absolutos (por exemplo, /home/usuario/.config/transmission-daemon/pqp/666/rtfm/stfw/watch-dir).
--
Luís Fernando Carvalho Cavalheiro
Public GPG signature: 0x246A590B
Só Slackware é GNU/Linux e Patrick Volkerding é o seu Profeta

[3] Comentário enviado por BichoCarpinteiro em 07/09/2016 - 15:27h

Uso Linux Mint.
Ao usar o Transmission as vezes consigo baixar os arquivos e as vezes aparece a seguinte mensagem de erro:

"Erro: não foram encontrados dados (certifique-se que seus discos estão conectados ou use "Definir locar" para baixar novamente, re"

Alguem sabe o que é?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts