Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Прошу дать критические замечания по скрипту установки transmission  (Прочитано 917 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Sharmankin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
#!/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 хороший (не жадный) посоветуете. Тоже буду крайне признателен
Господа!!! Кроме Нахрена и Зачем какие нибудь критические замечания будут? Например по упрощению и оптимизации?
« Последнее редактирование: 04 Март 2016, 20:39:30 от Sharmankin »

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 5660
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
Кто Вас надоумил на такое извращение с echo? Если не хотите использовать отдельный файл, то хотя бы оформите как <<\HEREDOC
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн ALiEN175

  • Старожил
  • *
  • Сообщений: 2201
  • X-9000SC
    • Просмотр профиля
apt-get install transmission не в моде?
Благодарности на Yandex 41001488642430. Cпасибо.

Оффлайн Sharmankin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Кто Вас надоумил на такое извращение с echo? Если не хотите использовать отдельный файл, то хотя бы оформите как <<\HEREDOC
Надоумило отсутствие опыта, потому и прошу критических замечаний. Менять большинство периметров в файле настроек мне показалось не практично. проще новый файл создать. К тому-же в файле по умолчанию некоторых настроек, например "watch-dir" просто не было. Потому решил создать его заново.

Пользователь решил продолжить мысль 04 Март 2016, 20:15:32:
apt-get install transmission не в моде?
И потом ковырять settings? переносить?  cmod'ить и т.д.? Или я Вас не правильно понял?
« Последнее редактирование: 04 Март 2016, 20:15:32 от Sharmankin »

Оффлайн ALiEN175

  • Старожил
  • *
  • Сообщений: 2201
  • X-9000SC
    • Просмотр профиля
Sharmankin,
просто установить трансмиссию и копирнуть файлы настроек не проще?
Благодарности на Yandex 41001488642430. Cпасибо.

Оффлайн Sharmankin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Sharmankin,
просто установить трансмиссию и копирнуть файлы настроек не проще?
Кому как. Вам может и проще. Я, просто, пока надр...чился (не знаю, может руки кривые) много нервово потрепал, туеву хучу инструкций наизучался. Здесь просто постарался сделать так, чтобы запустил и заработал. Ну типа не для гиков а для нубов ))

Оффлайн ALiEN175

  • Старожил
  • *
  • Сообщений: 2201
  • X-9000SC
    • Просмотр профиля
Sharmankin,
а настройки для какого провайдера?
у меня сейчас два провайдера - 2мбит adsl (отдача 700kbit) с внешним ип и провод - 50 mbit в обе стороны за NAT. Что делать?
Благодарности на Yandex 41001488642430. Cпасибо.

kononvaler

  • Гость
нафига создавать debian-user?
Цитировать
cmod'ить и т.д.?
т.е. нового пользователя проще создать? можно же переназначить на существующего, и настроийки в его-же хоум-дир. По мне так файл с неизменяемыми настройками можно создать рядом со скриптом и затем пнуть в нужное место, а потом дописать в конец переменные данные.

Оффлайн Sharmankin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Sharmankin,
а настройки для какого провайдера?
у меня сейчас два провайдера - 2мбит adsl (отдача 700kbit) с внешним ип и провод - 50 mbit в обе стороны за NAT. Что делать?
пробрасывать порты. Ты попробуй.

Пользователь решил продолжить мысль 04 Март 2016, 20:35:49:
нафига создавать debian-user?
Цитировать
cmod'ить и т.д.?
т.е. нового пользователя проще создать? можно же переназначить на существующего, и настроийки в его-же хоум-дир. По мне так файл с неизменяемыми настройками можно создать рядом со скриптом и затем пнуть в нужное место, а потом дописать в конец переменные данные.

Где я его создал? рута я создал?!!!!
« Последнее редактирование: 04 Март 2016, 20:35:49 от Sharmankin »

Оффлайн ALiEN175

  • Старожил
  • *
  • Сообщений: 2201
  • X-9000SC
    • Просмотр профиля
