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: 16.026 ]

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

WeeChat - Um (O) cliente IRC CLI

Compartilhando o Terminal

Como contribuir para projetos abertos no GitHub

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

Copie/Cole conteúdo do terminal para o X e vice-versa

Leitura recomendada

DHCP e BIND9 - Se entendendo via Dynamic DNS

Configurando roteador com USB 3G

Roteamento no openVPN com redes iguais

Sistemas Operacionais Online

MSN-proxy no OpenSUSE 11.2 como guest em vmware em Windows Server 2008

  
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