freebsd-ports/net/py-bittornado/files/bittornado.sh.sample
Edwin Groothuis 01ab3fff1d [MAINTAINER] net/py23-BitTornado: [SUMMARIZE CHANGES]
- Added manual pages from Debian Linux.
    - Added sample script that can be used as startup/stop script for
    Bittorrent sites (hopefully will be integrated in $PREFIX/etc/rc.d/ once
    (but first I need some feedback)
    - Added proper IPv6 support - removing compact=1 from announcements.
    (If you want you can test it at http://6net.nii.hu:6969)

PR:		ports/71736
Submitted by:	Janos Mohacsi <janos.mohacsi@bsd.hu>
2004-10-13 08:34:07 +00:00

101 lines
2.8 KiB
Bash

#!/bin/sh
#Sample startup file for Bittornado sites
#PATH to be used. To be safe
PATH=/usr/local/bin:/bin:/usr/bin
#tracker daemon
DAEMON=/usr/local/bin/bttrack.py
#seed daemon
LAUNCH=/usr/local/bin/btlaunchmany.py
#mate file creator
MAKEMETA=/usr/local/bin/btmakemetafile.py
#state file of the Bittornado tracker (inside TORRENTSDIR)
DFILE=connected.txt
#ports to be used by tracker
PORT=6969
#description strings
DESC1="bittornado tracker"
DESC2="bittornado launcher"
#Owner of the torrent files to be served by web server
TORRENTOWNER="www:www"
#TORRENTSWWWDIR - the directory served by Web server
TORRENTSWWWDIR=/usr/local/www/torrent/
#TORRENTSDIR - the directory where you store served files and torrents
TORRENTSDIR=/home/iso/
#URL of TRACKER
#change it to your server
SERVER=http://6net.niif.hu:${PORT}
#Configuration file where you can store your local changes
CONFIG_FILE=/usr/local/etc/bittornado.conf
#options to be used by the tracker
#if you want experimental IPv6 support add --ipv6_enabled 1
#TRACKEROPTIONS="--dfile ./$DFILE --port $PORT --ipv6_enabled 1"
TRACKEROPTIONS="--dfile ./$DFILE --port $PORT"
#options to be used by seeders
#if you want experimental IPv6 support add --ipv6_enabled 1
#DOWNLOADOPTIONS="--ipv6_enabled 1"
DOWNLOADOPTIONS=""
#log file to be used by tracker and seeder
TORRENTLOG="/tmp/torrent.log"
if [ -s $CONFIG_FILE ]; then
. $CONFIG_FILE
fi
test -f $DAEMON || exit 0
cd $TORRENTSDIR
set -e
case "$1" in
make)
echo "Making torrents: "
rm -f ${TORRENTSDIR}/*.torrent
for file in ${TORRENTSDIR}/*
do
base=`basename $file`
if [ "$base" = "." ]; then
continue;
fi
if [ "$base" = "$DFILE" ]; then
continue;
fi
echo $MAKEMETA $SERVER/announce $file
$MAKEMETA $SERVER/announce $file
done
#copy to be able to serve via WWW interface
cp ${TORRENTSDIR}/*.torrent $TORRENTSWWWDIR
chown ${TORRENTOWNER} ${TORRENTSWWWDIR}/*
echo "."
;;
start)
echo "Starting $DESC1: $DAEMON"
echo "Starting $DESC1: $DAEMON" >>${TORRENTLOG}
nohup $DAEMON $TRACKEROPTIONS >> ${TORRENTLOG} &
echo "Starting $DESC2: $LAUNCH"
nohup $LAUNCH $TORRENTSDIR $DOWNLOADOPTIONS >> ${TORRENTLOG} &
echo "."
;;
stop)
echo "Stopping $DESC1: $DAEMON"
pkill -f `basename $DAEMON`
echo "Stopping $DESC1: $LAUNCH"
pkill -f `basename $LAUNCH`
echo "."
;;
restart|force-reload)
echo "Stopping $DESC1: $DAEMON"
pkill -f `basename $DAEMON`
echo "Stopping $DESC1: $LAUNCH"
pkill -f `basename $LAUNCH`
echo "Starting $DESC1: $DAEMON"
nohup $DAEMON $TRACKEROPTIONS >> ${TORRENTLOG} &
echo "Starting $DESC2: $LAUNCH"
nohup $LAUNCH $TORRENTSDIR $DOWNLOADOPTIONS >> ${TORRENTLOG} &
echo "."
;;
*)
echo "Usage: $0 {start|stop|restart|force-reload|make}" >&2
exit 1
;;
esac
exit 0