클릭한 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
오류 발생 시 이메일을 보내도록 위의 스크립트를 래핑할 수 있습니다.