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 @@
+
+