#!/bin/bash
#apt-get update
MyUser=$USER
apt-get -y install software-properties-common curl --force-yes # !!! wondershaper только для contabo !!!
add-apt-repository -y ppa:transmissionbt/ppa
apt-get update
apt-get -y install transmission-daemon minissdpd libminiupnpc8 transmission-cli transmission-common
sleep 3s
service transmission-daemon stop
MYIPV6=$(wget -O - -q icanhazip.com)
MYIP=$(curl smart-ip.net/myip)
MYLOCIP=$(ifconfig | sed '/127.0.0.1/s/inet addr//' | grep 'inet addr' | awk '{print $2}' | sed -e 's/.*.://')
reallen=$(echo -n $MYIPV6 | wc -m)
if (("$reallen"<16))
then
MYIPV6="::"
fi
cd /var
MAINPATH=$(pwd)
mkdir transmission
cd transmission
mkdir .settings .incomplete completed .watch
filepath=$(pwd)
# Создаем файл настроек transmission
echo '{' >> $filepath/.settings/settings.json
echo ' "alt-speed-down": 1280, ' >> $filepath/.settings/settings.json
echo ' "alt-speed-enabled": false, ' >> $filepath/.settings/settings.json
echo ' "alt-speed-time-begin": 540, ' >> $filepath/.settings/settings.json
echo ' "alt-speed-time-day": 127, ' >> $filepath/.settings/settings.json
echo ' "alt-speed-time-enabled": false, ' >> $filepath/.settings/settings.json
echo ' "alt-speed-time-end": 1020, ' >> $filepath/.settings/settings.json
echo ' "alt-speed-up": 1280, ' >> $filepath/.settings/settings.json
echo ' "bind-address-ipv4": "'$MYIP'", ' >> $filepath/.settings/settings.json
echo ' "bind-address-ipv6": "'$MYIPV6'", ' >> $filepath/.settings/settings.json
echo ' "blocklist-enabled": false, ' >> $filepath/.settings/settings.json
echo ' "blocklist-url": "http://www.example.com/blocklist", ' >> $filepath/.settings/settings.json
echo ' "cache-size-mb": 50, ' >> $filepath/.settings/settings.json
echo ' "dht-enabled": true, ' >> $filepath/.settings/settings.json
echo ' "download-dir": "'$filepath'/completed", ' >> $filepath/.settings/settings.json
echo ' "download-limit": 6000, ' >> $filepath/.settings/settings.json
echo ' "download-limit-enabled": 1, ' >> $filepath/.settings/settings.json
echo ' "download-queue-enabled": false, ' >> $filepath/.settings/settings.json
echo ' "download-queue-size": 5, ' >> $filepath/.settings/settings.json
echo ' "encryption": 1, ' >> $filepath/.settings/settings.json
echo ' "idle-seeding-limit": 30, ' >> $filepath/.settings/settings.json
echo ' "idle-seeding-limit-enabled": false, ' >> $filepath/.settings/settings.json
echo ' "incomplete-dir": "'$filepath'/.incomplete", ' >> $filepath/.settings/settings.json
echo ' "incomplete-dir-enabled": true, ' >> $filepath/.settings/settings.json
echo ' "lpd-enabled": false, ' >> $filepath/.settings/settings.json
echo ' "max-peers-global": 1000, ' >> $filepath/.settings/settings.json
echo ' "message-level": 2, ' >> $filepath/.settings/settings.json
echo ' "peer-congestion-algorithm": "lp", ' >> $filepath/.settings/settings.json
echo ' "peer-id-ttl-hours": 2, ' >> $filepath/.settings/settings.json
echo ' "peer-limit-global": 1000, ' >> $filepath/.settings/settings.json
echo ' "peer-limit-per-torrent": 100, ' >> $filepath/.settings/settings.json
echo ' "peer-port": 51413, ' >> $filepath/.settings/settings.json
echo ' "peer-port-random-high": 65535, ' >> $filepath/.settings/settings.json
echo ' "peer-port-random-low": 49152, ' >> $filepath/.settings/settings.json
echo ' "peer-port-random-on-start": true, ' >> $filepath/.settings/settings.json
echo ' "peer-socket-tos": "throughput", ' >> $filepath/.settings/settings.json
echo ' "pex-enabled": true, ' >> $filepath/.settings/settings.json
echo ' "port-forwarding-enabled": false, ' >> $filepath/.settings/settings.json
echo ' "preallocation": 1, ' >> $filepath/.settings/settings.json
echo ' "prefetch-enabled": 1, ' >> $filepath/.settings/settings.json
echo ' "queue-stalled-enabled": true, ' >> $filepath/.settings/settings.json
echo ' "queue-stalled-minutes": 30, ' >> $filepath/.settings/settings.json
echo ' "ratio-limit": 2, ' >> $filepath/.settings/settings.json
echo ' "ratio-limit-enabled": false, ' >> $filepath/.settings/settings.json
echo ' "rename-partial-files": true, ' >> $filepath/.settings/settings.json
echo ' "rpc-authentication-required": true, ' >> $filepath/.settings/settings.json
echo ' "rpc-bind-address": "'$MYLOCIP'", ' >> $filepath/.settings/settings.json
echo ' "rpc-enabled": true, ' >> $filepath/.settings/settings.json
echo ' "rpc-password": "transmission", ' >> $filepath/.settings/settings.json
echo ' "rpc-port": 9091, ' >> $filepath/.settings/settings.json
echo ' "rpc-url": "/transmission/", ' >> $filepath/.settings/settings.json
echo ' "rpc-username": "transmission", ' >> $filepath/.settings/settings.json
echo ' "rpc-whitelist": "127.0.0.*,192.168.*.*,10.0.*.*", ' >> $filepath/.settings/settings.json
echo ' "rpc-whitelist-enabled": false, ' >> $filepath/.settings/settings.json
echo ' "scrape-paused-torrents-enabled": false, ' >> $filepath/.settings/settings.json
echo ' "script-torrent-done-enabled": false, ' >> $filepath/.settings/settings.json
echo ' "script-torrent-done-filename": "", ' >> $filepath/.settings/settings.json
echo ' "seed-queue-enabled": false, ' >> $filepath/.settings/settings.json
echo ' "seed-queue-size": 10, ' >> $filepath/.settings/settings.json
echo ' "speed-limit-down": 6000, ' >> $filepath/.settings/settings.json
echo ' "speed-limit-down-enabled": true, ' >> $filepath/.settings/settings.json
echo ' "speed-limit-up": 6000, ' >> $filepath/.settings/settings.json
echo ' "speed-limit-up-enabled": true, ' >> $filepath/.settings/settings.json
echo ' "start-added-torrents": true, ' >> $filepath/.settings/settings.json
echo ' "trash-original-torrent-files": false, ' >> $filepath/.settings/settings.json
echo ' "umask": 2, ' >> $filepath/.settings/settings.json
echo ' "upload-limit": 6000, ' >> $filepath/.settings/settings.json
echo ' "upload-limit-enabled": 1, ' >> $filepath/.settings/settings.json
echo ' "upload-slots-per-torrent": 100, ' >> $filepath/.settings/settings.json
echo ' "utp-enabled": true, ' >> $filepath/.settings/settings.json
echo ' "watch-dir-enabled": true, ' >> $filepath/.settings/settings.json
echo ' "watch-dir": "'$filepath'/.watch"' >> $filepath/.settings/settings.json
echo '}' >> $filepath/.settings/settings.json
chown debian-transmission:debian-transmission $filepath/.settings/settings.json
chown -R debian-transmission:debian-transmission $MAINPATH/transmission
chmod 600 $filepath/.settings/settings.json
adduser $MyUser debian-transmission
cd $filepath
cd .settings
SETTINGSPATH=$(pwd)
cd ../..
echo $SETTINGSPATH >> setpath.tmp
SSETTINGSPATH=$(sed 's/\//\\\//g' setpath.tmp)
rm setpath.tmp
sed -i "s/\/var\/lib\/transmission-daemon\/info/$SSETTINGSPATH/" /etc/default/transmission-daemon
echo "alias transstop='service transmission-daemon stop'" >> ~/.bash_aliases
echo "alias transstart='service transmission-daemon start'" >> ~/.bash_aliases
echo "alias transrestart='service transmission-daemon restart'" >> ~/.bash_aliases
echo "alias transstat='service transmission-daemon status'" >> ~/.bash_aliases
#!!!! только для contabo (Режет скорость канала) !!!!!
#wondershaper eth0 60000 60000
#-------------------------------------
# Установка пароля для Transmission
read -p "Set new password for Transmission : " -s newpassword
echo ""
echo ""
service transmission-daemon stop
oldpswd=$(grep 'password' /var/transmission/.settings/settings.json | awk '{print $2}')
touch settings.json
echo $oldpswd >> tmp.pas
toldpswd=$(sed 's/\//\\\//g' tmp.pas)
# echo $toldpswd
# echo "sed -i s/"$toldpswd"/\"$newpassword\",/ settings.json"
sed -i "/rpc-password/s/$toldpswd/\"$newpassword\",/" /var/transmission/.settings/settings.json
rm tmp.pas
service transmission-daemon start
sleep 2s
service transmission-daemon status
#tdversion=$(transmission-daemon -v)
cd $filepath
ls -la
echo "Trnasmission "$tdversion" is instaled & launched"
echo "Your Transmission WebUI available on http://"$MYLOCIP":9091"
exec bash
exit 0
Пользователь решил продолжить мысль [time]04 Март 2016, 20:17:12[/time]:
Ну и заодно, если хостинг для VPS хороший (не жадный) посоветуете. Тоже буду крайне признателен
Господа!!! Кроме Нахрена и Зачем какие нибудь критические замечания будут? Например по упрощению и оптимизации?