diff --git a/qbittorrent/start.sh b/qbittorrent/start.sh index 0d76967..217f226 100644 --- a/qbittorrent/start.sh +++ b/qbittorrent/start.sh @@ -13,6 +13,35 @@ if [[ ! -e /config/qBittorrent/config/qBittorrent.conf ]]; then chmod 755 /config/qBittorrent/config/qBittorrent.conf fi +# Set qBittorrent WebUI and Incoming ports +if [ ! -z "${WEBUI_PORT}" ]; then + webui_port_exist=$(cat /config/qBittorrent/config/qBittorrent.conf | grep -m 1 "WebUI\Port=${WEBUI_PORT}") + if [[ -z "${webui_port_exist}" ]]; then + webui_exist=$(cat /config/qBittorrent/config/qBittorrent.conf | grep -m 1 'WebUI\Port') + 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) + sed -i "${LINE_NUM}s@^@WebUI\Port=${WEBUI_PORT}\n@" /config/qBittorrent/config/qBittorrent.conf + else + echo "WebUI\Port=${WEBUI_PORT}" >> /config/qBittorrent/config/qBittorrent.conf + fi + fi +fi + +if [ ! -z "${INCOMING_PORT}" ]; then + incoming_port_exist=$(cat /config/qBittorrent/config/qBittorrent.conf | grep -m 1 "Connection\PortRangeMin=${INCOMING_PORT}") + if [[ -z "${incoming_port_exist}" ]]; then + incoming_exist=$(cat /config/qBittorrent/config/qBittorrent.conf | grep -m 1 'Connection\PortRangeMin') + 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) + sed -i "${LINE_NUM}s@^@Connection\PortRangeMin=${INCOMING_PORT}\n@" /config/qBittorrent/config/qBittorrent.conf + else + echo "Connection\PortRangeMin=${INCOMING_PORT}" >> /config/qBittorrent/config/qBittorrent.conf + fi + fi +fi + echo "[info] Starting qBittorrent daemon..." | ts '%Y-%m-%d %H:%M:%.S' /bin/bash /etc/qbittorrent/qbittorrent.init start & chmod -R 755 /config/qBittorrent