diff --git a/packages/addons/service/downloadmanager/transmission/source/bin/transmission.start b/packages/addons/service/downloadmanager/transmission/source/bin/transmission.start index a3c803818a..263b814849 100755 --- a/packages/addons/service/downloadmanager/transmission/source/bin/transmission.start +++ b/packages/addons/service/downloadmanager/transmission/source/bin/transmission.start @@ -32,17 +32,17 @@ LOCKFILE="transmission.disabled" export TRANSMISSION_WEB_HOME="$ADDON_DIR/web" mkdir -p $ADDON_HOME -OPENELEC_SETTINGS="$ADDON_HOME/settings.xml" +ADDON_SETTINGS="$ADDON_HOME/settings.xml" -if [ ! -f "$OPENELEC_SETTINGS" ]; then - cp $ADDON_DIR/settings.xml $OPENELEC_SETTINGS +if [ ! -f "$ADDON_SETTINGS" ]; then + cp $ADDON_DIR/settings-default.xml $ADDON_SETTINGS fi -TRANSMISSION_START=`grep TRANSMISSION_START $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` -TRANSMISSION_AUTH=`grep TRANSMISSION_AUTH $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` -TRANSMISSION_USER=`grep TRANSMISSION_USER $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` -TRANSMISSION_PWD=`grep TRANSMISSION_PWD $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` -TRANSMISSION_IP=`grep TRANSMISSION_IP $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` +mkdir -p /var/config +cat "$ADDON_DIR/settings-default.xml" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d' > /var/config/transmission.conf.default +cat "$ADDON_SETTINGS" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d' > /var/config/transmission.conf +. /var/config/transmission.conf.default +. /var/config/transmission.conf mkdir -p /storage/downloads mkdir -p /storage/downloads/incoming @@ -57,6 +57,14 @@ TRANSMISSION_ARG="$TRANSMISSION_ARG --incomplete-dir /storage/downloads/incoming TRANSMISSION_ARG="$TRANSMISSION_ARG --watch-dir /storage/downloads/watch" TRANSMISSION_ARG="$TRANSMISSION_ARG -e /var/log/transmission.log" TRANSMISSION_ARG="$TRANSMISSION_ARG -g /storage/.cache/transmission" + +if [ ! "$TRANSMISSION_LIMIT_GLOBAL" = "" ]; then + TRANSMISSION_ARG="$TRANSMISSION_ARG -L $TRANSMISSION_LIMIT_GLOBAL" +fi +if [ ! "$TRANSMISSION_LIMIT_TORRENT" = "" ]; then + TRANSMISSION_ARG="$TRANSMISSION_ARG -l $TRANSMISSION_LIMIT_TORRENT" +fi + TRANSMISSION_ARG="$TRANSMISSION_ARG -a $TRANSMISSION_IP" if [ "$TRANSMISSION_AUTH" = "true" ]; then diff --git a/packages/addons/service/downloadmanager/transmission/source/resources/language/English/strings.xml b/packages/addons/service/downloadmanager/transmission/source/resources/language/English/strings.xml index 3b79dbcaee..03ea679927 100644 --- a/packages/addons/service/downloadmanager/transmission/source/resources/language/English/strings.xml +++ b/packages/addons/service/downloadmanager/transmission/source/resources/language/English/strings.xml @@ -10,4 +10,8 @@ Network Settings Allowed IP addresses (comma-delimited) + Limits + Overall peer limit. + Peer limit per torrent + diff --git a/packages/addons/service/downloadmanager/transmission/source/resources/settings.xml b/packages/addons/service/downloadmanager/transmission/source/resources/settings.xml index bcb2471ef0..54940b0307 100644 --- a/packages/addons/service/downloadmanager/transmission/source/resources/settings.xml +++ b/packages/addons/service/downloadmanager/transmission/source/resources/settings.xml @@ -12,5 +12,10 @@ + + + + + diff --git a/packages/addons/service/downloadmanager/transmission/source/settings.xml b/packages/addons/service/downloadmanager/transmission/source/settings-default.xml similarity index 67% rename from packages/addons/service/downloadmanager/transmission/source/settings.xml rename to packages/addons/service/downloadmanager/transmission/source/settings-default.xml index ed63074495..1dd12e1785 100644 --- a/packages/addons/service/downloadmanager/transmission/source/settings.xml +++ b/packages/addons/service/downloadmanager/transmission/source/settings-default.xml @@ -3,4 +3,6 @@ + +