Daemon do protocolo BitTorrent
btpd
é um utilitário para compartilhar arquivos pelo protocolo de rede BitTorrent. Ele é executado no modo daemon, não necessitando, portanto, de terminal de controle ou interface gráfica. Em vez disso, o daemon é controlado pelo btcli, seu utilitário de linha de comando ou outros programas capazes de enviar comandos e consultas no soquete de controle.
btpd
consiste nos seguintes programas:
btpd
- O cliente bittorrent.btcli
- Interface de linha de comando para btpd.btinfo
– Mostra informações de um arquivo torrent. Todos os programas aceitam a opção --help
.
O utilitário btcli
possui vários modos de operação diferentes. Um dos seguintes comandos deve ser especificado ao executar btcli
:
add
- Adicione torrents ao btpd.del
- Remove torrents do btpd.kill
- Desligue o btpd.list
- Lista torrents.rate
- Defina as taxas globais de upload e download em KB/s.start
- Ativa torrents.stat
- Exibe estatísticas de torrents ativos.stop
- Desativa torrents. Para começar a compartilhar um torrent com o btpd, o torrent precisa ser adicionado ao btpd. Isso é feito com btcli add
. Quando você adiciona um torrent, o btpd automaticamente (se você não especificou o contrário) começa a compartilhar o torrent e baixar todos os dados ausentes. O diretório de conteúdo especificado ao adicionar um torrent não precisa existir; ele será criado pelo btpd.
Você pode ver quais torrents foram adicionados ao btpd com btcli list
. O comando list também exibe um número para cada torrent adicionado. Este número pode ser usado para especificar o torrent de destino para os comandos btcli, para que você não precise manter o arquivo torrent depois de adicioná-lo.
O progresso de upload e download pode ser acompanhado usando o comando btcli stat
. Os comandos list e stat usam os seguintes indicadores para exibir o estado de um torrent:
+
- o torrent está começando. Isso pode levar algum tempo se o btpd precisar testar o conteúdo deste torrent ou de outro iniciado antes dele.-
- o torrent está sendo interrompido.I
- o torrent está inativo.S
- btpd está propagando o torrent.L
- o btpd está sugando o torrent. Você pode interromper um torrent ativo com btcli stop
e, claro, iniciar um torrent inativo usando btcli start
.
O comando btcli del
só deve ser usado quando você terminar totalmente de compartilhar um torrent. O comando removerá o torrent e seus dados associados do btpd. É especialmente uma má idéia remover um torrent não totalmente baixado e adicioná-lo novamente, pois o btpd perdeu informações sobre as partes não totalmente baixadas e precisará baixar os dados novamente.
Para desligar o btpd use btcli kill
. Não se esqueça de ler a ajuda de cada um dos comandos do btcli.
NOTA: Você só precisará de uma instância do btpd, independentemente de quantos torrents deseja compartilhar.
Para iniciar o btpd com configurações padrão você só precisa executá-lo. No entanto, existem muitas opções úteis que você pode querer usar. Para ver uma lista completa, execute btpd --help
. Se você não especificou o contrário, o btpd inicia com o mesmo conjunto de torrents ativos da última vez que foi encerrado.
O btdp armazenará informações e gravará seu log em $HOME/.btpd
. Portanto, ele precisa poder escrever ali durante sua execução. Você pode especificar outro diretório através da opção -d
ou da variável $BTPD_HOME
.
Eu recomendo especificar o número máximo de uploads. O Bittorrent emprega um algoritmo olho por olho, portanto, o upload com boas taxas permite o download. Tente encontrar um equilíbrio entre uploads/largura de banda de saída e o número de torrents ativos.
Inicie o btpd com todas as opções definidas com seus valores padrão.
# btpd
Inicie o btpd e faça-o escutar na porta 12345, limite a largura de banda de saída a 200kB/s, limite o número de peers a 40 e não inicie nenhum torrent que estava ativo na última vez que o btpd foi desligado.
# btpd -p 12345 --bw-out 200 --max-peers 40 --empty-start
Exiba uma lista de torrents do btpd e seu número, tamanho, status, etc.
# btcli list
O mesmo que acima, mas apenas para torrent 12 e my.little.torrent.
# btcli list 12 my.little.torrent
O mesmo que acima, mas apenas para torrents ativos.
# btcli list -a
O mesmo que acima, mas imprima usando um formato personalizado
# btcli list -a -f "btcli list -f "%nt%#t%p%st%rn"
Adicione foo.torrent, com o diretório de conteúdo foo.torrent.d, e inicie-o.
# btcli add -d foo.torrent.d foo.torrent
O mesmo que acima, sem iniciá-lo.
# btcli add --no-start -d foo.torrent.d foo.torrent
Inicie bar.torrent e torrent número 7.
# btcli start bar.torrent 7
Pare o torrent número 7.
# btcli stop 7
Pare todos os torrents ativos.
# btcli stop -a
Remova bar.torrent e suas informações associadas do btpd.
# btcli del bar.torrent
Exibe um resumo das estatísticas de upload/download dos torrents ativos.
# btcli stat
Exiba o resumo uma vez a cada cinco segundos.
# btcli stat -w 5
O mesmo que acima, mas também exibe estatísticas individuais para cada torrent ativo.
# btcli stat -w 5 -i
Defina a taxa de upload global para 20 KB/s e a taxa de download para 1 MB/s.
# btcli rate 20K 1M
Desligue o btpd.
# btcli kill
Se o btpd foi encerrado por algum motivo desconhecido, verifique o arquivo de log em busca de possíveis pistas.
Você deve ter um sistema BSD, Linux ou suficientemente similar.
Certifique-se de ter versões recentes do seguinte software:
Você também precisa de um compilador c99. Um GCC não antigo deveria servir.
Para poder abrir o manual localizado em doc
você precisa ter man-pages
instaladas.
# ./configure
# make
# make install
Consulte ./configure --help
para obter as opções de compilação disponíveis se o procedimento acima falhar.
O layout do diretório torrents no diretório btpd mudou desde o btpd 0.11. Remova o diretório torrents antes de executar versões posteriores.
Se o btpd precisar enviar mensagens de parada aos rastreadores antes de desligar, ele entrará no modo de pré-saída. Um processo btpd neste modo pode ser ignorado com segurança e não interferirá em nenhum novo btpd iniciado no mesmo diretório.
Infelizmente, habilitar IPv6 e IPv4 no btpd é menos útil do que deveria ser. O problema é que alguns sites possuem rastreadores para ambas as versões e é provável que o IPv6, que provavelmente tem menos peers, seja utilizado em favor do IPv4.
Para corrigir este problema, as opções de versão IP devem ser alteradas para por torrent, em alguma versão futura do btpd.
Se você deseja entrar em contato para obter ajuda, contribuir ou apenas dizer oi, não hesite em visitar nosso canal de IRC #btpd no freenode.