web-dev-qa-db-fra.com

Comment ouvrir les liens aimant torrent à partir de Firefox dans rTorrent?

J'utilise le client torrent en ligne de commande rTorrent sous Xenial Xerus et j'aimerais:

  1. Trouvez et cliquez sur un lien aimant torrent avec Firefox
  2. Le lien magnétique s’ouvre-t-il automatiquement dans rTorrent et commencez le téléchargement

Je crois qu'un script doit être appelé depuis Firefox, mais l'écriture d'un tel script m'a jusqu'à présent vaincue ...

5
andrew.46

Les problèmes résident généralement avec le type mime et les gestionnaires par défaut.

Tout d'abord, avez-vous modifié les paramètres de about:config de Firefox? c'est à dire:

network.protocol-handler.expose.magnet -> false

et réinitialiser les autres options conformément à ce FAQ sur le déluge de Firefox.

Avez-vous configuré rTorrent pour regarder un répertoire particulier?

FICHIER: ~/.rtorrent.rc

# Maximum and minimum number of peers to connect to per torrent.
min_peers = 50
max_peers = 80

# Maximum number of simultanious uploads per torrent.
max_uploads = 5

# Global upload and download rate in KiB. "0" for unlimited.
download_rate = 0
upload_rate = 50

# Default directory to save the downloaded torrents.
directory = $HOME/torrents/downloads

# Watch a directory for new torrents
# SET your watch directory here --v 
schedule = watch_directory,5,5,$HOME/torrents/watch/*.torrent

port_range = 60125-64125
port_random = yes
dht = auto

# UDP port to use for DHT.
dht_port = 63425

# Enable peer exchange (for torrents not marked private)
peer_exchange = yes

# Check hash for finished torrents.
check_hash = yes

encryption = allow_incoming,try_outgoing ,enable_retry

Il suffit ensuite de "sauvegarder sous" dans $HOME/torrents/watch.

Remplacez $HOME/torrents/watch par le sous-dossier de torrents que vous utilisez ou au moins par $ HOME par/home/nom d'utilisateur.

Créez un fichier et ajoutez le script suivant:

FICHIER: maglink-rtorrent.sh

#!/bin/bash

cd $HOME/torrents/watch    # set your watch directory here
[[ "$1" =~ xt=urn:btih:([^&/]+) ]] || exit;
echo "d10:magnet-uri${#1}:${1}e" > "meta-${BASH_REMATCH[1]}.torrent"

N'oubliez pas de le rendre exécutable

chmod +x maglink-rtorrent.sh

Cela offre également la possibilité de télécharger depuis le terminal en:

cd $HOME/torrents/watch
./maglink-rtorrent.sh "MAGNET-LINK-HERE"

Encore plus génial Service Astuces et options de configuration rTorrent ici .

Plus de crédits:

Mise à jour 2:

Si vous n'utilisez pas rTorrent, mais kTorrent ou qBittorent, voici ce qui suit:

# check defaults
xdg-mime query default x-scheme-handler/magnet
gvfs-mime --query x-scheme-handler/magnet

# set defaults
xdg-mime default qBittorent.desktop x-scheme-handler/magnet
gvfs-mime --set x-scheme-handler/magnet qBittorrent.desktop

Il existe un autre paramètre (de mémoire) pour savoir si vous avez besoin d'une ligne de commande.

Pour rTorrent cependant, ce lien est le Gestionnaire d'URI d'aimant FlexGet rTorrent

Information complète ici.

J'espère que cela t'aides.

5
greg.arnott

Le script suivant est un spin sur code de Max Gonzih qui fonctionne à la fois avec des fichiers .torrent normaux et des liens magnétiques:

#!/bin/bash

torrent_file_or_magnet_link="$1"

# Edit rtorrent.rc to automatically start downloads when a .torrent file
# appears in this directory.
cd "$HOME/.rtorrent/watch/start/"

# XT stands for "exact topic".
# BTIH is the BitTorrent info hash:
# https://en.wikipedia.org/wiki/Magnet_URI_scheme#BitTorrent_info_hash_(BTIH)
# This is the hex-encoded SHA-1 hash of the torrent file info section
magnet_regex="xt=urn:btih:([^&/]+)"
if [[ "$torrent_file_or_magnet_link" =~ $magnet_regex ]]; then
  torrent_hash=${BASH_REMATCH[1]};
  magnet_link_length=${#torrent_file_or_magnet_link}
  # To conform with the bencode encoding, the magnet link's number of characters
  # must be part of the torrent file, otherwise rTorrent can't read it.
  # Same for the "e" at the end.
  # See https://en.wikipedia.org/wiki/Bencode
  torrent_file_content="d10:magnet-uri${magnet_link_length}:${torrent_file_or_magnet_link}e"

  # Note that rTorrent will read this torrent file, start downloading
  # the file and then remove the torrent file
  echo "$torrent_file_content" > "$torrent_hash.torrent"
else
  cp "$torrent_file_or_magnet_link" .
fi

Vous pouvez utiliser ceci dans un script (appelons-le pass_to_rtorrent.sh) et demandez à Firefox de transmettre le fichier torrent ou le lien magnétique au script:

Firefox rTorrent screenshot

Assurez-vous que le script est exécutable: chmod +x pass_to_rtorrent.sh

1
Matthias Braun