Sharmankin,
порты я не пробрасываю, и в настройки роутера больше одного раза не захожу - с этим вполне отлично справляется NAT-PMP.
Благодарности на Yandex 41001488642430. Cпасибо.

Оффлайн Sharmankin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Sharmankin,
порты я не пробрасываю, и в настройки роутера больше одного раза не захожу - с этим вполне отлично справляется NAT-PMP.
Супер. Поменяй одно ну или два значение прямо в скрипте

kononvaler

  • Гость
Где я его создал? рута я создал?!!!!
adduser $MyUser debian-transmission #зачем присваивать значение переменной, если она используется вроде всего один раз, просто любопытно?
какого рута еще? не, я про то что пользователя в группу чужеродную добавил, она с трансмишен с дебиана импортировалась и не нужна. демона, по моему мнению, лучше гонять от локального пользователя и его группы, чтоб файлы потом с нормальными правами создавал и т.п.
там в принципе три шагна простых.
« Последнее редактирование: 04 Март 2016, 20:50:45 от kononvaler »

Оффлайн ALiEN175

  • Старожил
  • *
  • Сообщений: 2201
  • X-9000SC
    • Просмотр профиля
Sharmankin,
cкрипт не при чем. я с тем же успехом могу поставить utorrent, qbittorrent, mediaget - и все будет работать, скачиваться и раздаваться без использования каких-то специфических настроек.

объясните эти строчку в вашем скрипте:
Цитировать
echo '    "speed-limit-down": 6000, ' >> $filepath/.settings/settings.json
echo '    "speed-limit-up": 6000, ' >> $filepath/.settings/settings.json

мне на первом провайдере нужно сделать так
echo '    "speed-limit-down": 2048, ' >> $filepath/.settings/settings.json
echo '    "speed-limit-up": 768, ' >> $filepath/.settings/settings.json

а на втором
echo '    "speed-limit-down": 25000, ' >> $filepath/.settings/settings.json
echo '    "speed-limit-up": 25000, ' >> $filepath/.settings/settings.json

в итоге, как вы говорите
Ну типа не для гиков а для нубов ))

для нубов проще циферки в окне настройки трансмиссии поменять

и да,
Debian != Ubuntu
Благодарности на Yandex 41001488642430. Cпасибо.

Оффлайн Sharmankin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Вот, за замечание спасибо. Это от старых страхов видимо осталось ))) Все одно, эта строка добавляет рута в группу демона. Уберу.

Пользователь решил продолжить мысль 04 Март 2016, 20:54:11:
Sharmankin,
cкрипт не при чем. я с тем же успехом могу поставить utorrent, qbittorrent, mediaget - и все будет работать, скачиваться и раздаваться без использования каких-то специфических настроек.

объясните эти строчку в вашем скрипте:
Цитировать
echo '    "speed-limit-down": 6000, ' >> $filepath/.settings/settings.json
echo '    "speed-limit-up": 6000, ' >> $filepath/.settings/settings.json

мне на первом провайдере нужно сделать так
echo '    "speed-limit-down": 2048, ' >> $filepath/.settings/settings.json
echo '    "speed-limit-up": 768, ' >> $filepath/.settings/settings.json

а на втором
echo '    "speed-limit-down": 25000, ' >> $filepath/.settings/settings.json
echo '    "speed-limit-up": 25000, ' >> $filepath/.settings/settings.json

в итоге, как вы говорите
Ну типа не для гиков а для нубов ))

для нубов проще циферки в окне настройки трансмиссии поменять

и да,
Debian != Ubuntu
Спасибо. Принято.
Настройки для Contabo есть такой провайдер который обещает VPS  с анлимит 1 Гбит. А на деле режет трафик до 10Мбит если средний превышает за неделю 60 Мбит.
Просьба растолковать моменты которые не будут работать в Debian&
« Последнее редактирование: 04 Март 2016, 20:54:11 от Sharmankin »

kononvaler

  • Гость
настройка демона для работы от локального пользователя http://kaktotak.org/wp/?p=55

 

Страница сгенерирована за 0.065 секунд. Запросов: 24.