summaryrefslogtreecommitdiff
path: root/bin/common/dladd
blob: f46f4e4fba77cef05436cf8607d7a9f54e79233a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/sh

# Adds a torrent to deluge container
# Assumes there is a config folder where auth and torrents/ are located

DLPATH="/srv/deluge/config"

mkdir -p /tmp/dladd
LOG="/tmp/dladd/$(date +"%Y-%m-%d_%H-%M-%S").log"

# Check for errors and input type
if [ $# -eq 0 ]
then
    echo "No file name provided. Usage: $0 <file>" >&2
	exit 1
elif [ -f "$1" ]
then
	echo "is a file"
	magnet=0
elif echo "$1 " | grep -q "magnet:?xt=urn:btih:[a-zA-Z0-9]*"
then
	echo "is a magnet link"
	magnet=1
else
	echo "File '$1' not found." >&2
	exit 1
fi

password="$(cut -f2 -d: "$DLPATH/auth")"
if [ "$magnet" -eq 0 ]
then
	file="$(date +"%Y-%m-%d_%H-%M-%S").torrent"
	cp "$1" "$DLPATH/torrents/$file"
	if docker exec -i deluge deluge-console "connect 127.0.0.1 localclient $password; add /config/torrents/$file" > "$LOG" 2>&1
	then
		echo "torrent added!"
		rm "$LOG"
	else
		echo "torrent couldn't be added, log at $LOG"
	fi
else
	link=$(echo -n "$1" | tr -d "'\"")
	if docker exec -i deluge deluge-console "connect 127.0.0.1 localclient $password; add $link" > "$LOG" 2>&1
	then
		echo "torrent added!"
		rm "$LOG"
	else
		echo "torrent couldn't be added, log at $LOG"
	fi
fi
rm -d /tmp/dladd 2>/dev/null