Skip to content

Commit a764d6e

Browse files
make prettier
1 parent 68dc08e commit a764d6e

File tree

1 file changed

+50
-49
lines changed

1 file changed

+50
-49
lines changed

tracker-add-auto.sh

Lines changed: 50 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -2,58 +2,59 @@
22
# Get transmission credentials and ip or dns address
33
auth=user:password
44
host=localhost
5+
# set trackers list space separated
56
trackers=https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt
67
pt_trackers=()
78

8-
while true ; do
9-
sleep 25
10-
add_trackers () {
11-
torrent_hash=$1
12-
id=$2
13-
trackerslist=/tmp/trackers.txt
14-
for base_url in $trackers ; do
15-
if [ ! -f $trackerslist ]; then
16-
curl -o "$trackerslist" "${base_url}"
17-
fi
18-
Local=$(wc -c < $trackerslist)
19-
Remote=$(curl -sI "${base_url}" | awk '/Content-Length/ {sub("\r",""); print $2}')
20-
if [ "$Local" != "$Remote" ]; then
21-
curl -o "$trackerslist" "${base_url}"
22-
fi
23-
echo "URL for ${base_url}"
24-
echo "Adding trackers for $torrent_name..."
25-
for tracker in $(cat $trackerslist) ; do
26-
echo -n "${tracker}..."
27-
if transmission-remote "$host" --auth="$auth" --torrent "${torrent_hash}" -td "${tracker}" | grep -q 'success'; then
28-
echo ' done.'
29-
else
30-
echo ' already added.'
31-
fi
32-
done
33-
done
34-
sleep 3m
35-
rm -f "/tmp/TTAA.$id.lock"
36-
}
37-
# Get list of active torrents
9+
while true; do
10+
sleep 25
11+
add_trackers() {
12+
torrent_hash=$1
13+
id=$2
14+
trackerslist=/tmp/trackers.txt
15+
for base_url in $trackers; do
16+
if [ ! -f $trackerslist ]; then
17+
curl -o "$trackerslist" "${base_url}"
18+
fi
19+
Local=$(wc -c <$trackerslist)
20+
Remote=$(curl -sI "${base_url}" | awk '/Content-Length/ {sub("\r",""); print $2}')
21+
if [ "$Local" != "$Remote" ]; then
22+
curl -o "$trackerslist" "${base_url}"
23+
fi
24+
echo "URL for ${base_url}"
25+
echo "Adding trackers for $torrent_name..."
26+
for tracker in $(cat $trackerslist); do
27+
echo -n "${tracker}..."
28+
if transmission-remote "$host" --auth="$auth" --torrent "${torrent_hash}" -td "${tracker}" | grep -q 'success'; then
29+
echo ' done.'
30+
else
31+
echo ' already added.'
32+
fi
33+
done
34+
done
35+
sleep 3m
36+
rm -f "/tmp/TTAA.$id.lock"
37+
}
38+
# Get list of active torrents
3839
ids="$(transmission-remote "$host" --auth="$auth" --list | grep -vE 'Seeding|Stopped|Finished|[[:space:]]100%[[:space:]]' | grep '^ ' | awk '{ print $1 }')"
39-
for id in $ids ; do
40-
add_date="$(transmission-remote "$host" --auth="$auth" --torrent "$id" --info| grep '^ Date added: ' |cut -c 21-)"
41-
add_date_t="$(date -d "$add_date" "+%Y-%m-%d %H:%M")"
42-
dater="$(date "+%Y-%m-%d %H:%M")"
43-
dateo="$(date -d "1 minutes ago" "+%Y-%m-%d %H:%M")"
44-
tracker0="$(transmission-remote "$host" --auth="$auth" -t "$id" -it|sed -n '2,2p'|awk '{print $3}'|awk -F : '{print $2}'|sed -e 's/\/\///')"
45-
if [[ " ${pt_trackers[@]} " =~ " $tracker0 " ]]; then
46-
echo "skip id=" $id $tracker0
47-
continue
48-
fi
40+
for id in $ids; do
41+
add_date="$(transmission-remote "$host" --auth="$auth" --torrent "$id" --info | grep '^ Date added: ' | cut -c 21-)"
42+
add_date_t="$(date -d "$add_date" "+%Y-%m-%d %H:%M")"
43+
dater="$(date "+%Y-%m-%d %H:%M")"
44+
dateo="$(date -d "1 minutes ago" "+%Y-%m-%d %H:%M")"
45+
tracker0="$(transmission-remote "$host" --auth="$auth" -t "$id" -it | sed -n '2,2p' | awk '{print $3}' | awk -F : '{print $2}' | sed -e 's/\/\///')"
46+
if [[ " ${pt_trackers[@]} " =~ " $tracker0 " ]]; then
47+
echo "skip id=" "$id" "$tracker0"
48+
continue
49+
fi
4950

50-
if [ ! -f "/tmp/TTAA.$id.lock" ]; then
51-
if [[ "( "$add_date_t" == "$dater" || "$add_date_t" == "$dateo" )" ]]; then
52-
hash="$(transmission-remote "$host" --auth="$auth" --torrent "$id" --info | grep '^ Hash: ' | awk '{ print $2 }')"
53-
torrent_name="$(transmission-remote "$host" --auth="$auth" --torrent "$id" --info | grep '^ Name: ' |cut -c 9-)"
54-
add_trackers "$hash" "$id" &
55-
touch "/tmp/TTAA.$id.lock"
56-
fi
57-
fi
58-
done
51+
if [ ! -f "/tmp/TTAA.$id.lock" ]; then
52+
if [[ "( "$add_date_t" == "$dater" || "$add_date_t" == "$dateo" )" ]]; then
53+
hash="$(transmission-remote "$host" --auth="$auth" --torrent "$id" --info | grep '^ Hash: ' | awk '{ print $2 }')"
54+
torrent_name="$(transmission-remote "$host" --auth="$auth" --torrent "$id" --info | grep '^ Name: ' | cut -c 9-)"
55+
add_trackers "$hash" "$id" &
56+
touch "/tmp/TTAA.$id.lock"
57+
fi
58+
fi
59+
done
5960
done

0 commit comments

Comments
 (0)