J'utilise le client torrent en ligne de commande rTorrent sous Xenial Xerus et j'aimerais:
Je crois qu'un script doit être appelé depuis Firefox, mais l'écriture d'un tel script m'a jusqu'à présent vaincue ...
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:
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
J'espère que cela t'aides.
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:
Assurez-vous que le script est exécutable: chmod +x pass_to_rtorrent.sh