-
IT café
ASUS WL-500G Premium
Új hozzászólás Aktív témák
-
Intruder2k5
MODERÁTOR
Több is szerepelt a leírásban, én másikat használok.
Használd Te is ezt.#!/bin/sh
CONFIG="/opt/etc/rtorrent.conf"
OPTIONS="-n -o import=${CONFIG}"
BASE="/opt/etc/samba/Share/torrent"
SRNAME=rtorrent
PATH=/opt/bin:/opt/sbin:/usr/bin:/sbin:/bin:/usr/sbin
NAME=rtorrent
EXEC=/opt/bin/$NAME
EXSC=/opt/bin/screen
checkcnfg() {
if ! [ -x $EXSC ]; then
logger -t $NAME "screen not found."
return 3
fi
exists=0
for i in `echo "$PATH" | tr ':' '\n'` ; do
if [ -f $i/$NAME ] ; then
exists=1
break
fi
done
if [ $exists -eq 0 ] ; then
logger -t $NAME "cannot find $NAME binary in PATH $PATH"
exit 3
fi
if ! [ -r "${CONFIG}" ] ; then
logger -t $NAME "cannot find readable config $CONFIG"
exit 3
fi
session=`getsession "$CONFIG"`
if ! [ -d "${session}" ] ; then
logger -t $NAME "cannot find readable session directory $session from config $CONFIG"
exit 3
fi
}
getsession() {
session=`awk '/^[[:space:]]*session[[:space:]]*=[[:space:]]*/{print($3)}' "$CONFIG"`
echo $session
}
getprange() {
ports=`awk '/^[[:space:]]*port_range[[:space:]]*=[[:space:]]*/{print($3)}' "$CONFIG" | sed "s/-/ /"`
echo $ports
}
getdhtport() {
dht_port=`awk '/^[[:space:]]*dht_port[[:space:]]*=[[:space:]]*/{print($3)}' "$CONFIG"`
echo $dht_port
}
fwopen() {
DHT_PORT=`getdhtport "$CONFIG"`
iptables -D INPUT -j DROP
PORTS=$(seq `getprange "$CONFIG"`)
for P in $PORTS; do
iptables -I INPUT -i "$1" -p tcp --syn --dport $P -j ACCEPT
done
if [ $DHT_PORT ]; then
iptables -I INPUT -i "$1" -p tcp --dport $DHT_PORT -j ACCEPT
fi
iptables -A INPUT -j DROP
}
fwclose() {
DHT_PORT=`getdhtport "$CONFIG"`
PORTS=$(seq `getprange "$CONFIG"`)
for P in $PORTS; do
iptables -D INPUT -i "$1" -p tcp --syn --dport $P -j ACCEPT
done
if [ $DHT_PORT ]; then
iptables -D INPUT -i "$1" -p tcp --dport $DHT_PORT -j ACCEPT
fi
}
d_start() {
[ -d "${BASE}" ] && cd "${BASE}"
fwopen
stty stop undef && stty start undef
$EXSC -ls | grep ".$SRNAME[[:space:]]" > /dev/null || $EXSC -dm -S $SRNAME
# without sleep screen may not be sometimes ready to start anything
sleep 3
$EXSC -S "$SRNAME" -X screen nice $EXEC $OPTIONS
for I in 0:3 ; do
if [ -n "`pidof $NAME`" ]; then
logger -t $NAME "Started PID: `pidof $NAME`"
break
fi
sleep 1
done
}
d_stop() {
fwclose
session=`getsession "$CONFIG"`
if ! [ -s ${session}/rtorrent.lock ] ; then
logger -t $NAME "Lock file failed: ${session}/rtorrent.lock"
return
fi
PID=`cat ${session}/rtorrent.lock | awk -F: '{print($2)}' | sed "s/[^0-9]//g"`
if ps -A | grep -sq $PID.*rtorrent ; then # make sure the pid doesn't belong to another process
kill -s INT $PID
logger -t $NAME "Stopped PID: $PID"
sleep 1
for I in 0:5 ; do
PSE=`ps -p $PID | grep "$PID"`
if [ -z "$PSE" ]; then
break
fi
sleep 1
done
fi
SCSTOP=`$EXSC -list | grep "\.$SRNAME" | awk '{print($1)}' | sed "s/\.$SRNAME//"'`
if [ -n "$SCSTOP" ]; then
kill $SCSTOP
logger -t $NAME "Stopped screen: $SCSTOP"
fi
}
checkcnfg
case "$1" in
start)
echo "Starting $NAME"
d_start
echo "."
;;
stop)
echo "Stopping $NAME"
d_stop
echo "."
;;
restart|force-reload)
echo "Restarting $NAME"
d_stop
sleep 1
d_start
echo "."
;;
*)
echo "Usage: $0 {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0Hirdetéseim: https://shorturl.at/L8E51
Új hozzászólás Aktív témák
● Olvasd el az összefoglalót!
- exHWSW - Értünk mindenhez IS
- Milyen GPS-t vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen légkondit a lakásba?
- Magisk
- iPad topik
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Canon MILC: EOS R és M topik
- Milyen billentyűzetet vegyek?
- Megérkezett a Razer DeathAdder V3 Hyperspeed verziója
- További aktív témák...
- Lenovo ThinkStation P720 Workstation: 2db Xeon proci + 128GB RAM + Quadro RTX4000 8GB + 512GB SSD
- Lenovo ThinkStation P720 Workstation: 2db Xeon proci + 64GB RAM + Quadro P4000 8GB + 512GB SSD + Win
- HP Pavilion x360 14-ek Convertible - ÚJ - 14" TOUCH notebook - i5-1235U, 16GB, 512SSD, Win11
- DJI AVATA Pro-View Combo drón (DJI goggles 2) - 2 akku, Motion Controller 2 - 1 év garancia
- LETISZTULT PC ÁTLAG FELADATOKRA - AMD R5 5600G - 16GB DDR4 RAM - 500GB NVME SSD