change to read from pipe prompts for Mac install script

This commit is contained in:
nikk gitanes
2023-02-02 19:48:46 +03:00
parent 3f573e024a
commit 3b7d90d628

View File

@@ -53,9 +53,9 @@ function uninstall() {
echo " Это действие удалит все данные TorrServer включая базу данных торрентов и настройки по указанному выше пути." echo " Это действие удалит все данные TorrServer включая базу данных торрентов и настройки по указанному выше пути."
echo "" echo ""
} }
[[ $lang == "en" ]] && printf 'Are you shure you want to delete TorrServer? (Yes/No) ' || printf 'Вы уверены что хотите удалить программу? (Да/Нет) ' [[ $lang == "en" ]] && read -p ' Are you shure you want to delete TorrServer? (Yes/No) ' answer_del </dev/tty || read -p ' Вы уверены что хотите удалить программу? (Да/Нет) ' answer_del </dev/tty
read answer read answer_del
if [ "$answer" != "${answer#[YyДд]}" ]; then if [ "$answer_del" != "${answer_del#[YyДд]}" ]; then
cleanup cleanup
sudo rm -rf $dirInstall sudo rm -rf $dirInstall
echo "" echo ""
@@ -92,25 +92,23 @@ function installTorrServer() {
echo "" echo ""
echo " Add autostart service for TorrServer $(getLatestRelease)" echo " Add autostart service for TorrServer $(getLatestRelease)"
echo "" echo ""
echo "System will ask your administrator password" echo " System can ask your admin account password"
echo "" echo ""
} || { } || {
echo "" echo ""
echo " Создаем сервис автозагрузки TorrServer $(getLatestRelease)" echo " Создаем сервис автозагрузки TorrServer $(getLatestRelease)"
echo "" echo ""
echo "Система запросит ваш пароль администратора" echo " Система может запросить ваш пароль администратора"
echo "" echo ""
} }
### ###
cleanup cleanup
### ###
[[ $lang == "en" ]] && printf 'Change TorrServer web port? (Yes/No) ' || printf 'Хотите изменить веб-порт для TorrServer? (Да/Нет) ' [[ $lang == "en" ]] && read -p ' Change TorrServer web port? (Yes/No) ' answer_cp </dev/tty || read -p ' Хотите изменить веб-порт для TorrServer? (Да/Нет) ' answer_cp </dev/tty
read answer if [ "$answer_cp" != "${answer_cp#[YyДд]}" ]; then
if [ "$answer" != "${answer#[YyДд]}" ]; then
echo "" echo ""
[[ $lang == "en" ]] && printf 'Enter port number: ' || printf 'Введите номер порта: ' [[ $lang == "en" ]] && read -p ' Enter port number: ' answer_port </dev/tty || read -p ' Введите номер порта: ' answer_port </dev/tty
read answer servicePort=$answer_port
servicePort=$answer
echo "" echo ""
else else
servicePort="8090" servicePort="8090"
@@ -147,9 +145,8 @@ function installTorrServer() {
</dict> </dict>
</plist> </plist>
EOF EOF
[[ $lang == "en" ]] && printf 'Enable HTTP Authorization? (Yes/No) ' || printf 'Включить авторизацию на сервере? (Да/Нет) ' [[ $lang == "en" ]] && read -p ' Enable HTTP Authorization? (Yes/No) ' answer_auth </dev/tty || read -p ' Включить авторизацию на сервере? (Да/Нет) ' answer_auth </dev/tty
read answer if [ "$answer_auth" != "${answer_auth#[YyДд]}" ]; then
if [ "$answer" != "${answer#[YyДд]}" ]; then
isAuth=1 isAuth=1
else else
isAuth=0 isAuth=0
@@ -159,13 +156,11 @@ EOF
[[ $lang == "en" ]] && echo " HTTP Auth Install choosen" || echo " Вы выбрали установку с авторизацией" [[ $lang == "en" ]] && echo " HTTP Auth Install choosen" || echo " Вы выбрали установку с авторизацией"
[[ ! -f "$dirInstall/accs.db" ]] && { [[ ! -f "$dirInstall/accs.db" ]] && {
echo "" echo ""
[[ $lang == "en" ]] && printf 'User: ' || printf 'Пользователь: ' [[ $lang == "en" ]] && read -p ' User: ' answer_user </dev/tty || read -p ' Пользователь: ' answer_user </dev/tty
read answer isAuthUser=$answer_user
isAuthUser=$answer
echo "" echo ""
[[ $lang == "en" ]] && printf 'Password: ' || printf 'Пароль: ' [[ $lang == "en" ]] && read -p ' Password: ' answer_pass </dev/tty || read -p ' Пароль: ' answer_pass </dev/tty
read answer isAuthPass=$answer_pass
isAuthPass=$answer
echo "" echo ""
[[ $lang == "en" ]] && echo " Added credentials: $isAuthUser:$isAuthPass" || echo " Устанавливаем логин и пароль: $isAuthUser:$isAuthPass" [[ $lang == "en" ]] && echo " Added credentials: $isAuthUser:$isAuthPass" || echo " Устанавливаем логин и пароль: $isAuthUser:$isAuthPass"
echo "" echo ""
@@ -178,9 +173,8 @@ EOF
else else
sed -i '' -e '/httpauth/d' $dirInstall/$serviceName.plist sed -i '' -e '/httpauth/d' $dirInstall/$serviceName.plist
fi fi
[[ $lang == "en" ]] && printf 'Add autostart for current user (1) or all users (2)? ' || printf 'Добавить автозагрузку для текушего пользователя (1) или всех (2)? ' [[ $lang == "en" ]] && read -p ' Add autostart for current user (1) or all users (2)? ' answer_cu </dev/tty || read -p ' Добавить автозагрузку для текушего пользователя (1) или всех (2)? ' answer_cu </dev/tty
read answer if [ "$answer_cu" != "${answer_cu#[1]}" ]; then
if [ "$answer" != "${answer#[1]}" ]; then
# user # user
sysPath="${HOME}/Library/LaunchAgents" sysPath="${HOME}/Library/LaunchAgents"
[[ ! -d "$sysPath" ]] && mkdir -p ${sysPath} [[ ! -d "$sysPath" ]] && mkdir -p ${sysPath}
@@ -202,7 +196,7 @@ EOF
echo "" echo ""
echo " TorrServer $(getLatestRelease) for ${architecture} Mac installed to ${dirInstall}" echo " TorrServer $(getLatestRelease) for ${architecture} Mac installed to ${dirInstall}"
echo "" echo ""
echo "You can open browser URL http://localhost:$servicePort for TorrServer setup and use" echo " You can now open browser URL http://localhost:$servicePort to access TorrServer GUI"
echo "" echo ""
} || { } || {
echo "" echo ""
@@ -210,7 +204,7 @@ EOF
echo "" echo ""
echo " TorrServer $(getLatestRelease) для ${architecture} Mac установлен в ${dirInstall}" echo " TorrServer $(getLatestRelease) для ${architecture} Mac установлен в ${dirInstall}"
echo "" echo ""
echo "Теперь вы можете открыть браузер по адресу http://localhost:$servicePort для его настройки и использования" echo " Теперь вы можете открыть браузер по адресу http://localhost:$servicePort для доступа к вебу TorrServer"
echo "" echo ""
} }
if [[ "$isAuth" == 1 && $isAuthUser > 0 ]]; then if [[ "$isAuth" == 1 && $isAuthUser > 0 ]]; then
@@ -227,8 +221,8 @@ while true; do
[[ $lang == "en" ]] && echo " TorrServer install, update and uninstall script for MacOS " || echo " Скрипт установки, обновления и удаления TorrServer для MacOS " [[ $lang == "en" ]] && echo " TorrServer install, update and uninstall script for MacOS " || echo " Скрипт установки, обновления и удаления TorrServer для MacOS "
echo "==============================================================" echo "=============================================================="
echo "" echo ""
[[ $lang == "en" ]] && read -p "Want to install or update TorrServer? (Yes or No). Enter \"Delete\" to Uninstall TorrServer. " yn || read -p "Хотите установить или обновить TorrServer? (Да|Нет). Для удаления введите «Удалить». " yn [[ $lang == "en" ]] && read -p " Do You want to install or update TorrServer? (Yes or No). Enter \"Delete\" to Uninstall TorrServer. " ydn </dev/tty || read -p " Хотите установить или обновить TorrServer? (Да|Нет). Для удаления введите «Удалить». " ydn </dev/tty
case $yn in case $ydn in
[YyДд]*) checkArch; installTorrServer; break ;; [YyДд]*) checkArch; installTorrServer; break ;;
[DdУу]*) uninstall; break ;; [DdУу]*) uninstall; break ;;
[NnНн]*) exit ;; [NnНн]*) exit ;;