Firefox에서 전송 데몬 작업 추가를 구성하시겠습니까?

Firefox에서 전송 데몬 작업 추가를 구성하시겠습니까?

클릭한 Bittorent 링크가 원격 시스템에서 실행 중인 전송 데몬에 자동으로 추가되도록 Firefox를 구성하려면 어떻게 해야 합니까?

전송 데몬은 ssh/transmission-remote-control 포트를 통해 사용할 수 있습니다.

내가 선택한 쉘 스크립트를 사용하여 토렌트 파일을 열도록 Firefox에 쉽게 지시할 수 있으며, 그러면 Firefox는 토렌트 파일을 다운로드하여 /var/tmp스크립트에 임시 파일 경로를 제공합니다.

이것은 정확히 내가 원하는 것이 아닙니다. 쉘 스크립트를 호출하고 (원본) URL을 인수로 제공하려면 Firefox가 필요합니다.

Firefox는 쉘 스크립트의 종료 상태가 추가 설정인 0이 아닌 경우에도 피드백을 제공합니다.

(여기서 쉘 스크립팅을 언급했지만, 이 목적에 더 적합한 다른 스크립팅 솔루션이 있다면 주저하지 마십시오.)

답변1

놀랍게도 Firefox는 외부 프로그램을 사용하여 특정 MIME 유형(또는 특정 파일 확장자를 포함)의 URL을 직접 여는 방법을 제공하지 않습니다.

또 다른 사용 사례는 스트리밍을 위해 외부 프로그램을 호출하는 것입니다.

거기짝수이다일부오래된허점보고서~을 위한파이어폭스 브라우저(10년 전으로 거슬러 올라갑니다). 개발자들은 이러한 일반적인 문제를 인정하는 것 같지만 개방적인 태도를 유지하며 때로는 주요 아키텍처 문제를 언급하기도 합니다. 다른 브라우저(예: Opera/Internet-Explorer)는 외부 프로그램으로 URL을 여는 기능을 지원합니다. 일부 의견에서는 이 문제를 해결하기 위해 다른 플러그인을 언급했지만 모두 중지되었거나 작동하지 않는 것 같습니다.

나는 다음과 같은 해결책을 생각해 냈습니다.

파트 1: 플러그인

Firefox 플러그인 설치URL 릴레이. 이를 통해 외부 프로그램으로 열리는 URL 패턴을 구성할 수 있습니다.

2부: 쉘 스크립트

다음과 같은 쉘 스크립트를 사용하십시오.

#!/usr/bin/bash

set -e
set -u
# for testing
set -x

if [ $# -lt 1 ] ; then
  cat <<EOF
call: $0 TORRENT_URL_1 TORRENT_URL_2 ...

Adds torrent URLs to a remote transmission daemon.

EOF
  exit 1
fi

function quote()
{
  for i in "$@"; do
    echo --add "'"$i"'"
  done
}

HOST=example.org
AUTH="--auth juser:geheim"
ADDR=transmissiond.example.org:5432
TRANSMISSION_REMOTE=transmission-remote

ssh $HOST $TRANSMISSION_REMOTE $ADDR $AUTH  `quote "$@"`  # "'$1'"

인용 체계는 URL에 공백/쉘 메타 문자가 표시되는 것을 방지하는 데 사용됩니다. 단, Firefox는 합리적이고 이러한 문자를 포함하지 않을 수 있습니다.

3부: URL 릴레이 구성

\.torrent$스크립트 위치가 포함된 URL 패턴 등을 실행 파일 및 매개변수로 사용하세요 %URL%.

보충 설명

플러그인 URL Relay는 오류 종료 상태에 대한 피드백을 제공하지 않는 것 같습니다. 따라서 at now오류 발생 시 이메일을 보내도록 위의 스크립트를 래핑할 수 있습니다.

관련 정보