diff --git a/manual-tracker-add.sh b/manual-tracker-add.sh index 922a663..f715014 100755 --- a/manual-tracker-add.sh +++ b/manual-tracker-add.sh @@ -5,36 +5,39 @@ if [[ -n "$TRANSMISSION_USER" && -n "$TRANSMISSION_PASS" ]]; then else auth= fi -host=${TRANSMISSION_HOST:-localhost} -list_url=${TRACKER_URL:-https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt} +host=${TRANSMISSION_HOST:-192.168.1.168} +list_url=${TRACKER_URL:-https://gitee.com/harvey520/www.yaozuopan.top/raw/master/blacklist.txt} add_trackers () { torrent_hash=$1 - for base_url in "${list_url}" ; do - echo -e "\e[1m\e[5m" - echo "URL for ${base_url}" + tracker_list=$2 echo -e "Adding trackers for \e[91m$torrent_name..." - echo -en "\e[0m" - echo -e "\e[2m\e[92m" -for tracker in $(curl --location -# "${base_url}") ; do - echo -en "\e[0m" - echo -ne "\e[93m*\e[0m ${tracker}..." -if transmission-remote "$host" ${auth:+--auth="$auth"} --torrent "${torrent_hash}" -td "${tracker}" | grep -q 'success'; then - echo -e '\e[92m done.' - echo -en "\e[0m" -else - echo -e '\e[93m already added.' - echo -en "\e[0m" -fi - done -done + for tracker in $tracker_list ; do + echo -ne "\e[93m*\e[0m ${tracker}..." + if transmission-remote "$host" ${auth:+--auth="$auth"} --torrent "${torrent_hash}" -td "${tracker}" | grep -q 'success'; then + echo -e '\e[92m done.' + echo -en "\e[0m" + else + echo -e '\e[93m already added.' + echo -en "\e[0m" + fi + done } # Get list of active torrents -ids=${1:-"$(transmission-remote "$host" ${auth:+--auth="$auth"} --list | grep -vE 'Seeding|Stopped|Finished' | grep '^ ' | awk '{ print $1 }')"} +ids=${1:-"$(transmission-remote "$host" ${auth:+--auth="$auth"} --list | tail -n +2 | grep -vE 'Seeding|Stopped|Finished' | grep '^ ' | awk '{ print $1 }')"} +# Get list of trackers +trackers="" +newline=$'\n' +for base_url in "${list_url}" ; do + trackers="$trackers$newline$(curl -sL "${base_url}")" +done + +# Remove empty lines +trackers=$(echo "$trackers" | grep -vE '^$') for id in $ids ; do hash="$(transmission-remote "$host" ${auth:+--auth="$auth"} --torrent "$id" --info | grep '^ Hash: ' | awk '{ print $2 }')" torrent_name="$(transmission-remote "$host" ${auth:+--auth="$auth"} --torrent "$id" --info | grep '^ Name: ' |cut -c 9-)" - add_trackers "$hash" + add_trackers "$hash" "$trackers" done