web-dev-qa-db-ja.com

rTorrentでFirefoxからマグネットトレントリンクを開く方法

Xenial Xerusでコマンドライントレントクライアント rTorrent を使用しています。

  1. Firefoxで magnet トレントリンクを見つけてクリックします
  2. RTorrentでマグネットリンクを自動的に開き、ダウンロードを開始します

Firefox内からスクリプトを呼び出す必要があると思いますが、そのようなスクリプトの記述はこれまでのところ私を破りました...

5
andrew.46

通常、問題はMIMEタイプとデフォルトハンドラーにあります。

まず、Firefoxのabout:config設定を変更しましたか?すなわち:

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

他のオプションをリセットします このFirefoxの大洪水のQ&Aによる

特定のディレクトリを監視するようにrTorrentを設定しましたか?

ファイル:〜/ .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

次に、$HOME/torrents/watchに「名前を付けて保存」するだけです。

$HOME/torrents/watchを使用するtorrentsサブフォルダーに変更するか、少なくとも$ HOMEを/ home/usernameに変更します

ファイルを作成し、次のスクリプトを追加します。

ファイル: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"

実行可能にすることを忘れないでください

chmod +x maglink-rtorrent.sh

これにより、次の方法で端末からダウンロードすることもできます。

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

さらに素晴らしい サービスのヒントとrTorrentのセットアップオプションはこちら

さらにクレジット:

アップデート2:

RTorrentを使用せず、kTorrentまたはqBittorentを使用する場合、次の方法で実行できます。

# 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

コマンドラインが必要かどうかについては、(メモリから)さらに設定があります。

ただし、rTorrentの場合、このリンクは FlexGet rTorrent Magnet URI Handler です。

完全な情報はこちら

お役に立てれば。

5
greg.arnott

次のスクリプトは、通常の.torrentファイルとマグネットリンクの両方で動作する Max Gonzihのコード のスピンです。

#!/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

これをスクリプトで使用して(pass_to_rtorrent.shと呼びましょう)、Firefoxにトレントファイルまたはマグネットリンクをスクリプトに渡させます。

Firefox rTorrent screenshot

スクリプトが実行可能であることを確認してください:chmod +x pass_to_rtorrent.sh

1
Matthias Braun