2018-02-03 12:37:58 +00:00
|
|
|
#!/bin/bash
|
2018-02-03 14:30:10 +00:00
|
|
|
if [[ ! -e /config/qBittorrent ]]; then
|
|
|
|
mkdir -p /config/qBittorrent/config/
|
2018-02-04 04:44:34 +00:00
|
|
|
chown -R ${PUID}:${PGID} /config/qBittorrent
|
|
|
|
else
|
|
|
|
chown -R ${PUID}:${PGID} /config/qBittorrent
|
2018-02-03 14:30:10 +00:00
|
|
|
fi
|
|
|
|
|
2018-02-03 14:22:26 +00:00
|
|
|
if [[ ! -e /config/qBittorrent/config/qBittorrent.conf ]]; then
|
2018-02-03 14:35:04 +00:00
|
|
|
/bin/cp /etc/qbittorrent/qBittorrent.conf /config/qBittorrent/config/qBittorrent.conf
|
2018-02-03 14:22:26 +00:00
|
|
|
chmod 755 /config/qBittorrent/config/qBittorrent.conf
|
|
|
|
fi
|
|
|
|
|
2018-06-24 17:43:23 +00:00
|
|
|
## Check for missing group
|
|
|
|
/bin/egrep -i "^${PGID}:" /etc/passwd
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
echo "Group $PGID exists"
|
|
|
|
else
|
|
|
|
echo "Adding $PGID group"
|
|
|
|
groupadd -g $PGID qbittorent
|
|
|
|
fi
|
|
|
|
|
|
|
|
## Check for missing userid
|
|
|
|
/bin/egrep -i "^${PUID}:" /etc/passwd
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
echo "User $PUID exists in /etc/passwd"
|
|
|
|
else
|
|
|
|
echo "Adding $PUID user"
|
|
|
|
useradd -c "qbittorent user" -g $PGID -u $PUID qbittorent
|
|
|
|
fi
|
|
|
|
|
2018-10-07 03:31:19 +00:00
|
|
|
# set umask
|
|
|
|
export UMASK=$(echo "${UMASK}" | sed -e 's~^[ \t]*~~;s~[ \t]*$~~')
|
|
|
|
|
|
|
|
if [[ ! -z "${UMASK}" ]]; then
|
|
|
|
echo "[info] UMASK defined as '${UMASK}'" | ts '%Y-%m-%d %H:%M:%.S'
|
|
|
|
else
|
2018-10-07 03:33:49 +00:00
|
|
|
echo "[warn] UMASK not defined (via -e UMASK), defaulting to '002'" | ts '%Y-%m-%d %H:%M:%.S'
|
2018-10-07 03:34:06 +00:00
|
|
|
export UMASK="002"
|
2018-10-07 03:31:19 +00:00
|
|
|
fi
|
|
|
|
|
2018-06-24 17:43:23 +00:00
|
|
|
|
2018-04-16 09:20:56 +00:00
|
|
|
# Set qBittorrent WebUI and Incoming ports
|
2019-01-13 18:24:47 +00:00
|
|
|
if [ ! -z "${WEBUI_PORT_ENV}" ]; then
|
|
|
|
webui_port_exist=$(cat /config/qBittorrent/config/qBittorrent.conf | grep -m 1 'WebUI\\Port='${WEBUI_PORT_ENV})
|
2018-04-16 09:20:56 +00:00
|
|
|
if [[ -z "${webui_port_exist}" ]]; then
|
2018-10-08 22:31:07 +00:00
|
|
|
webui_exist=$(cat /config/qBittorrent/config/qBittorrent.conf | grep -m 1 'WebUI\\Port')
|
2018-04-16 09:20:56 +00:00
|
|
|
if [[ ! -z "${webui_exist}" ]]; then
|
|
|
|
# Get line number of WebUI Port
|
|
|
|
LINE_NUM=$(grep -Fn -m 1 'WebUI\Port' /config/qBittorrent/config/qBittorrent.conf | cut -d: -f 1)
|
2019-01-13 18:24:47 +00:00
|
|
|
sed -i "${LINE_NUM}s@.*@WebUI\\Port=${WEBUI_PORT_ENV}@" /config/qBittorrent/config/qBittorrent.conf
|
2018-04-16 09:20:56 +00:00
|
|
|
else
|
2019-01-13 18:24:47 +00:00
|
|
|
echo "WebUI\Port=${WEBUI_PORT_ENV}" >> /config/qBittorrent/config/qBittorrent.conf
|
2018-04-16 09:20:56 +00:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ ! -z "${INCOMING_PORT}" ]; then
|
2018-10-08 22:31:07 +00:00
|
|
|
incoming_port_exist=$(cat /config/qBittorrent/config/qBittorrent.conf | grep -m 1 'Connection\\PortRangeMin='${INCOMING_PORT})
|
2018-04-16 09:20:56 +00:00
|
|
|
if [[ -z "${incoming_port_exist}" ]]; then
|
2018-10-08 22:31:07 +00:00
|
|
|
incoming_exist=$(cat /config/qBittorrent/config/qBittorrent.conf | grep -m 1 'Connection\\PortRangeMin')
|
2018-04-16 09:20:56 +00:00
|
|
|
if [[ ! -z "${incoming_exist}" ]]; then
|
|
|
|
# Get line number of Incoming
|
|
|
|
LINE_NUM=$(grep -Fn -m 1 'Connection\PortRangeMin' /config/qBittorrent/config/qBittorrent.conf | cut -d: -f 1)
|
2018-10-08 22:31:07 +00:00
|
|
|
sed -i "${LINE_NUM}s@.*@Connection\\PortRangeMin=${INCOMING_PORT}@" /config/qBittorrent/config/qBittorrent.conf
|
2018-04-16 09:20:56 +00:00
|
|
|
else
|
|
|
|
echo "Connection\PortRangeMin=${INCOMING_PORT}" >> /config/qBittorrent/config/qBittorrent.conf
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2018-02-03 12:37:58 +00:00
|
|
|
echo "[info] Starting qBittorrent daemon..." | ts '%Y-%m-%d %H:%M:%.S'
|
2018-02-05 02:18:03 +00:00
|
|
|
/bin/bash /etc/qbittorrent/qbittorrent.init start &
|
2018-02-05 01:45:11 +00:00
|
|
|
chmod -R 755 /config/qBittorrent
|
2018-02-03 12:37:58 +00:00
|
|
|
|
2018-02-05 01:58:26 +00:00
|
|
|
sleep 1
|
2018-06-24 17:43:23 +00:00
|
|
|
qbpid=$(pgrep -o -x qbittorrent-nox)
|
2018-02-05 04:04:39 +00:00
|
|
|
echo "[info] qBittorrent PID: $qbpid" | ts '%Y-%m-%d %H:%M:%.S'
|
2018-02-05 03:58:38 +00:00
|
|
|
|
2018-02-05 04:04:39 +00:00
|
|
|
if [ -e /proc/$qbpid ]; then
|
2018-02-05 04:10:47 +00:00
|
|
|
if [[ -e /config/qBittorrent/data/logs/qbittorrent.log ]]; then
|
|
|
|
chmod 775 /config/qBittorrent/data/logs/qbittorrent.log
|
|
|
|
fi
|
2018-02-05 04:04:39 +00:00
|
|
|
sleep infinity
|
2018-02-05 01:54:20 +00:00
|
|
|
else
|
2018-02-05 04:04:39 +00:00
|
|
|
echo "qBittorrent failed to start!"
|
2018-02-05 01:54:20 +00:00
|
|
|
fi
|