wiki.mbirth.de

All you never wanted to know

View on GitHub
:new: 2008-10-10

BTG

Homepage: http://btg.berlios.de/ http://sourceforge.net/projects/btg.berlios/

Incoming directory

To have a directory scanned for .torrent files and let them be added to BTG, there is this nice bash script from the BTG HowTo:

#!/bin/sh

CLIENT=btgcli
# The directory containing the torrent files.
INCOMING_DIR=~/btg/incomming
# The directory to which .torrent files are moved
# to after loading them into BTG.
DONE_DIR=~/btg/incomming/done

GOT_SESSION=0
$CLIENT -A -n -c "detach" &> /dev/null && GOT_SESSION=1

if [ $GOT_SESSION -eq 0 ]
then
$CLIENT -n -c "detach" &> /dev/null && GOT_SESSION=1
fi

if
[ $GOT_SESSION -eq 0 ]
then
echo "Unable to attach or create a BTG session."
exit -1
fi

TORRENT_ADDED=0

cd $INCOMING_DIR && \
for f in `ls -1 *.torrent 2> /dev/null` ; do
echo "Loading file: $f" && \
$CLIENT -A -n -c "detach" -o $f &> /dev/null && \
TORRENT_ADDED=`expr $TORRENT_ADDED + 1` && \
mv $f $DONE_DIR
done

if
[ $TORRENT_ADDED -gt 0 ]
then
echo "Added $TORRENT_ADDED torrents to BTG."
fi

Set Speedlimits based on time of day

This script also comes from the BTG HowTo:

#!/bin/sh

# The location of the BTG client application.
CLIENT=btgcli

H=`date +%H`
O="none"

if [ "$H" -gt "0" ] || [ "$H" -lt "6" ]
then
O="night"
fi

if
[ "$H" -gt "6" ] || [ "$H" -lt "12" ]
then
O="morning"
fi

if
[ "$H" -gt "12" ] || [ "$H" -lt "16" ]
then
O="midday"
fi

if
[ "$H" -gt "16" ] || [ "$H" -lt "23" ]
then
O="evening"
fi

# Max upload limit.
UL_MAX=75

# Global limits in KiB/sec.
UL=-1
DL=-1
SET_LIMIT=0

case "$O" in
night)
UL=$UL_MAX
SET_LIMIT=1
echo "Limit:$O:$UL:$DL"
;;
morning)
UL=`expr $UL_MAX - 20`
SET_LIMIT=1
echo "Limit:$O:$UL:$DL"
;;
midday)
UL=`expr $UL_MAX - 40`
SET_LIMIT=1
echo "Limit:$O:$UL:$DL"
;;
evening)
UL=`expr $UL_MAX - 70`
SET_LIMIT=1
echo "Limit:$O:$UL:$DL"
;;
*)
echo "Not setting limit."
;;
esac

if [ "$SET_LIMIT" -eq "0" ]
then
exit 0
fi

GOT_SESSION=0
$CLIENT -A -n -c "detach" &> /dev/null && GOT_SESSION=1

if [ $GOT_SESSION -eq 0 ]
then
$CLIENT -n -c "detach" &> /dev/null && GOT_SESSION=1
fi

if
[ $GOT_SESSION -eq 0 ]
then
echo "Unable to attach or create a BTG session."
exit -1
fi

$CLIENT -A -n -c "glimit $UL $DL -1 -1;detach" &> /dev/null && \
echo "Limit set."
Loading Google+ comments…